-
Notifications
You must be signed in to change notification settings - Fork 3
ADD: GitHub Action - improved build workflow #78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
for multi-arch builds
…ils-project-template into dc/improved-build-github-action
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Guard against running on template repository
Since this is a template repository, consider adding a condition to prevent the workflow from running on the template repo itself. We could add this to the jobs:
if: github.repository != 'IQGeo/utils-project-template'This ensures the workflow only runs in repos created from this template, not on the template itself.
build-build-image:
if: github.repository != 'IQGeo/utils-project-template'
runs-on: ubuntu-latest
# ... rest of jobAlternatively, we could:
- Add a top-level workflow condition (less pragmatic)
- Disable the workflow in repository settings → Actions (but this affects all workflows)
|
Thanks @derekclair. Shall we close #44 (superseded by this one) and #45( I think we'll focus on the github action for now, and they'll still be available for review)? |
References:
Summary
Update the Docker build workflow to run multi-job builds (
build,appserver,tools) with shared metadata, caching, and provenance/SBOM enabled.Differences vs PR#44
build-build-image,build-appserver-image,build-tools-image) with explicit cache scopes; PR#44 used a single job focusing on appserver/tools.docker/metadata-action@v5for all images with branch, run number, and platform version tags; PR#44 used simpler tags.type=ghawith scoped keys and registrybuildcachefor all jobs; PR#44 used only GHA cache for appserver/tools.workflow_dispatchinputpush_images; PR#44 had unconditional pushes for appserver/tools.provenanceorsbom.Differences vs PR#45
docker/login-actionwith${{ vars.registry }}; PR#45 requires changingFROM iqgeo-delivery-buildtoharbor.delivery.iqgeo.cloud/{{ my_project }}/platform-buildin Dockerfiles.vars+secrets.registry_password; PR#45 uses container registry username/password secrets with a different naming scheme.Notes
push_imagesduringworkflow_dispatchruns as needed.