Skip to content
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

Refactor Build Workflow for ARM Build Support #1820

Merged
merged 8 commits into from
Oct 9, 2024
Merged

Conversation

dj-maisy
Copy link
Member

Preface

This took quite a bit of work! And sitting and thinking about "how" to make this somewhat maintainable, understandable and also not too repetitive/redundant. Always happy for suggestions, recommendations, constructive criticisms etc.

What?

This creates a new Workflow file for CKAN/DGU builds to create ARM versions of each of the different images. The new workflow tries to do-away with the current build-image.sh bash script and move a lot of the logic into the Workflow itself. The hope is that this will make the workflow a little easier to debug if anything goes wrong.

This PR also creates a new build-config.yaml file that contains the various app versions, tags and also the "build types" and which apps each of those build types will actually build, using YAML anchors to try and de-duplicate as much of it as possible. This is a slight deviation from the JSON config file we used for the GOV.UK Ruby Bases, which had a lot less to duplicate. This file is also where we put the runner type configuration.

Related

@dj-maisy dj-maisy added enhancement DGU data.gov.uk (CKAN) labels Aug 28, 2024
@dj-maisy dj-maisy self-assigned this Aug 28, 2024
@dj-maisy dj-maisy force-pushed the dj-maisy/arm-workflow branch from 035501c to 6e72b76 Compare September 5, 2024 16:18
@dj-maisy
Copy link
Member Author

dj-maisy commented Sep 5, 2024

I've done a rebase and updated the patch versions in the matrix.

build-config.yaml Outdated Show resolved Hide resolved
Copy link
Contributor

@kentsanggds kentsanggds left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did some testing on integration and it looks like its working as expected, just need to tidy up the commits now and then its ready to merge in

dj-maisy and others added 8 commits October 9, 2024 11:18
Refactor build workflow to suppot ARM builds

Update other workflows.

Update patch versions used in build matrix.

Make multiarch flow the default (for testing)

Set the default gitRef input to main.
Make the gitRef input optional, default to branch

Fix possible syntax issue in Determine Tags Step

Try extra output to cover build arch issue

Try using digest to build follow-up base image

There is no digest exporter, bad documentation.

Correct bad bash script in manifest job.

Try fixing the Artifact Pattern

Combine Job missing Strategy Config

Fix the missing configure_builds job in "needs"

Remove debug lines.

Add tags for patch IDs
There is a reason we don't set the tags at build.

Try to solve the duplicate patch tags.
Add Github Context for debugging
@dj-maisy dj-maisy force-pushed the dj-maisy/arm-workflow branch from b031c93 to c3b7459 Compare October 9, 2024 10:18
@dj-maisy
Copy link
Member Author

dj-maisy commented Oct 9, 2024

Done an interactive rebase and squashed most of the surplus commits.

@dj-maisy dj-maisy merged commit 3543319 into main Oct 9, 2024
5 checks passed
@dj-maisy dj-maisy deleted the dj-maisy/arm-workflow branch October 9, 2024 10:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DGU data.gov.uk (CKAN) enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Refactor Build Workflow for Multi-Arch Support
2 participants