Bump dependencies #451
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: Pre-build Checks & Tests | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number }} | |
| cancel-in-progress: true | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| branches: [main, v/*, rc/*] | |
| env: | |
| UV_FROZEN: 1 | |
| jobs: | |
| unit-tests: | |
| name: Unit Tests | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] | |
| steps: | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| version: "latest" | |
| python-version: ${{ matrix.python }} | |
| activate-environment: true | |
| enable-cache: true | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python }} | |
| allow-prereleases: true | |
| - uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install Dependencies | |
| run: | | |
| uv sync --no-group docs | |
| - name: Execute Tests | |
| run: uv run task tests | |
| - name: Rename file | |
| env: | |
| VER: ${{ matrix.python }} | |
| run: mv ./coverage.xml ./coverage-$VER.xml | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-${{ matrix.python }}.xml | |
| path: coverage-${{ matrix.python }}.xml | |
| - name: Coveralls | |
| uses: coverallsapp/github-action@v2.3.0 | |
| with: | |
| coverage-reporter-version: v0.6.14 | |
| file: coverage-${{ matrix.python }}.xml | |
| lint: | |
| name: Code Lint | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] | |
| steps: | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| version: "latest" | |
| python-version: ${{ matrix.python }} | |
| activate-environment: true | |
| enable-cache: true | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python }} | |
| allow-prereleases: true | |
| - uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install Dependencies | |
| run: | | |
| uv sync --no-group docs | |
| - name: Run ruff | |
| run: uv run task ruff-lint | |
| - name: Run mypy | |
| run: uv run task mypy-lint | |
| sonar: | |
| name: SonarCloud | |
| runs-on: ubuntu-latest | |
| needs: unit-tests | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis | |
| - uses: actions/download-artifact@v5 | |
| with: | |
| name: coverage-3.14.xml | |
| - name: Rename file | |
| run: mv ./coverage{-3.14,}.xml | |
| - name: SonarCloud Scan | |
| uses: SonarSource/sonarqube-scan-action@v7.0.0 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
| integration-tests: | |
| name: Integration tests | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] | |
| services: | |
| redis: | |
| image: redis | |
| options: >- | |
| --health-cmd "redis-cli ping" | |
| --health-interval 10s | |
| --health-timeout 5s | |
| --health-retries 5 | |
| ports: | |
| - 6379:6379 | |
| steps: | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| version: "latest" | |
| python-version: ${{ matrix.python }} | |
| activate-environment: true | |
| enable-cache: true | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python }} | |
| allow-prereleases: true | |
| - uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install Dependencies | |
| run: | | |
| uv sync --no-group docs | |
| - name: Execute Tests | |
| run: uv run task integration-tests | |
| check: | |
| name: Check CI Green | |
| if: always() | |
| needs: | |
| - sonar | |
| - lint | |
| - unit-tests | |
| - integration-tests | |
| runs-on: Ubuntu-latest | |
| steps: | |
| - uses: re-actors/alls-green@v1.2.2 | |
| with: | |
| jobs: ${{ toJSON(needs) }} |