Merge fix/cicd-release-workflows - #11
Merged
Merged
Conversation
Both jobs in release_and_packages.yml were pinned to runs-on: ubuntu-22.04, a GitHub-hosted image that has been retired. A job pinned to a withdrawn label never gets a runner. Both now use ubuntu-latest. The compiler is still JDK 8 through setup-java, so the host image does not constrain the build. Two actions ran on the Node 16 action runtime, which current runners refuse to execute: actions/setup-java@v3 and softprops/action-gh-release@v1, now v4 and v2. The setup-java step sits inside Compile Native Binaries & ZIP Drop-in, which is where the failure was reported. FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 is removed. The runner does not read it and it never had any effect, since an action's runtime comes from its own action.yml. Someone had already hit the Node 16 wall and reached for a variable that does not exist. Bumping the actions is the actual fix, and leaving a placebo in place invites the next reader to trust it. The GHCR job probed for a Dockerfile and set a flag that gated every step below it. With no Dockerfile the job skipped everything and reported success, so a workflow named Publish GitHub Container Package could publish nothing and still go green. A missing Dockerfile is now an error. Added setup-buildx-action before build-push-action plus GHA layer caching, because depending on a preinstalled tool makes the job depend on runner image contents rather than on anything the workflow declares. Permissions were contents: write and packages: write for every job at the top level. The top level is now contents: read, the Maven job adds contents: write for the release upload, and the GHCR job adds packages: write. The ZIP step ended every copy with || true and then zipped whatever survived. If the build layout changed, every copy would fail silently and the step would either ship an empty archive or die on zip's own nothing to do with no explanation. target/dist, target/lib, configs and scripts are now required and fail with an error annotation, while launch_*.sh stays optional and says so. mvn gained -B and -DskipTests, the latter because this repository has no src/test. No application source changed. Verified by parsing the workflow, running bash -n over all three shell blocks, and executing the packaging script against two layouts: missing build output exits 1 with the annotation, and a complete layout populates release-pkg correctly. The zip call, the Maven build and the container build are not verified, because zip, mvn, java and docker are all absent from this workstation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Automated cleanup merge