name: Code Coverage on: push: branches: - 'main' pull_request: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: test: name: Test runs-on: ${{ matrix.os }} strategy: matrix: # python-version: ['3.10', '3.11', '3.12', '3.13'] python-version: ['3.10', '3.11', '3.12'] os: [ubuntu-latest, windows-latest, macos-latest] fail-fast: false env: OS: ${{ matrix.os }} PYTHON_VERSION: ${{ matrix.python-version }} steps: - name: Checkout uses: actions/checkout@v4 - name: Setup uv uses: astral-sh/setup-uv@v4 with: enable-cache: true cache-suffix: ${{ env.PYTHON_VERSION }}_${{ env.OS }} - name: Install Dependencies run: | uv python pin ${{ env.PYTHON_VERSION }} uv sync --group test - name: Run tests run: uv run pytest --cov=nonebot_plugin_tetris_stats --cov-report xml - name: Upload coverage to Codecov uses: codecov/codecov-action@v5 with: token: ${{ secrets.CODECOV_TOKEN }} env_vars: OS,PYTHON_VERSION check: if: always() needs: test runs-on: ubuntu-latest steps: - name: Decide whether the needed jobs succeeded or failed uses: re-actors/alls-green@223e4bb7a751b91f43eda76992bcfbf23b8b0302 with: jobs: ${{ toJSON(needs) }}