name: test on: push: branches: - main pull_request: jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: astral-sh/setup-uv@v5 with: enable-cache: true - run: uvx hatch test -acp if: ${{ always() }} lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 - uses: astral-sh/setup-uv@v5 with: enable-cache: true - name: check formatting run: uvx hatch fmt --check -f - name: check linting run: uvx hatch fmt --check -l --output-format=github - name: check uv.lock is up-to-date run: uv lock --check - name: check requirements.txt is up-to-date run: | uv export >requirements.txt git diff --exit-code requirements.txt