Fix GitHub Action job skipping by using always() conditions instead of simple success checks #223
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.
This PR resolves the persistent issue where GitHub Actions jobs were being skipped after the "Create GitHub Prerelease" step, causing the entire release pipeline to halt.
Problem
In workflow run #17517970298 and previous attempts, the following pattern was observed:
Root Cause
The
validate_prerelease
andvalidate_apt
jobs had dependency declarations but were missing the proper conditional logic. Based on feedback, simpleif: needs.job_name.result == 'success'
conditions were tried previously and didn't resolve the issue.Solution
Instead of simple success conditions, implemented the
if: always() && needs.job_name.result == 'success'
pattern that is successfully used by other jobs in the same workflow:The same pattern was applied to the
validate_apt
job. This follows the exact pattern used by thebuild_packages
andcreate_prerelease
jobs which run successfully.Why This Works
The
always()
function forces GitHub Actions to evaluate the job condition regardless of previous job status, then the additional success check ensures it only runs when dependencies succeed. This is different from simple success conditions which may be skipped in certain GitHub Actions scenarios.Validation
test-always-condition-fix.sh
) to validate the fixExpected Result
When the workflow runs again, the complete pipeline will execute:
This resolves the job skipping issue that has been preventing successful releases.
Fixes #222.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.