Skip to content

Releases: frhuelsz/tailor

tailor-v1.2.0

Choose a tag to compare

@github-actions github-actions released this 16 Sep 00:59

tailor-v1.1.0

Choose a tag to compare

@github-actions github-actions released this 15 Sep 21:04

tailor-v1.0.2

Choose a tag to compare

@github-actions github-actions released this 11 Sep 23:47

tailor-v1.0.1

Choose a tag to compare

@github-actions github-actions released this 11 Sep 22:41

Full Changelog: v1.0.0...tailor-v1.0.1

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 10 Sep 00:46

Full Changelog: v0.7.0...v0.8.0

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 09 Sep 23:50

Full Changelog: v0.6.0...v0.7.0

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 09 Sep 19:48

Full Changelog: v0.5.0...v0.6.0

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 09 Sep 18:09

Full Changelog: v0.4.0...v0.5.0

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 20 Jul 23:39

tailor v0.4.0 adds tailor export — render-ahead of your images' Image Customizer configs into committed YAML that a pipeline can build without tailor — plus a CLI override for the per-cell build scratch directory.

This is a preview (0.4.x) release; the config surface can still change between minor versions. There are no breaking changes from 0.3.

Highlights

  • tailor export (configs-only) + tailor export --check. Render each cell's merged IC config to a committed directory (one <slug>.yaml per cell), so a build pipeline that cannot run tailor can build the images directly from the checked-in YAML. --check is a zero-argument drift gate for a pre-commit hook or CI: it fails on any changed, missing, or stale file. Configure it once in tailor.yaml and both commands take no arguments.
  • tailor build --build-dir-base <PATH>. Override runtime.buildDirBase from the command line — the same override pattern as --engine / --host / --log-dir — so CI can point per-cell build scratch at a pool-specific filesystem without editing the committed tailor.yaml. The fail-closed build-dir guard is unchanged (the directory must not be / or on the same filesystem as /).

Added

  • export: block in tailor.yamloutputDir (committed output directory), optional scope (defaults to configsOnly), and optional images (subset). Its presence makes tailor export / tailor export --check argument-free.
  • tailor export [images...] — writes <outputDir>/<slug>.yaml per selected cell and prunes stale files a removed cell/axis left behind. Offline and pure: no base/toolchain resolution, no Docker. The exported config is byte-identical to tailor render's golden.
  • tailor export --check — verifies the committed exports match freshly rendered configs and exits non-zero on drift (changed / missing / extra), writing nothing.
  • tailor build --build-dir-base <PATH> — CLI override for runtime.buildDirBase.

Why export

The exported <slug>.yaml is only the Image Customizer config; the base image, --rpm-source, --tools-dir, output format, and signing are Image Customizer invocation arguments the consuming pipeline supplies. Because those are not in the config, tailor export always succeeds for any cell and the pipeline owns the invocation with its own machinery — useful when tailor cannot run in a trust-sensitive pipeline. See the new Export configs for a pipeline how-to.

Docs

  • New how-to: Export configs for a pipeline; export and --build-dir-base added to the CLI reference; the export: block added to the tailor.yaml reference.

Full changelog: v0.3.0...v0.4.0

Full Changelog: v0.3.0...v0.4.0

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 15 Jul 18:53

tailor v0.3.0 makes arm64 (aarch64) Image Customizer builds reliable end to end: a successful build now exits 0 with its scratch fully cleaned up, and post-build log lines are attributed to the right source. It also ships a versioned, hosted documentation site.

This is a preview (0.3.x) release. The config surface can still change between minor versions. There are no breaking changes from 0.2.

Highlights

  • arm64 builds are reliable end to end. On an arm64 host, a successful build now exits 0 and removes its scratch, instead of failing during post-build cleanup with a spurious non-zero exit and root-owned leftovers.
  • Hosted, versioned documentation. A MkDocs Material site is published to GitHub Pages, versioned per release, and linked from the README: https://frhuelsz.github.io/tailor/

Fixed

  • arm64 janitor architecture (404). The post-build ownership-cleanup janitor launched its container as linux/amd64 regardless of host architecture, so on an arm64 host Docker returned a 404 (does not provide the specified platform (linux/amd64)) and tailor build exited non-zero and left root-owned scratch behind — even though Image Customizer succeeded and the image was written. The janitor now runs at the host's native architecture. This also fixes cross-arch tailor clean, which has no single cell arch to key on.
  • Janitor "Device or resource busy" on every successful build. Cleanup bind-mounted each target directory to itself and then rm -rf'd it, so the target was an active mountpoint: rm cleared its contents but could not remove the busy top directory, leaving an empty stub and a non-zero exit after an otherwise fully successful build. Cleanup now binds each target's parent and removes the target as an ordinary child, so it is removed top-and-all and the build exits 0.
  • Cleanup log attribution. The janitor's own output (e.g. an rm warning) was printed with the ic: prefix, mislabeling it as coming from Image Customizer. Janitor/cleanup lines now use a janitor: target, so ic:-tagged lines are only ever real Image Customizer output.

Docs

  • New versioned MkDocs Material documentation site published to GitHub Pages via mike (per-release versions plus a latest alias), linked from the README.
  • New Installation page, a homepage overview, project logo/branding, and an orange theme.

Full changelog: v0.2.0...v0.3.0

Full Changelog: v0.2.0...v0.3.0