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

Buildx bake with goss test runner orchestration #718

Merged
merged 78 commits into from
Apr 16, 2024
Merged

Conversation

ianpittwood
Copy link
Collaborator

@ianpittwood ianpittwood commented Apr 9, 2024

Closes #714
Closes #717

Apologies in advance for the sheer size of this PR. Unfortunately, I didn't see a great way to break up the build changes without putting the repo in an awkward state.

Adds

  • Implements docker buildx bake for build orchestration. bake files are broken up into docker-bake.hcl (Release image builds), docker-bake.preview.hcl (Preview image builds), and content/docker-bake.hcl (Content image builds). All existing image builds have been recreated in bake. By implementing bake, we should resolve sanity issues around image layering in CI since base image artifacts are explicitly passed to downstream image builds and will not pull from a registry.
  • Implements a Python script (./tools/test_bake_artifacts.py) for running tests based off a generated build plan from bake.
  • Adds new just targets for building and testing bake builds.

Changes

  • Modifications to run_tests.sh scripts for compatibility with new build/test flow.
  • MOdifications to goss.yaml files across several projects, mostly increasing timeouts on slow elements like jupyter tests.

Removes

  • Existing build workflows including build-content.yaml, build-prerelease.yaml, build-release.yaml, build-workbench-aml.yaml, and build-workbench-gcw.yaml.
  • Individual Justfiles in product directories.
  • docker-compose.test.yml files in product directories. These have been replaced with the ./tools/test_bake_artifacts.py script.

README.md Show resolved Hide resolved
README.md Show resolved Hide resolved
Copy link
Member

@costrouc costrouc left a comment

Choose a reason for hiding this comment

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

I enjoy they way this is structured. I was able to run build locally.

I can see how you thought about how the actions are structured using composite actions and it is much easier for me to follow. So nice to see how fast certain actions finish.

image

This is a significant step towards simplifying development! Long term I hope that preview and regular builds can be the same bake. I get how for now this is not possible.

@ianpittwood ianpittwood merged commit 75e5e62 into dev Apr 16, 2024
33 of 34 checks passed
@ianpittwood ianpittwood deleted the feat-bake-goss branch April 16, 2024 20:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants