From 5c0c86594cd088361ebade666685a754f0424828 Mon Sep 17 00:00:00 2001 From: Joshua Watt Date: Fri, 28 Aug 2026 08:30:42 -0600 Subject: [PATCH] Revert "Fold coverage generation into regular test run" Partial revert of commit 433f775d7a6259875f3b7e32ed2a470ed6df8ef9. This commit broke the release workflow by requiring extra permissions for the test job when releasing. --- .github/workflows/coverage-generate.yaml | 66 ++++++++++++++++++++++++ .github/workflows/coverage-report.yaml | 2 +- .github/workflows/test.yaml | 18 ------- 3 files changed, 67 insertions(+), 19 deletions(-) create mode 100644 .github/workflows/coverage-generate.yaml diff --git a/.github/workflows/coverage-generate.yaml b/.github/workflows/coverage-generate.yaml new file mode 100644 index 00000000..31e5ed6d --- /dev/null +++ b/.github/workflows/coverage-generate.yaml @@ -0,0 +1,66 @@ +--- +name: Generate coverage + +on: + pull_request: + push: + branches: + - "main" + +permissions: + contents: read + +jobs: + coverage: + name: Generate coverage report + runs-on: ubuntu-latest + permissions: + # Gives the action the necessary permissions for publishing new + # comments in pull requests. + pull-requests: write + # Gives the action the necessary permissions for pushing data to the + # python-coverage-comment-action branch, and for editing existing + # comments (to avoid publishing multiple comments in the same PR) + contents: write + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - name: Setup Python ${{ matrix.python-version }} + uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 # v4.7.1 + with: + python-version: "3.11" + - name: Setup Node + uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 + with: + node-version: 24 + - name: Install dependencies + run: | + sudo apt install -y build-essential cppcheck doxygen graphviz + npm install -g jsonld-cli + npm --prefix scripts ci + - name: Install Go static analysis tools + run: | + echo "$(go env GOPATH)/bin" >> "$GITHUB_PATH" + go install honnef.co/go/tools/cmd/staticcheck@latest + - name: Install Rust static analysis tools + run: | + rustup component add clippy + - name: Install package + run: | + pip install -e .[dev] + - name: Generate coverage report + run: | + pytest -v + - name: Coverage comment + id: coverage_comment + uses: py-cov-action/python-coverage-comment-action@2b84cfb222691291ba358a586c13606f0a9c172c # v3 + with: + GITHUB_TOKEN: ${{ github.token }} + - name: Store Pull Request comment to be posted + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 + if: steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + with: + # If you use a different name, update COMMENT_ARTIFACT_NAME accordingly + name: python-coverage-comment-action + # If you use a different name, update COMMENT_FILENAME accordingly + path: python-coverage-comment-action.txt + diff --git a/.github/workflows/coverage-report.yaml b/.github/workflows/coverage-report.yaml index c4817bd5..4e1f2294 100644 --- a/.github/workflows/coverage-report.yaml +++ b/.github/workflows/coverage-report.yaml @@ -3,7 +3,7 @@ name: Post coverage comment on: workflow_run: - workflows: ["Test shacl2code"] + workflows: ["Generate coverage"] types: - completed diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 8790adbd..309b6142 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -24,9 +24,6 @@ permissions: jobs: build: runs-on: ${{ matrix.os }} - permissions: - contents: write # Needed by the coverage-comment step below - pull-requests: write # Needed by the coverage-comment step below strategy: matrix: os: [ubuntu-latest] @@ -83,21 +80,6 @@ jobs: - name: Run tests run: | pytest -v - - name: Coverage comment - id: coverage_comment - if: >- - matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11' && - (github.event_name == 'pull_request' || - (github.event_name == 'push' && github.ref == 'refs/heads/main')) - uses: py-cov-action/python-coverage-comment-action@2b84cfb222691291ba358a586c13606f0a9c172c # v3 - with: - GITHUB_TOKEN: ${{ github.token }} - - name: Store Pull Request comment to be posted - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - if: steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' - with: - name: python-coverage-comment-action - path: python-coverage-comment-action.txt lint: runs-on: ubuntu-latest steps: