KEMBAR78
Chore: fix helm and NFR tests in the pipeline by ciarams87 · Pull Request #4096 · nginx/nginx-gateway-fabric · GitHub
Skip to content

Conversation

@ciarams87
Copy link
Contributor

@ciarams87 ciarams87 commented Oct 17, 2025

Proposed changes

Problem: The cert-generator job was failing with:

Error: failed to create containerd task: OCI runtime create failed: runc create failed: 
unable to start container process: exec: "/usr/bin/gateway": permission denied

because GitHub Actions' actions/download-artifact does not preserve file permissions. When the binary artifacts are uploaded and then downloaded, they lose the execute bit.
The Flow

Binary job → goreleaser builds binaries with 755 permissions → uploads to artifacts
Artifacts → stored without preserving execute permissions
Helm test/ NFR job → downloads artifacts → binaries now have 644 permissions (no execute)
Docker build → COPY dist/... preserves the 644 permissions
Container runtime → tries to execute /usr/bin/gateway → permission denied

Solution: Added --chmod=0755 to all COPY commands in build/Dockerfile that copy the gateway binary
This ensures the binary always has execute permissions in the final image, regardless of the source file permissions.

Also fixed a separate issue that prevented make build TARGET=container from working (wrong module path) and fixed the conditions for the nightly schedule to use the correct runner

Testing: https://github.com/nginx/nginx-gateway-fabric/actions/runs/18586202163/job/52991407973?pr=4096

Please focus on (optional): If you any specific areas where you would like reviewers to focus their attention or provide
specific feedback, add them here.

Closes #ISSUE

Checklist

Before creating a PR, run through this checklist and mark each as complete.

  • I have read the CONTRIBUTING doc
  • I have added tests that prove my fix is effective or that my feature works
  • I have checked that all unit tests pass after adding my changes
  • I have updated necessary documentation
  • I have rebased my branch onto main
  • I will ensure my PR is targeting the main branch and pulling from my branch from my own fork

Release notes

If this PR introduces a change that affects users and needs to be mentioned in the release notes,
please add a brief note that summarizes the change.


@ciarams87 ciarams87 requested a review from a team as a code owner October 17, 2025 07:50
@github-actions github-actions bot added the chore Pull requests for routine tasks label Oct 17, 2025
@codecov
Copy link

codecov bot commented Oct 17, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.69%. Comparing base (7374a97) to head (ed3a168).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4096      +/-   ##
==========================================
- Coverage   86.71%   86.69%   -0.02%     
==========================================
  Files         128      128              
  Lines       16758    16758              
  Branches       62       62              
==========================================
- Hits        14531    14529       -2     
- Misses       2042     2043       +1     
- Partials      185      186       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@ciarams87 ciarams87 force-pushed the chore/fix-pipeline-helm branch from 4e76eee to b616070 Compare October 17, 2025 08:08
@ciarams87 ciarams87 merged commit d1300f7 into main Oct 17, 2025
61 checks passed
@ciarams87 ciarams87 deleted the chore/fix-pipeline-helm branch October 17, 2025 08:55
@github-project-automation github-project-automation bot moved this from 🆕 New to ✅ Done in NGINX Gateway Fabric Oct 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Pull requests for routine tasks

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants