Skip to content
Tim van der Meij edited this page Jul 1, 2024 · 23 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. This page lists the characteristics of the bots and describe the tasks that they are able to perform.

Tasks

We use GitHub Actions for linting and running subset of the tests, but 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)
  • unittest (runs the unit 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 20.14.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 (outdated, but kept for reference)