refactor!: Rename template to generate and move rebase/upgrade under switch (#116)

This updates the `template` subcommand to be `generate`. The `template`
usage will continue to work as an alias to `generate`. A new `switch`
command is added that will manage both `rpm-ostree rebase` and
`rpm-ostree upgrade` and is fully replacing the respective subcommands
as a breaking change.

The new `switch` command is under the feature flag `switch` and will
currently only build for the `main` branch builds until it is moved as a
default feature (`v0.9.0`).

Closes #159
This commit is contained in:
Gerald Pinder 2024-05-26 22:47:34 -04:00 committed by GitHub
parent 968cf3db97
commit 02b2fe5434
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 672 additions and 62 deletions

View file

@ -8,6 +8,7 @@ all:
BUILD +build
BUILD +rebase
BUILD +upgrade
BUILD +switch
test-image:
FROM +build-template --src=template-containerfile
@ -45,7 +46,7 @@ build-template:
template-containerfile:
FROM +test-base
RUN bluebuild -vv template recipes/recipe.yml | tee Containerfile
RUN bluebuild -vv generate recipes/recipe.yml | tee Containerfile
SAVE ARTIFACT /test
@ -57,13 +58,13 @@ template-legacy-containerfile:
template-secureblue:
FROM +secureblue-base
RUN bluebuild -vv template -o Containerfile recipes/general/recipe-silverblue-nvidia.yml
RUN bluebuild -vv generate -o Containerfile recipes/general/recipe-silverblue-nvidia.yml
SAVE ARTIFACT /test
template-secureblue-ucore:
FROM +secureblue-base
RUN bluebuild -vv template -o Containerfile recipes/server/recipe-server-main.yml
RUN bluebuild -vv generate -o Containerfile recipes/server/recipe-server-main.yml
SAVE ARTIFACT /test
@ -73,15 +74,21 @@ build:
RUN bluebuild -vv build recipes/recipe.yml
rebase:
FROM +test-base
FROM +legacy-base
RUN bluebuild -vv rebase recipes/recipe.yml
RUN bluebuild -vv rebase config/recipe.yml
upgrade:
FROM +legacy-base
RUN mkdir -p /etc/bluebuild && touch $BB_TEST_LOCAL_IMAGE
RUN bluebuild -vv upgrade config/recipe.yml
switch:
FROM +test-base
RUN mkdir -p /etc/bluebuild && touch $BB_TEST_LOCAL_IMAGE
RUN bluebuild -vv upgrade recipes/recipe.yml
RUN bluebuild -vv switch recipes/recipe.yml
secureblue-base:
FROM +test-base
@ -93,7 +100,8 @@ secureblue-base:
legacy-base:
FROM ../+blue-build-cli-alpine
ENV BB_TEST_LOCAL_IMAGE=/etc/bluebuild/cli_test.tar.gz
RUN apk update --no-cache && apk add bash grep jq sudo coreutils
ENV BB_TEST_LOCAL_IMAGE=/etc/bluebuild/cli_test-legacy.tar.gz
ENV CLICOLOR_FORCE=1
COPY ./mock-scripts/ /usr/bin/
@ -107,6 +115,7 @@ legacy-base:
test-base:
FROM ../+blue-build-cli-alpine
RUN apk update --no-cache && apk add bash grep jq sudo coreutils
ENV BB_TEST_LOCAL_IMAGE=/etc/bluebuild/cli_test.tar.gz
ENV CLICOLOR_FORCE=1