Skip to content
Tim van der Meij edited this page May 29, 2023 · 18 revisions

PDF.js maintains two bots that perform various tasks for pull requests. The bots are controlled by the owners and selected collaborators of the project. We list the characteristics of both bots and describe the tasks that they are able to perform.

Tasks

While we use GitHub Actions for linting and running (a selection of) unit tests, we use the bots for all other tasks like generating a preview for a pull request and running all tests. The available bot commands are:

  • preview (generates a preview build for the pull request)
  • lint (runs the linting tool)
  • unittest (runs the unit tests)
  • fonttest (runs the font tests)
  • integrationtest (runs the integration tests)
  • browsertest (runs the reference tests)
  • test (runs all tests, i.e., the unit tests, font tests, integration tests and reference tests)
  • xfatest (runs all tests, i.e., the unit tests, font tests, integration tests and reference tests, but limits the reference tests to only XFA documents for faster XFA development)
  • makeref (generates new reference images for the reference tests, for instance when a pull request changes the rendering of some PDFs)

Characteristics

PDF.js uses a Linux and a Windows bot that both run Node.js 18.16.0 LTS. The Linux bot has a few additional font packages to improve font rendering:

  • latex-cjk-all
  • xfonts-wqy
  • fonts-arphic-ukai
  • fonts-arphic-uming
  • fonts-ipafont-mincho
  • fonts-ipafont-gothic
  • fonts-unfonts-core

Setup

Windows