Fix workflow permission issues by merging jobs and eliminating artifact transfers #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The current GitHub Actions workflow has permission issues because executable files lose their
+xpermissions when uploaded and downloaded as artifacts between jobs. This causes build failures when shell scripts can't be executed in thebuildjob after being downloaded from theprepare-sourcesjob artifacts.The problematic structure was:
setupjob →prepare-sourcesjob (uploads artifacts) →buildjob (downloads artifacts, loses permissions) →packagejob →releasejobSolution
Restructured the workflow to eliminate artifact transfers between the core build steps by merging
prepare-sources,build, andpackageinto a single unifiedbuildjob. This preserves file permissions throughout the entire process.Key Changes
🔧 Job Structure:
prepare-sources,build,package) into 1 unifiedbuildjobbuildjob timeout from 60 to 90 minutes to accommodate the additional stepsreleasejob to depend directly onbuildinstead ofpackage🚫 Eliminated Artifact Transfers:
upload-artifact/download-artifactbetween build pipeline stepsbuildjob and download inreleasejob⚙️ Configuration Improvements:
CONFIG_ARM64_VDSO=yto kernel config to fixvdso_offset_sigtrampbuild errorsfind . -type f -name "*.sh" -exec chmod +x {} \; 2>/dev/null || trueCONFIG_LOCALVERSIONfor version suffix instead ofperl setlocalversion📁 Repository Cleanup:
.gitignoreto prevent committing build artifacts and dependenciesNew Workflow Structure
The
buildjob now handles the complete pipeline:Preserved Functionality
All existing functionality is maintained:
Testing
The restructured workflow maintains the same build outputs and functionality while eliminating the permission issues that were causing build failures. The unified job approach is more efficient and reliable than the previous multi-job artifact transfer approach.
Fixes permission issues in kernel build pipeline while preserving all existing functionality and improving build reliability.
Original prompt
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.