Skip to content

Latest commit

 

History

History
883 lines (568 loc) · 19.3 KB

CHANGELOG.md

File metadata and controls

883 lines (568 loc) · 19.3 KB

Changelog

All notable changes to this project will be documented in this file.

[0.8.23] - 2024-11-26

Bug Fixes

  • Make sure tag job uses +build-images target
  • Ensure we build the +build-scripts target on tags
  • Make sure jq prints raw values

Features

  • Add cache for dnf5

Miscellaneous Tasks

  • Remove unneded comment about bootupctl command
  • Add get_json_array bash function for migration to jq

[0.8.22] - 2024-11-24

Bug Fixes

  • Update main branch workflow to use +build-images target
  • Make sure to exit after unwind
  • Update copy Typespec to expect proper type
  • Clean up error display for validate command
  • Pin prebuilds to Fedora 40
  • Have integration tests job require the amd64-prebuild job
  • Better support distrobox (#160)
  • Setup blue-build-recipe crate to use reqwest version and features

Features

  • Add validation command
  • Use yaml-rust2 to get line numbers for better errors
  • Include base image information in labels
  • Add the new/init subcommands (#85)

Miscellaneous Tasks

  • Cleanup workflows to be run from just (#238)
  • Require integration tests to depend on prebuild
  • Remove expect-exit as a dependency and add bacon config
  • Remove akmod that no longer exists in integration tests
  • Create dependabot.yml
  • Send log files to ~/.cache/bluebuild
  • Set shadow back to its original location
  • Remove need to update .gitignore by making use of temporary directories
  • [breaking] Remove force arg for build since it is no longer in use
  • Update akmods image ref gen to handle open drivers
  • Add extra help text for fixing local modules
  • Install jq and prefer over yq for modules
  • Release
  • Release

[0.8.20] - 2024-10-06

Bug Fixes

  • Ensure the correct digest is used for docker and podman inspect drivers
  • Use docker buildx imagetools to inspect for the docker inspect driver
  • Use full json inspection for docker inspect driver
  • Switch cosign registry from GCR to GHCR (#237)
  • Remove --load for docker build since we no longer pull the image for inspection

Miscellaneous Tasks

  • Fix akmods tests
  • Remove akmods module for arm64 build
  • Release

[0.8.19] - 2024-10-04

Bug Fixes

  • Use built-in image inspection for podman and docker

Miscellaneous Tasks

  • Release

[0.8.18] - 2024-10-03

Bug Fixes

  • Properly escape module json
  • Add post build script to prepare image for ISO creation
  • Make sigstore driver more resilient to network errors
  • May not be possible to just install bootc, run bootupctl if bootc already exists
  • Run image as fallback for version retrieval

Features

  • Add platform arg to force building a specific architecture

Miscellaneous Tasks

  • Add expand.rs to .gitignore for debugging macros
  • Make build.rs run again on git change
  • Add one more criteria for rerun build.rs to check .git/refs/heads
  • Check for bootupctl in post-build script
  • Remove bootupctl until issue is resolved
  • Run clippy and test for every feature individually
  • Release

Refactor

  • Swtich to using bon for builder pattern

[0.8.17] - 2024-09-11

Bug Fixes

  • Fix docker login for oauth logins

Miscellaneous Tasks

  • Upgrade sigstore to use contributed changes
  • Release

[0.8.16] - 2024-09-08

Bug Fixes

  • Ensure image names are lowercase

Miscellaneous Tasks

  • Update tests for lowercasing image names
  • Release

[0.8.15] - 2024-09-07

Bug Fixes

  • Ensure that debug logs header for builds properly display the time
  • Make build fail if module fails
  • Generate correct image names based on user supplied arguments

Features

  • Color output in terminal if running in TTY
  • Create generate-iso command (#192)
  • Display list of image refs at the end of a build

Miscellaneous Tasks

  • Make sigstore an optional dep
  • Update CODEOWNERS
  • Update patch rev for sigstore
  • Fix legacy integration tests
  • Release

[0.8.14] - 2024-08-25

Bug Fixes

  • Make sure getting version fails if not all dirs were copied
  • Make sure GitHub job pushes latest image on scheduled job
  • Properly handle alt-tags so they don't collide with default tags

Miscellaneous Tasks

  • Release

[0.8.13] - 2024-08-20

Bug Fixes

  • Include $crate for macro calls
  • Don't let process continue running if the main app thread panics

Miscellaneous Tasks

  • Release

Refactor

  • Create SigningDriver and CiDriver (#197)

[0.8.12] - 2024-08-11

Bug Fixes

  • Add Ctrl-C handler for spawned children (#193)
  • Support other signals properly (#194)
  • Builds failing due to new Rust version
  • Add typespec schemas for cli modules, remove modules.json (not needed anymore) (#209)
  • Allow copying keys to both /etc and /usr/etc
  • Out of bounds panic when not retrying push

Features

  • Add arm support (#191)
  • Build multiple recipes in parallel (#182)
  • Create RunDriver (#196)

Miscellaneous Tasks

  • Add gh cli to just release
  • Build with priveleged
  • Checkout proper branch and build using cargo for buildah-build
  • Use proper out directory for installer image
  • Capitalize AS
  • Stop using secureblue for integration testing
  • Move files for test-repo to work with new files module update
  • Add Justfile commands for easier development (#205)
  • Fix integration tests failing
  • Switch from askama to rinja
  • Move files from /usr/etc/ to /etc/ in build-time (#214)
  • Release
  • Fix tag CI to build prebuild separately from main build

Refactor

  • Switch to using miette for errors instead of anyhow (#198)

[0.8.11] - 2024-06-03

Bug Fixes

  • Fail if cosign private/public key can't be verified (#190)
  • Make sure username, password, and registry are not empty
  • Move creds empty check to credentials module

Documentation

  • Update README to put preferred method of installation higher up

Miscellaneous Tasks

  • Add action to test external login
  • Add registry for external login test
  • Add external login job and buildah jobs
  • Release

[0.8.10] - 2024-05-29

Bug Fixes

  • Allow both files or config directory to not exist (#185)
  • Remove extra setup call
  • Remove hard requirement for login creds to be able to push (#187)

Features

  • Stages (#173)

Miscellaneous Tasks

  • Don't use satellites for integration tests
  • Release

Refactor

  • [breaking] Rename template to generate and move rebase/upgrade under switch (#116)

[0.8.9] - 2024-05-17

Bug Fixes

  • Don't create builder if DOCKER_HOST is set
  • Use leniency for semver parsing (#184)

Documentation

  • Update README to revert cargo install instruction since issue is fixed
  • Update docker/podman install instructions

Miscellaneous Tasks

  • Fix checkout for podman-build
  • Remove a pre-release-replacement
  • Release

[0.8.8] - 2024-05-14

Bug Fixes

  • Add driver args to rebase/upgrade command
  • Make docker pull latest images when building
  • Don't use '' in format arg
  • Create lock on docker setup to prevent race conditions

Features

  • Create a bluebuild buildx runner

Miscellaneous Tasks

  • Ensure cargo installs use version for build scripts image
  • Cleanup install script to instead create the container without running it
  • Release

[0.8.7] - 2024-05-05

Bug Fixes

  • Git sha not present during cargo install (#176)

Features

  • Add alternate tags for user images (#172)

Miscellaneous Tasks

  • Streamline getting version
  • Fix how we get the version in the Earthfile
  • Allow tests to pass due to upstream akmods issues
  • Remove title case (#177)
  • Fix release replacements
  • Release

[0.8.6] - 2024-04-29

Bug Fixes

  • Fix flatpak module errors

Miscellaneous Tasks

  • Remove token from checkout
  • Pull version using cargo for tag job
  • Fix integration tests
  • Improve tagging of images and applying labels
  • Release

[0.8.5] - 2024-04-27

Bug Fixes

  • Use shebang in release recipe
  • Pull extra akmods image too (#169)

Features

  • Display full recipe with syntax highlighting (#166)
  • Move module run logic into its own script (#168)

Miscellaneous Tasks

  • Fix tag.yml workflow to pull version from .workspace.package.version
  • Remove debug logs from utils
  • Use Semver to grab OS version from image
  • Make more /var dirs
  • Release

[0.8.4] - 2024-04-22

Bug Fixes

  • Sign all images in manifest (#148)
  • Use proper image URI for local rebasing
  • Add test for rpm-ostree rebase (#161)
  • Error if any module fails to deserialize (#163)
  • Remove /var tmpfs
  • Create /var/roothome to fix any issues with adding files to /root
  • Create /var/lib/alternatives
  • Give better errors for read_to_string

Documentation

  • Add distrobox installation tips (#146)

Features

  • Add driver selection args (#153)
  • Squash builds (#155)
  • Look for recipes in ./recipes/, build files in ./files/, and Containerfiles in ./containerfiles/ (#157)

Miscellaneous Tasks

  • Add MODULE_DIRECTORY env var (#142)
  • Remove unused files module
  • Put LABELS last since they cause cache miss with buildah
  • Cleanup images and use hash for exports tag (#158)
  • Update akmods module to account for upstream changes (#165)
  • Prepare justfile for release
  • Release

README

  • Add alpine distrobox and shell completions (#149)

[0.8.3] - 2024-03-27

Bug Fixes

  • Checkout proper versions when building on main vs a PR
  • Use container skopeo (#110)
  • Remove tmpfs for /tmp (#123)
  • Allow docker driver to properly use cache (#126)
  • Allow special characters for export script (#128)
  • Copy bins and keys with mounts for ostree commit (#132)
  • Set gzip to default compression format
  • Create dir for keys and bins in case they don't exist
  • Allow user supplied registry to be set in the template (#135)
  • Unable to use SHELL with podman, encapsulate commands in /bin/bash -c
  • Put export script in own image
  • Remove docker syntax marker
  • Pulling wrong exports image

Features

  • Revert to bash files module (#125)
  • Support zstd compression (#134)
  • Improve logging output (#139)

Miscellaneous Tasks

  • Update workspace dependency versions
  • Setup build concurrency to reduce number of simultaneous builds on a PR
  • Adjust readme path in files module.yml
  • Fix readme path for containerfile module in module.yml
  • Add version checks for upstream tools (#121)
  • Don't build nightly for now
  • Separate nightly build to not run in CI for now
  • Remove builtin-podman code
  • Enable cache builds on main branch
  • Don't use docker driver for buildx job on main
  • Update gitlab-ci section in README
  • Add image source label for exports
  • Use tag exports instead
  • Fix build.yml
  • Release

Refactor

  • Rename strategies to drivers

[0.8.2] - 2024-03-09

Bug Fixes

  • Filter out / in tag names (#94)
  • Run ostree container commit at the end of each module run (#103)
  • Add Nvidia Version to main base case (#107)
  • Retry flag (#111)
  • Add org.opencontainers.image.source LABEL for CI images (#113)
  • Remove check for specific branches for signing (#114)
  • Update path in comments and README (#115)

Documentation

  • Add install script from github option (#102)

Features

  • Add flakehub entry + nix flake (#109)

Miscellaneous Tasks

  • Add integration test for disableuserns.sh (#104)
  • Update builds to use different satellites and have integration tests on their own job
  • Move cargo release settings to root Cargo.toml
  • Update crates to have their own versions starting at CLI version
  • Prepare for v0.8.2 release

Refactor

  • Update build command to use BuildStrategy (#88)

[0.8.1] - 2024-02-26

Bug Fixes

  • COPY yq for final image for modules to work
  • COPY yq into final image for modules

Miscellaneous Tasks

  • Update modules.json to reflect change in dir layout
  • Release blue-build version 0.8.1

Refactor

  • Move templates to their own crate (#83)

[0.8.0] - 2024-02-25

Bug Fixes

  • Make sure cosign.pub exists before trying to check key validity
  • Check for GITHUB_TOKEN instead of SIGSTORE_ID_TOKEN for github OIDC (#72)
  • Use REGISTRY_TOKEN for GitHub OIDC signing
  • Switch to using --certificate-identity-regexp for Github Keyless verification
  • Remove trailing newlines from yaml arrays (#73)
  • Use GH_TOKEN as GITHUB_TOKEN is a protected env var
  • Allow empty custom modules dir (#77)

Documentation

  • Add module documentation for 'containerfile' and 'files' (#82)

Features

  • Use GitHub's OIDC for signing images (#62)
  • Use WORKDIR and ENTRYPOINT for cli containers (#63)
  • Clean up working container for SIGINT and SIGTERM (#14)
  • Use tmpfs mount for /tmp and /var (#67)
  • Allow user to use source images (#69)
  • Make use of rpm-ostree cache (#68)
  • Block overriding (#74)
  • Allow use of akmods module (#71)
  • Add retry options to cli build command (#81)

Miscellaneous Tasks

  • Fix build and build-pr not running properly
  • Remove unwanted software so we have enough space to run the build for forked PRs
  • Print out stderr from login attempts if login fails
  • Replace tabs with spaces in Containerfile template
  • Run integration tests on a separate satellite to keep build cache free
  • Add trace log for github cosign verify
  • Fix integration-tests for forks
  • Update default module source (#76)
  • Release blue-build version 0.8.0

Refactor

  • Use GITHUB_TOKEN instead of REGISTRY_TOKEN (#75)
  • Move modules into their own directory structure (#80)

[0.7.1] - 2024-02-13

Bug Fixes

  • Remove deprecated bling COPY for files and rpms (#52)
  • Only use earthly builder if token exists (#53)

Features

  • Use Multi-stage builds to prevent COPY for modules and config (#54)
  • Alias update for upgrade subcommand (#60)

Miscellaneous Tasks

  • Update /Containerfile in .gitignore
  • Create base integration test setup (#55)
  • Remove nightly flags
  • Rename registry-path arg to registry-namespace but keep previous as alias
  • Add cargo release files
  • Release blue-build version 0.7.1

Refactor

  • Enable clippy nursery lint

[0.7.0] - 2024-02-07

Features

  • Snippets (#51)

Refactor

  • [breaking] Rename bb to bluebuild (#50)

[0.6.0] - 2024-02-06

Bug Fixes

  • Tag workflow version fix (#16)
  • Improper syntax for test in tag workflow
  • Improve workflow for main branch and PRs (#17)
  • Use new cargo-builder to help speed up build times
  • Change local build dir to /etc/bluebuild
  • Build failing due to change in local tarball location
  • Add missing container tags (#37)
  • Update containerfile to check for presence of cosign.pub (#46)
  • Output better serde::yaml errors (#47)
  • Lowecase registry and update IMAGE_REGISTRY arg (#49)

Features

  • Add release workflows (#22)
  • Upgrades (#26)
  • Bugreport command (#28)
  • Use COPY syntax for files module (#38)
  • Allow default recipe path (#45)

Miscellaneous Tasks

  • Move recipe out to its own module (#18)
  • Enable Clippy Pedantic lint (#19)
  • Fix simple error in workflow (#27)
  • Update/Remove logos in this repo (#23) (#30)
  • Setup earthly satellite building (#29)
  • Update README to show github action use
  • Set version to 0.5.6-dev.0 to prepare for first release
  • Switch back to crate format_serde_error
  • Prepare for 0.6.0 release

Refactor

  • Separate module template from recipe module (#32)
  • Separate modules into individual templates

[0.5.5] - 2024-01-26

Bug Fixes

  • Install script not working as intended (#15)

Documentation

  • Update gitlab ci example
  • Update README for distrobox usage (#12)

Miscellaneous Tasks

  • Bumb version

[0.5.4] - 2024-01-24

Miscellaneous Tasks

  • Don't fetch tags again
  • Add token for pushing tags
  • Bump version
  • Bump version

[0.5.3] - 2024-01-24

Miscellaneous Tasks

  • Bump version

[0.5.2] - 2024-01-24

Bug Fixes

  • Update outdated 60-custom.just
  • Rebase path not being generated properly (#8)

Documentation

  • Update changelog
  • Manual update changelog for release

Features

  • Run clippy + BlueBuildTrait (#4)

Miscellaneous Tasks

  • Update Cargo.toml with new repo URL
  • Manual bump of version
  • Create GitHub Workflow (#9)
  • Don't build integration tests in +all
  • Allow write for contents and id-token
  • Allow workflow_dispatch on build
  • Use docker/login-action@v3
  • Set packages permissions to write
  • Update README.md (#10)
  • Use GHCR for install.sh (#11)
  • Remove input for release
  • Add CARGO_REGISTRY_TOKEN
  • Fetch all to get history for changelog updates
  • Allow write for id-token

[0.5.1] - 2024-01-22

Bug Fixes

  • Allow single module from-file

Documentation

  • Update README for upgrade and rebase commands

[0.5.0] - 2024-01-21

Features

  • [breaking] Upgrade and Rebase commands

[0.4.3] - 2024-01-19

Miscellaneous Tasks

  • Add CODEOWNERS file
  • Enable integration tests
  • Run both nightly and default integration tests
  • Use --privileged instead of WITH DOCKER

Testing

  • Add integration tests for build and template

Nightly

  • Use podman-api crate for building images

[0.4.2] - 2024-01-14

Bug Fixes

  • Used wrong image for installer in Containerfile template

[0.4.1] - 2024-01-14

Bug Fixes

  • Installer used wrong image tag

Documentation

  • Update README to describe using local builds

[0.4.0] - 2024-01-14

Features

  • [breaking] Remove containerfile arg since we use compiled time templates

[0.3.13] - 2024-01-14

Bug Fixes

  • Conflicting short args for build subcommand

Features

  • Local image rebasing

[0.3.12] - 2024-01-06

Documentation

  • Add logos

[0.3.11] - 2024-01-04

Bug Fixes

  • Removed unwrap from template to handle with proper error message

[0.3.10] - 2024-01-04

Bug Fixes

  • Stop possible from-file, type module collision in template

Refactor

  • Use askama crate for compile-time template type checking

[0.3.9] - 2024-01-01

Bug Fixes

  • Earthfile syntax error
  • Allow image_version to be a String
  • Clippy error for image_tag

Refactor

  • Inefficiency in generated Containerfile

[0.3.8] - 2023-12-30

Bug Fixes

  • Rename ublue-rs to blue-build

Documentation

  • Renaming tool in docs

[0.3.7] - 2023-12-30

Bug Fixes

  • Update README to point to new project

[0.3.6] - 2023-12-30

Bug Fixes

  • Logging
  • Update cargo.toml
  • Bump version

Features

  • Add Github support in Build command

[0.3.5] - 2023-12-28

Bug Fixes

  • Add support for alpine image and using either podman or buildah

Documentation

  • Update README and CHANGELOG

Features

  • Adding more template files for init
  • Adding new subcommand
  • Add main README template
  • Add basic templating support for Github Actions

Miscellaneous Tasks

  • Switch to using typed builders

[0.3.2] - 2023-12-18

Bug Fixes

  • Improper trim of image digest

[0.3.1] - 2023-12-18

Bug Fixes

  • Clippy
  • Remove single quotes from image_digest

Features

  • Add logging

Miscellaneous Tasks

  • Add rusty-hook

[0.3.0] - 2023-12-17

Bug Fixes

  • Make containerfile formatting nicer
  • Move command structs into bin

Features

  • [breaking] Remove legacy code"
  • Finish build feature

Miscellaneous Tasks

  • Add rust-toolchain.toml
  • Exclude some more files
  • Fix .git/ exclude

[0.2.2] - 2023-11-04

Documentation

  • Update README, checking off a feature

Miscellaneous Tasks

  • Fix version to match with published version

[0.2.0] - 2023-10-28

Bug Fixes

  • Create README
  • Add support for legacy containerfiles and modules containerfiles
  • Encapsulate module echo in quotes to be passed in as a single arg
  • Remove tracing
  • Print module context as json

Features

  • [breaking] Support new modules based starting point template
  • [breaking] Allow containerfile module to print out to main Containerfile

[0.1.1] - 2023-10-16

Bug Fixes

  • Add changelog