First iteration #50
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: Testing | |
| # yamllint disable-line rule:truthy | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| env: | |
| DEFAULT_PYTHON: "3.12" | |
| jobs: | |
| pytest: | |
| name: Python ${{ matrix.python }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python: ["3.12"] | |
| steps: | |
| - name: ⤵️ Check out code from GitHub | |
| uses: actions/checkout@v4.1.1 | |
| - name: 🏗 Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| - name: 🏗 Set up Python ${{ matrix.python }} | |
| id: python | |
| uses: actions/setup-python@v5.0.0 | |
| with: | |
| python-version: ${{ matrix.python }} | |
| - name: 🏗 Install dependencies | |
| run: uv sync --extra dev | |
| - name: 🚀 Run pytest | |
| run: uv run pytest --cov python-melcloud tests | |
| - name: ⬆️ Upload coverage artifact | |
| uses: actions/upload-artifact@v4.3.1 | |
| with: | |
| name: coverage-${{ matrix.python }} | |
| path: .coverage | |
| coverage: | |
| runs-on: ubuntu-latest | |
| name: Code coverage | |
| needs: pytest | |
| steps: | |
| - name: ⤵️ Check out code from GitHub | |
| uses: actions/checkout@v4.1.1 | |
| with: | |
| fetch-depth: 0 | |
| - name: ⬇️ Download coverage data | |
| uses: actions/download-artifact@v4.1.4 | |
| - name: 🏗 Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| - name: 🏗 Set up Python ${{ env.DEFAULT_PYTHON }} | |
| id: python | |
| uses: actions/setup-python@v5.0.0 | |
| with: | |
| python-version: ${{ env.DEFAULT_PYTHON }} | |
| - name: 🏗 Install dependencies | |
| run: uv sync --extra dev | |
| - name: 🚀 Process coverage results | |
| run: | | |
| uv run coverage combine coverage*/.coverage* | |
| uv run coverage xml -i | |
| - name: 🚀 Upload coverage report | |
| uses: codecov/codecov-action@v4.1.0 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| slug: erwindouna/python-melcloud | |
| - name: SonarCloud Scan | |
| if: github.event.pull_request.head.repo.fork == false | |
| uses: SonarSource/sonarcloud-github-action@v2.1.1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |