fix: port wave CI release flow with non-enterprise jibRepo fix SEC-1395#1046
Conversation
…ev snapshot push SEC-1395
|
Claude finished @ShahzebMahmood's task —— View job PR Review AnalysisTodo List:
Code AnalysisFiles Modified:
Review Findings✅ Critical Bug Fix - JIB Tagging (
|
There was a problem hiding this comment.
LGTM
Could you check with the team if we could stop pushing to the wave/app legacy repo, since it should contain the same exact images as the enterprise repo?
Internally we're using it for our installations, but we could point our apps to the enterprise repo. We could then remove that in a follow up PR
pditommaso
left a comment
There was a problem hiding this comment.
The rationale of the tag-and-push.sh script is making possible to test the logic without outside Github action.
In this form makes no sense any more: either 1) remove it completely, 2) implement the full logic into the bash script
@pditommaso sounds good, in c2279c6. moved the docker tag/push for both ECRs out of build.yml and back into tag-and-push.sh so the full publish flow lives in the script and can be run locally with docker login to both registries. |
|
Nice, have tried to validate locally, so we are sure it's not breaking next release? |
|
Let's make a fake release changing the VERSION to |
| jobs: | ||
| build: | ||
| name: Build Wave | ||
| if: "github.event == 'push' || github.repository != github.event.pull_request.head.repo.full_name" |
There was a problem hiding this comment.
| if: "github.event_name == 'push' || github.repository != github.event.pull_request.head.repo.full_name" |
github.event is an object so it'll never evaluate to the string push, so the first condition of the check will never pass.
The second condition of the check is also misleading, but I'll open a separate PR for that
|
|
||
| - name: Configure AWS credentials for platform pusher | ||
| if: "steps.detect-release.outputs.is_release == 'true'" | ||
| uses: aws-actions/configure-aws-credentials@ec61189d14ec14c8efccab744f656cffd0e33f37 # ratchet:aws-actions/configure-aws-credentials@v6.1.0 |
There was a problem hiding this comment.
Could you give it another pass with ratchet? there have been a few newer releases
There was a problem hiding this comment.
I see release v6.1.2 is out with a few fixes
|
Hey @bebosudo, did what you said. Pulled tag-and-push into the workflow and kept publish.sh for maven. Ran ratchet over the workflow too, all action pins are clean. Two bugs on the original PR:
v1.33.6-TEST3 just went green. Same digest pushed to wave/app + nf-tower-enterprise/wave in legacy ECR and wave/server in central. VERSION needs bumping back before merge. |
bebosudo
left a comment
There was a problem hiding this comment.
LGTM, but I think ratchet upgrade should find some newer releases
|
|
||
| - name: Configure AWS credentials for platform pusher | ||
| if: "steps.detect-release.outputs.is_release == 'true'" | ||
| uses: aws-actions/configure-aws-credentials@ec61189d14ec14c8efccab744f656cffd0e33f37 # ratchet:aws-actions/configure-aws-credentials@v6.1.0 |
There was a problem hiding this comment.
I see release v6.1.2 is out with a few fixes
Co-authored-by: Alberto Chiusole <1922124+bebosudo@users.noreply.github.com>
|
Hey @pditommaso, ready for another look after your feedback. Worked through this with Alberto. The OIDC role for the new central ECR can only be assumed in CI, not locally, so we moved build + push into the workflow instead of keeping them in tag-and-push.sh. Tested end-to-end with v1.33.6-TEST3, same digest landed in wave/app, nf-tower-enterprise/wave (legacy) and wave/server (central). VERSION back to 1.33.6, ratchet upgrade on the action pins too. |

re-applies #1039 (reverted in 7ad68e9) with the bug fix that caused the revert.
what broke: the non-enterprise gradle call was missing -PjibRepo, so JIB tagged the image as
wave/app:$version(no v prefix) but the script then trieddocker tag wave/app:$TAG server:$TAGwhere $TAG isv$version. mismatch, release run 25995019680 died.fix: per @bebosudo's suggestions, build the image once with a generic name (
wave/server:$TAG) and let the workflow handle ECR retagging/pushing. dropped the internal ECR push since wave doesn't need internal images.gating uses paolo's detect-release output from ff8c7af.
SEC-1395