Skip to content

Task/#458 move code coverage to its own workflow#459

Merged
StuartFerguson merged 2 commits intomainfrom
task/#458-move-code-coverage-to-its-own-workflow
Feb 27, 2026
Merged

Task/#458 move code coverage to its own workflow#459
StuartFerguson merged 2 commits intomainfrom
task/#458-move-code-coverage-to-its-own-workflow

Conversation

@StuartFerguson
Copy link
Copy Markdown
Member

No description provided.

@StuartFerguson StuartFerguson linked an issue Feb 27, 2026 that may be closed by this pull request
Comment on lines +12 to +51
name: "Code Coverage"
env:
ASPNETCORE_ENVIRONMENT: "Production"

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2.3.4

- name: Restore Nuget Packages
run: dotnet restore EstateReportingAPI.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }}

- name: Build Code
run: dotnet build EstateReportingAPI.sln --configuration Release

- name: Run Unit Tests
run: |
echo "ASPNETCORE_ENVIRONMENT are > ${ASPNETCORE_ENVIRONMENT}"
dotnet test "EstateReportingAPI.Tests\EstateReportingAPI.Tests.csproj" /p:CollectCoverage=true /p:Exclude="[xunit*]*" /p:ExcludeByAttribute="Obsolete" /p:ExcludeByAttribute="GeneratedCodeAttribute" /p:ExcludeByAttribute="CompilerGeneratedAttribute" /p:ExcludeByAttribute="ExcludeFromCodeCoverageAttribute" /p:CoverletOutput="../lcov1.info" /maxcpucount:1 /p:CoverletOutputFormat="lcov"

- name: Build Docker Image
run: docker build . --file EstateReportingAPI/Dockerfile --tag estatereportingapi:latest

- name: Run Integration Tests
run: |
dotnet test "EstateReportingAPI.IntegrationTests\EstateReportingAPI.IntegrationTests.csproj" /p:CollectCoverage=true /p:Exclude="[xunit*]*" /p:ExcludeByAttribute="Obsolete" /p:ExcludeByAttribute="GeneratedCodeAttribute" /p:ExcludeByAttribute="CompilerGeneratedAttribute" /p:ExcludeByAttribute="ExcludeFromCodeCoverageAttribute" /p:CoverletOutput="../lcov2.info" /maxcpucount:1 /p:CoverletOutputFormat="lcov"

- name: Install LCOV merger
run: npm install -g lcov-result-merger

- name: Merge LCOV reports
run: |
mkdir -p coverage
lcov-result-merger "*.info" > lcov.info

- name: Upload merged coverage to Codacy
uses: codacy/codacy-coverage-reporter-action@v1
with:
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
coverage-reports: ./lcov.info

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 2 months ago

To fix the problem, explicitly define minimal GITHUB_TOKEN permissions in the workflow. Since this job only checks out the code and uploads coverage to Codacy (an external service) without modifying anything in the GitHub repository (no pushes, PR changes, issue edits, etc.), it only needs read access to repository contents. The best fix is to add a permissions block at the workflow root level (so it applies to all jobs) with contents: read. This documents the required permissions and prevents unintended write access if the org/repo default is broad.

Concretely, in .github/workflows/codecoverage.yml, insert:

permissions:
  contents: read

between the on: block (ending at line 8) and the jobs: block (line 10). No other steps or functionality need to change, and no new imports or methods are required.

Suggested changeset 1
.github/workflows/codecoverage.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/codecoverage.yml b/.github/workflows/codecoverage.yml
--- a/.github/workflows/codecoverage.yml
+++ b/.github/workflows/codecoverage.yml
@@ -7,6 +7,9 @@
       - main
   workflow_dispatch:
 
+permissions:
+  contents: read
+
 jobs:  
   codecoverage:
     name: "Code Coverage"
EOF
@@ -7,6 +7,9 @@
- main
workflow_dispatch:

permissions:
contents: read

jobs:
codecoverage:
name: "Code Coverage"
Copilot is powered by AI and may make mistakes. Always verify output.
@StuartFerguson StuartFerguson merged commit 56140bf into main Feb 27, 2026
8 checks passed
@github-actions github-actions Bot deleted the task/#458-move-code-coverage-to-its-own-workflow branch April 29, 2026 03:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move Code Coverage to its own workflow

2 participants