name: CI on: push: branches: [main] pull_request: branches: [main] concurrency: group: ${{ gitea.workflow }}-${{ gitea.ref }} cancel-in-progress: true jobs: check: name: Check runs-on: docker steps: - uses: actions/checkout@v4 - name: Install uv run: curl -LsSf https://astral.sh/uv/install.sh | sh - name: Install Python dependencies run: uv sync - name: Install finder (scraper) dependencies working-directory: finder run: uv sync - uses: actions/setup-node@v4 with: node-version: 22 - name: Install frontend dependencies working-directory: frontend # Chrome isn't needed for these checks (lint/typecheck/vitest-jsdom), so # skip puppeteer's postinstall browser download: it's slow and a flaky # point of failure. The prerender build installs Chrome explicitly. env: PUPPETEER_SKIP_DOWNLOAD: "true" run: npm ci - name: Install screenshot service dependencies working-directory: screenshot run: npm ci - uses: https://github.com/dtolnay/rust-toolchain@stable with: components: clippy, rustfmt - name: Install cargo-machete run: cargo install cargo-machete - name: Run checks run: ./check.sh