Commit graph

218 commits

Author SHA1 Message Date
Gerald Pinder
0012eadef7 chore: Add trace log for github cosign verify 2024-02-19 15:04:13 -05:00
Gerald Pinder
fc489eca32 chore: Run integration tests on a separate satellite to keep build cache free 2024-02-19 14:37:55 -05:00
Gerald Pinder
16ffbb343f fix: Switch to using --certificate-identity-regexp for Github Keyless verification 2024-02-19 14:22:26 -05:00
Gerald Pinder
b087474cf2 fix: Use REGISTRY_TOKEN for GitHub OIDC signing 2024-02-19 13:48:08 -05:00
Gerald Pinder
ca6cd80088
feat: Make use of rpm-ostree cache (#68)
After setting up the tmpfs mount for /var, rpm-ostree started to not
have cache throughout the single build. This creates a cache for
rpm-ostree that is tied to the specific recipe being built. This will
allow subsequent builds of a recipe to be faster and not interfere with
the cache of another recipe, especially if they are on different OS
versions
2024-02-18 23:48:35 -05:00
gerblesh
498deb6f37
fix: check for GITHUB_TOKEN instead of SIGSTORE_ID_TOKEN for github OIDC (#72)
the `SIGSTORE_ID_TOKEN` env var is not declared inside of github
actions, however the block that does OIDC signing requires it, this
changes it so that it matches for `GITHUB_TOKEN` in the second block
instead of `SIGSTORE_ID_TOKEN`, (hopefully) using OIDC instead of pubkey
auth
2024-02-19 02:45:34 +00:00
Gerald Pinder
26abf21059 chore: Replace tabs with spaces in Containerfile template 2024-02-18 11:28:32 -05:00
Gerald Pinder
93b40f8d73
feat: Allow user to use source images (#69) 2024-02-18 10:24:37 -06:00
Gerald Pinder
369fbab03f
feat: Use tmpfs mount for /tmp and /var (#67)
This allows scripts to create as many files as they need in /tmp and
/var without having to worry about them being included in the final
image. Now the last instruction will only be the ostree container commit
2024-02-17 19:16:06 +00:00
Gerald Pinder
98398788f7
feat(podman-api): Clean up working container for SIGINT and SIGTERM (#14)
Co-authored-by: Hikaru (ひかる, ヒカル) <lecoqjacob@gmail.com>
2024-02-14 15:04:47 -06:00
Gerald Pinder
4fde628f82 fix: Make sure cosign.pub exists before trying to check key validity 2024-02-14 12:36:14 -05:00
Gerald Pinder
f22823a4c2 chore: Print out stderr from login attempts if login fails 2024-02-14 11:45:17 -05:00
gerblesh
d26382b85f
feat: use WORKDIR and ENTRYPOINT for cli containers (#63)
required for running the bluebuild CLI directly from podman (needed for
latest version of bluebuild for github action)

---------

Co-authored-by: Gerald Pinder <gmpinder@gmail.com>
2024-02-14 16:40:17 +00:00
Gerald Pinder
5ce88948e2 chore: Remove unwanted software so we have enough space to run the build for forked PRs 2024-02-14 11:21:36 -05:00
Gerald Pinder
bb7ab8e1a5 chore: Fix build and build-pr not running properly 2024-02-13 22:11:44 -05:00
Gerald Pinder
9b93713527
feat: Use GitHub's OIDC for signing images (#62)
This change will follow the patter that was established with the GitLab
pipeline. Users will be able to have their images signed by GitHub's
OIDC. This will allow users to rebase directly onto a signed image and
forego using the siging module.
2024-02-14 01:43:47 +00:00
Gerald Pinder
9d242e7c59 chore: Release blue-build version 0.7.1 2024-02-13 16:35:07 -05:00
Gerald Pinder
b0d448ab66 chore: Add cargo release files 2024-02-13 16:33:43 -05:00
Gerald Pinder
d973f330cb
feat: Alias update for upgrade subcommand (#60)
Co-authored-by: Hikari <lecoqjacob@gmail.com>
2024-02-13 04:40:39 +00:00
Gerald Pinder
fec33d8c98 chore: Rename registry-path arg to registry-namespace but keep previous as alias 2024-02-12 20:32:26 -05:00
Gerald Pinder
6b4c86f01f refactor: Enable clippy nursery lint 2024-02-10 15:32:20 -05:00
Gerald Pinder
421ca616e7
feat: Use Multi-stage builds to prevent COPY for modules and config (#54)
This allows us to prevent creating extra layers just to run the modules.
Using the bind mount, we are able to connect to a working container that
holds the files needed for building.
2024-02-10 07:10:20 +00:00
Gerald Pinder
0243e73374 chore: Remove nightly flags 2024-02-09 15:22:27 -05:00
Gerald Pinder
46700ab794
chore: Create base integration test setup (#55)
This will allow us to create a suite of tests for our new features
rather than using my personal image repo
2024-02-09 11:47:59 -05:00
gerblesh
fe671cdd1a
fix: only use earthly builder if token exists (#53)
This fixes workflow runs from PRs that use forks of the repo and don't
contain the secret for the earthly login
2024-02-08 02:15:26 +00:00
gerblesh
d90fbcbb5f
fix: remove deprecated bling COPY for files and rpms (#52)
https://github.com/ublue-os/bling/blob/main/Containerfile the
containerfile copies an empty folder in these locations for backwards
compatability. `/tmp/files` and `/tmp/rpms` have been deprecated from
bling, all of the RPMs have mostly moved to COPR or ublue-os/config

Co-authored-by: Gerald Pinder <gmpinder@gmail.com>
2024-02-07 20:51:53 -05:00
Gerald Pinder
d500be07d5 chore: Update /Containerfile in .gitignore 2024-02-07 20:28:58 -05:00
Gerald Pinder
87d2a6fc03 Prepare for 0.7.0 release 2024-02-07 16:26:01 -05:00
Hikari
0d8fd93917
feat: snippets (#51)
## Goals

This PR adds snippets which is being discussed in #41 .

It will generate snippet lines for *ONLY* our containerfile module

- [x] allow for modules to specify snippets
- [x] append snippets to module run inside Containerfile
- [ ] write supporting test

## Preview
Recipe.yml

```yml
# image will be published to ghcr.io/<user>/<name>
name: orora

description: A starting point for further customization of uBlue images. Make your own! https://ublue.it/making-your-own/

base-image: ghcr.io/ublue-os/silverblue-main
image-version: latest # latest is also supported if you want new updates ASAP

modules:
  - type: signing
    snippets:
      - COPY --from=ghcr.io/blue-build/cli:latest-installer /out/BLUEBUILD /usr/bin/BLUEBUILD
```

Generated Container File snippet

```docker
RUN chmod +x /tmp/modules/signing/signing.sh && source /tmp/exports.sh && /tmp/modules/signing/signing.sh '{"type":"signing","snippets":["COPY --from=ghcr.io/blue-build/cli:latest-installer /out/BLUEBUILD /usr/bin/BLUEBUILD"]}'
COPY --from=ghcr.io/blue-build/cli:latest-installer /out/BLUEBUILD /usr/bin/BLUEBUILD
```

---------

Co-authored-by: Gerald Pinder <gmpinder@gmail.com>
2024-02-07 18:03:26 +00:00
Hikari
2492bb0eee
refactor!: rename bb to bluebuild (#50) 2024-02-06 19:55:38 -05:00
Gerald Pinder
7cfa191e2a chore: Prepare for 0.6.0 release 2024-02-05 23:09:40 -05:00
Gerald Pinder
c47f80232b chore: Switch back to crate format_serde_error 2024-02-05 22:01:47 -05:00
Gerald Pinder
245ddf032a Merge branch '40-refactor-clean-standard-implementation-of-cli-modules' 2024-02-05 21:35:50 -05:00
Gerald Pinder
b70da3aa34 chore: Set version to 0.5.6-dev.0 to prepare for first release 2024-02-05 21:04:26 -05:00
Gerald Pinder
d302875020 chore: Update README to show github action use 2024-02-05 20:52:36 -05:00
Gerald Pinder
aab4c0038f
fix: Lowecase registry and update IMAGE_REGISTRY arg (#49) 2024-02-05 18:45:09 -05:00
Gerald Pinder
96b680e4e7 refactor: Separate modules into individual templates 2024-02-04 22:23:22 -05:00
Hikari
8f44bf4ea0
fix: output better serde::yaml errors (#47)
Co-authored-by: Gerald Pinder <gmpinder@gmail.com>
2024-02-04 21:50:00 -05:00
Hikari
59c3cf55bd
fix: Update containerfile to check for presence of cosign.pub (#46)
Co-authored-by: Gerald Pinder <gmpinder@gmail.com>
2024-02-04 20:25:26 -06:00
Gerald Pinder
d7885ded63
feat: Allow default recipe path (#45) 2024-02-04 12:45:20 -06:00
Gerald Pinder
a1751f2f94
fix: Add missing container tags (#37) 2024-02-03 14:09:36 -06:00
Gerald Pinder
9d117b5c5d fix: Remove redundant
earthly setup
2024-02-03 14:44:54 -05:00
Gerald Pinder
7f38fb04e6
feat: Use COPY syntax for files module (#38) 2024-02-03 14:42:42 -05:00
Gerald Pinder
933d25054a fix: Build failing due to change in local tarball location 2024-02-01 11:27:53 -05:00
Gerald Pinder
3d56b029af fix: Change local build dir to /etc/bluebuild 2024-02-01 09:55:27 -05:00
Hikari
e069346e15
feat: Bugreport command (#28)
Add a bug report + completions command(not complete yet) so that new
users can easily submit bugs to us, and I wanted completions for bb
(super easy with clap)

---------

Co-authored-by: Gerald Pinder <gmpinder@gmail.com>
2024-01-31 09:51:13 -05:00
Gerald Pinder
bdbbcea7cc
refactor: Separate module template from recipe module (#32) 2024-01-28 19:36:20 -06:00
Gerald Pinder
39fce7b2f9 fix: Use new cargo-builder to help speed up build times 2024-01-28 18:58:47 -05:00
Gerald Pinder
cd1e43b0c3
chore: Setup earthly satellite building (#29)
- Builds on main and tags will use the `medium` satellite that uses `x4`
rate on build minutes
  - This gives us larger cache and more memory
- Builds on PRs will use the `small` satellite that uses `x2` rate on
build minutes
- We are using the starter tier which gives us `10000` build minutes per
month and caching for our builds to make them faster
2024-01-28 13:20:13 -06:00
xyny
73b694fd4a
chore: Update/Remove logos in this repo (#23) (#30)
I kept the logo in the README because it was there previously, but it's
not strictly needed.
2024-01-28 14:15:33 -05:00