CI #1983
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| tags: ["v*"] | |
| pull_request: | |
| branches: [main] | |
| schedule: | |
| - cron: "15 22 * * *" | |
| workflow_dispatch: {} # support manual runs | |
| permissions: | |
| contents: read | |
| jobs: | |
| ci: | |
| name: CI | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] | |
| resolution: ["highest", "lowest-direct"] | |
| env: | |
| # Shared env variables for all the tests | |
| UV_RESOLUTION: "${{ matrix.resolution }}" | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: stable | |
| # We use this to install `buf`, and the `buf` version is controlled by the Makefile. | |
| cache-dependency-path: Makefile | |
| - uses: astral-sh/setup-uv@v7 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - run: make install | |
| - run: make lint | |
| - run: make format | |
| # When running with matrix.resolution == highest, we expect uv.lock to change, but we don't want that file checked in. | |
| - if: matrix.resolution == 'lowest-direct' | |
| run: make checkgenerate | |
| env: | |
| BUF_TOKEN: ${{ secrets.BUF_TOKEN }} | |
| - run: make test | |
| - run: make conformance |