CI #1720
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: | |
| test: | |
| name: Unit tests | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] | |
| resolution: ["highest", "lowest-direct"] | |
| env: | |
| # Shared env variables for all the tests | |
| UV_RESOLUTION: '${{ matrix.resolution }}' | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 1 | |
| - name: Install Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: stable | |
| cache: false | |
| - uses: astral-sh/setup-uv@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: make install | |
| - name: Execute tests | |
| run: make test | |
| - name: Lint | |
| run: make lint | |
| - name: Format | |
| 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 == 'higest' | |
| name: Check generated | |
| run: make checkgenerate | |
| env: | |
| BUF_TOKEN: ${{ secrets.BUF_TOKEN }} |