diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..640d279 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,68 @@ +name: Tests +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + tests: + strategy: + matrix: + # add any other Typst versions that your package should support + typst-version: ["0.11"] + # the docs don't need to build with all versions supported by the package; + # the latest one is enough + include: + - typst-version: "0.11" + doc: 1 + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Probe runner package cache + uses: awalsh128/cache-apt-pkgs-action@v1 + with: + packages: imagemagick cargo + version: 1.0 + + - name: Install oxipng from crates.io + uses: baptiste0928/cargo-install@v3 + with: + crate: oxipng + + - name: Install just from crates.io + uses: baptiste0928/cargo-install@v3 + with: + crate: just + + - name: Install typst-test from github + uses: baptiste0928/cargo-install@v3 + with: + crate: typst-test + git: https://github.com/tingerrr/typst-test.git + tag: ci-semi-stable + + - name: Setup typst + uses: typst-community/setup-typst@v3 + with: + typst-version: ${{ matrix.typst-version }} + + - name: Run test suite + run: just test + + - name: Archive diffs + uses: actions/upload-artifact@v4 + if: always() + with: + name: diffs + path: | + tests/**/diff/*.png + tests/**/out/*.png + tests/**/ref/*.png + retention-days: 5 + + - name: Build docs + if: ${{ matrix.doc }} + run: just doc \ No newline at end of file