Drop Intel macOS from release matrix; add concurrency + build timeout #7
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: Tests | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12", "3.13"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies (locked) | |
| run: uv sync --frozen --extra dev | |
| - name: Run tests | |
| run: uv run pytest | |
| # Catch breakage against the lowest dependency versions our ranges allow, | |
| # which the pinned lockfile would otherwise hide. | |
| test-lowest: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| python-version: "3.10" | |
| - name: Install lowest allowed dependencies | |
| run: uv sync --resolution lowest-direct --extra dev | |
| - name: Run tests | |
| run: uv run pytest | |
| # Smoke-test the standalone binary build so scripts/build_binary.sh can't | |
| # silently break between releases. The release workflow builds the full | |
| # cross-platform matrix; here we just prove the x86_64 Linux build works. | |
| build-binary: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Build standalone db binary | |
| run: ./scripts/build_binary.sh | |
| - name: Verify checksum | |
| working-directory: dist | |
| run: sha256sum -c db-linux-x86_64.sha256 | |
| - name: Smoke-test binary | |
| run: ./dist/db-linux-x86_64 --version |