Commit graph

79 commits

Author SHA1 Message Date
Gerald Pinder
4910292fb9 fix: Prevent certain builds from running when the PR is from a fork 2024-12-08 21:17:31 -05:00
Gerald Pinder
b4fbac2a66 feat(rechunk): Add the ability to rechunk an image 2024-12-02 02:23:22 -05:00
Gerald Pinder
879dca348c fix(ci): Login to earthly for tag build-scripts-all target 2024-11-26 21:30:57 -05:00
Gerald Pinder
2b7305c5d0 fix: Add logic for inspecting multi-manifest images 2024-11-26 21:21:26 -05:00
Gerald Pinder
c8d8ab306c fix(ci): Build all features for each package and build all archs 2024-11-25 22:09:36 -05:00
Gerald Pinder
d9caf26ee1 fix(ci): Ensure we build the +build-scripts target on tags 2024-11-25 12:57:15 -05:00
Gerald Pinder
4e81c24fbc fix(ci): Make sure tag job uses +build-images target 2024-11-24 12:15:13 -05:00
Gerald Pinder
86b7cc5cc6 fix(ci): Have integration tests job require the amd64-prebuild job 2024-11-01 16:38:42 -04:00
Gerald Pinder
1de71ab026
chore: Create dependabot.yml 2024-10-29 13:01:45 -04:00
Gerald Pinder
3a4782408d chore: Require integration tests to depend on prebuild 2024-10-08 12:55:32 -04:00
Gerald Pinder
8fc34f346f fix: Update main branch workflow to use +build-images target 2024-10-07 16:38:24 -04:00
Gerald Pinder
32092195d3
chore: Cleanup workflows to be run from just (#238) 2024-10-07 16:34:36 -04:00
Gerald Pinder
75eae89e4a feat: Add platform arg to force building a specific architecture 2024-10-03 14:47:47 -04:00
Gerald Pinder
020f89d4d1 fix: Fix docker login for oauth logins 2024-09-11 18:33:56 -04:00
Gerald Pinder
e6cce3d542
feat(iso): Create generate-iso command (#192)
## Tasks

- [x] Add ctrl-c handler to kill spawned children
- [x] add more args to support all variables
- [x] Add integration test
2024-09-04 18:17:08 -04:00
Gerald Pinder
b60f1ada45 chore: Update CODEOWNERS 2024-08-31 17:58:06 -04:00
Gerald Pinder
8ce83ba7ff
refactor: Create SigningDriver and CiDriver (#197)
This also includes a new `login` command. The signing and CI logic is now using the Driver trait system along with a new experimental sigstore signing driver. New static macros have also been created to make implementation management easier for `Command` usage and `Driver` trait implementation calls.

---------

Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
2024-08-12 23:52:07 -04:00
Gerald Pinder
3ecb0d3d93 chore: Fix tag CI to build prebuild separately from main build 2024-08-11 12:06:31 -04:00
Gerald Pinder
4ca98c1c2a
feat(experimental): Build multiple recipes in parallel (#182)
The `build` subcommand can now take in any number of recipe files and
will build them all in parallel. Along with this new ability, I've added
a way to easily distinguish which part of the build log belongs to which
recipe. Check out the `docker_build` action of this PR for an example.


![gif](https://gitlab.com/wunker-bunker/wunker-os/-/raw/main/bluebuild.gif)

## Tasks

- [x] Make build log follow same pattern as normal logs to keep things
consistent
- [x] Update color ranges based on @xynydev 's feedback
- [x] Deal with ANSI control characters in log output
- [x] Add [`indicatif`](https://crates.io/crates/indicatif) to make logs
look nicer
- [x] Add ability to print logs to a file
2024-06-07 17:52:26 -04:00
Gerald Pinder
18e48a34a4 chore: Checkout proper branch and build using cargo for buildah-build 2024-06-06 19:58:41 -04:00
Gerald Pinder
dcbccb602d chore: Build with priveleged 2024-06-04 14:20:06 -04:00
Gerald Pinder
6945915d4e
feat: Add arm support (#191)
This adds support for ARM based images and binaries.
2024-06-04 14:03:00 -04:00
Gerald Pinder
8aa874187c chore: Add external login job and buildah jobs 2024-06-03 09:10:51 -04:00
Gerald Pinder
32e2ba35cf chore: Add registry for external login test 2024-06-02 18:17:11 -04:00
Gerald Pinder
bf52cdae35 chore: Add action to test external login 2024-06-02 18:10:27 -04:00
Gerald Pinder
ab87f6548d chore: Don't use satellites for integration tests 2024-05-18 09:28:13 -04:00
Gerald Pinder
e6905b4fcc chore: Fix checkout for podman-build 2024-05-15 11:35:20 -04:00
Gerald Pinder
2cb6d1e00c Remove if for main build 2024-05-15 10:23:12 -04:00
Gerald Pinder
c472fad2af Add podman build job 2024-05-15 10:02:37 -04:00
Gerald Pinder
83d654d3a2 chore: Improve tagging of images and applying labels 2024-04-28 21:21:54 -04:00
Gerald Pinder
76d32bc23a chore: Fix integration tests 2024-04-28 00:36:45 -04:00
Gerald Pinder
232795a932 chore: Pull version using cargo for tag job 2024-04-27 15:41:55 -04:00
Gerald Pinder
d4160fedd9 chore: Remove token from checkout 2024-04-27 15:28:43 -04:00
Gerald Pinder
0c7033ccd2
feat: Move module run logic into its own script (#168)
This will help make the Containerfile just a little bit easier to read
(ignoring all the mounts lol). This would also allow us to add logic
later to support modules that run executables other than `*.sh`.
2024-04-27 15:19:58 -04:00
Gerald Pinder
3898202bc3
fix: Pull extra akmods image too (#169)
Adds the new `-extra` image from akmods image
2024-04-27 15:01:06 -04:00
Gerald Pinder
29efd47733 chore: Fix tag.yml workflow to pull version from .workspace.package.version 2024-04-22 17:14:01 -04:00
Gerald Pinder
e66e880857
chore: Cleanup images and use hash for exports tag (#158)
I noticed that making changes to the exports script before a release
could cause modules to not build properly if breaking changes got pushed
out. To prevent this, I'm making it so that the hash of the commit is
put in the tag for the exports script image and that the CLI tool will
use that hash when building the `Containerfile`.
2024-04-13 05:55:50 +00:00
Gerald Pinder
b544fecc25 chore: Fix build.yml 2024-03-27 00:34:39 -04:00
Gerald Pinder
198886c799 chore: Use tag exports instead 2024-03-27 00:33:31 -04:00
Gerald Pinder
19c93ce742 fix: Put export script in own image
HEREDOC support for podman doesn't work exactly 1-1 with Dockerfiles. This fix gives the export script its own image that we mount.
2024-03-27 00:08:58 -04:00
Gerald Pinder
ab11362a0d
fix: Allow user supplied registry to be set in the template (#135) 2024-03-25 20:27:34 -04:00
Gerald Pinder
5601a27491 chore: Don't use docker driver for buildx job on main 2024-03-24 11:23:02 -04:00
Gerald Pinder
783ac2c3fb chore: Enable cache builds on main branch 2024-03-23 18:33:34 -04:00
Gerald Pinder
7c34d0c5a8
fix: Allow docker driver to properly use cache (#126)
This fix involves creating a new function for the `BuildDriver` trait
called `build_tag_push`. In order to get the proper logic in place to
make use of `docker buildx`, I had to create a separate function that
would construct the build command to include all of the tags necessary
for pushing. A default implementation of `build_tag_push` will be used
for `podman` and `buildah` which was originally from the build command's
functions. Now that we have custom logic for docker builds, we can take
advantage of using the GitHub cache features without having the `--load`
arg which had a big negative effect on build times. We can now also use
docker for creating local `oci-archive` tarballs for local rebasing.
Making use of the `oci-archive` will require the user to create a
`docker-container` builder as it is not supported on the standard
`docker` builder.

https://docs.docker.com/build/exporters/oci-docker/
2024-03-19 16:51:09 -04:00
Hikari
580c3d6ce7
fix: use container skopeo (#110)
the `os_version` is defaulting to the `image_tag` inside containers and
causing our template to use latest tag

---------

Co-authored-by: Gerald Pinder <gmpinder@gmail.com>
2024-03-11 23:23:42 +00:00
Gerald Pinder
c084592934 fix: Checkout proper versions when building on main vs a PR 2024-03-11 19:16:30 -04:00
Gerald Pinder
bf6ce3f650 chore: Setup build concurrency to reduce number of simultaneous builds on a PR 2024-03-09 12:29:33 -05:00
Gerald Pinder
3a2353923d chore: Update builds to use different satellites and have integration tests on their own job 2024-03-06 15:08:16 -05:00
Tulili
80958f60a6
feat: add flakehub entry + nix flake (#109)
Title! This PR should add a Flakehub entry and a Nix flake for this
project :>

---------

Co-authored-by: Gerald Pinder <gmpinder@gmail.com>
2024-03-05 21:34:29 +00:00
Gerald Pinder
de49037330
fix: Remove check for specific branches for signing (#114) 2024-03-05 09:18:43 -05:00