diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..998b1cd --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,48 @@ +# Managed by sh1pt Actions Fleet +# pack: node-pnpm-ci@1.2.0 +# install: sh1pt-actions-store +# hash: sha256:4c5b9b88dee99de5f463194b4784ab267b400789a6d0f1aaf5b5dede9236376f +name: CI + +on: + push: + branches: [main, master] + pull_request: + +permissions: + contents: read + +concurrency: + group: ci-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - uses: actions/checkout@v4 + + # The test suite shells out to ffmpeg/ffprobe and ImageMagick's convert; + # install them so the integration tests can run on the runner. + - name: Install FFmpeg and ImageMagick + run: sudo apt-get update && sudo apt-get install -y ffmpeg imagemagick + + # pnpm version is read from the "packageManager" field in package.json. + # Do not pin a version here — it conflicts with packageManager and fails + # with ERR_PNPM_BAD_PM_VERSION. + - uses: pnpm/action-setup@v4 + + - uses: actions/setup-node@v4 + with: + node-version: '22' + cache: pnpm + + - run: pnpm install --frozen-lockfile + + # typecheck / test default to `pnpm run --if-present