name: Code Coverage on: push: branches: - main pull_request: jobs: build-frontend: name: Build Frontend runs-on: ubuntu-latest concurrency: group: build-frontend-${{ github.ref }} cancel-in-progress: true steps: - uses: actions/checkout@v3 - name: Build Frontend uses: ./.github/actions/build-frontend - name: Upload dist uses: actions/upload-artifact@v3 with: name: frontend path: ./admin-frontend/build/ test: name: Test Coverage runs-on: ${{ matrix.os }} needs: build-frontend concurrency: group: test-coverage-${{ github.ref }}-${{ matrix.os }}-${{ matrix.python-version }} cancel-in-progress: true strategy: matrix: python-version: ["3.9", "3.10"] os: [ubuntu-latest, windows-latest, macos-latest] fail-fast: false env: OS: ${{ matrix.os }} PYTHON_VERSION: ${{ matrix.python-version }} steps: - uses: actions/checkout@v3 - name: Download frontend files uses: actions/download-artifact@v2 with: name: frontend path: ./src/plugins/nonebot_bison/admin_page/dist - name: Setup Python environment uses: he0119/setup-python@v0.1.0 with: python-version: ${{ matrix.python-version }} - name: Install prerequisites run: poetry install - name: Run Pytest run: poetry run pytest --cov-report xml --cov=./src/plugins/nonebot_bison -k 'not compare and not render' - name: Upload coverage report uses: codecov/codecov-action@v3 with: env_vars: OS,PYTHON_VERSION