Butane merge v2 - #2235
Conversation
Sync repo templates ⚙
Sync repo templates ⚙
Sync repo templates ⚙
- Use "layout" in the context path for errors related to the layout entry in the boot_device configuration. - Add tests for those error cases. - Refactor mirror boot_device check for s390x. Fixes: coreos/butane#484
For fcos 1.6.0-exp & openshift 4.18.0-exp specs, expected to be based on stable 3.5.0 spec. See: coreos#1693 See: coreos/fedora-coreos-tracker#1708
add: Support LUKS encryption using IBM CEX secure keys on s390x
Sync repo templates ⚙
Ignition spec bump
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.9.0 to 1.10.0. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](stretchr/testify@v1.9.0...v1.10.0) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Stablize fcos v1_6, base v0_6, and bump all other exp to latest
- Note dependency on base 0.7 for storage.trees permissions - Note dependency on external MCO support for GRUB config See: coreos/butane#719
Revert "Merge pull request coreos#717 from coreos/update-4.22"
docs/release-notes: update for release v0.29.0
We discussed this in the last fcos meeting, the details can be seen in the change request. |
0308784 to
8534157
Compare
|
Important Review skippedToo many files! This PR contains 304 files, which is 4 over the limit of 300. To get a review, narrow the scope: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: ⛔ Files ignored due to path filters (15)
📒 Files selected for processing (304)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Binary size report (
|
| Size | |
|---|---|
Base (main) |
21MiB |
| PR (#2235) | 33MiB |
| Delta | +13MiB (61.02%) |
11d3e14 to
9e45e0c
Compare
Update README to indicate this repository has been archived and Butane has been merged into the Ignition repository. Links to docs are updated to point to the new location under butane/ in the Ignition repo.
Remove the upcoming 0.30.0 section and add a note that Butane has been merged into the Ignition repository.
6bf248d to
468a47b
Compare
README: update for repository archival
Move all Butane source code, docs, tests, build scripts, and CI configuration into a butane/ subdirectory in preparation for merging into the Ignition repository via git merge --allow-unrelated-histories. Related: coreos/fedora-coreos-tracker#2006
Merge the full Butane repository (github.com/coreos/butane) into the butane/ subdirectory via git merge --allow-unrelated-histories, after moving all Butane files into a butane/ subdirectory in the source repo. This preserves complete Git history with proper rename tracking, so git blame and git log --follow work correctly for all butane/ files. Related: coreos/fedora-coreos-tracker#2006
Remove files from the butane/ subtree that are repo-level concerns now handled by ignition: go.mod, go.sum, vendor/, CI workflows, packaging configs, linter configs, and AI agent files. The actual source code, docs, build scripts, tests, and opencode skills are preserved.
Rewrite all internal Butane import paths from github.com/coreos/butane/ to github.com/coreos/ignition/v2/butane/ so that Butane's code is part of the single Ignition Go module. Add github.com/clarketm/json as a new dependency required by Butane, and bump go-systemd to v22.7.0. Also fix stray ')' in license headers across Butane files.
Teach Ignition's config parser to accept Butane YAML configs in addition to Ignition JSON. Parse() now tries Ignition JSON first and, on failure, attempts to transpile the input as a Butane config using the integrated butane/ library. This allows users to provide Butane configs directly to instances without a separate transpilation step. Key design decisions: - JSON is tried first for zero behavioral change on existing configs - On both failures, the original Ignition error is returned - source: local properly errors since FilesDir is unavailable at boot - OpenShift variant configs produce MachineConfig YAML which fails Ignition parsing, as those configs go through MCO Related: coreos/fedora-coreos-tracker#2006
- build: Source butane/build to produce butane binary, restore CGO_ENABLED=1 - butane/build: Use module path, accept VERSION from parent - test: Add butane/ to license header check paths - Makefile: Install butane binary to /usr/bin - config: Add unit tests for Butane YAML parsing - config: Use DeserializeOptions (go-systemd v22.7.0) - butane: Fix errcheck lint issues - butane: Remove TMT tests (conflict with ignition TMT discovery)
Remove Butane test cases that reference ErrZeroesWithShouldNotExist, a validation that was deliberately removed from Ignition in commit 76f869a (stages/disks: Allow deleting a partition while creating number 0). The validation was originally present in Ignition but was removed because partition numbers are now resolved to their final values, making the check unnecessary. Butane's vendored copy of Ignition still had this validation, but after merging into Ignition proper, the test cases reference the real errors package which no longer defines this constant.
Adapt the build script to match the subcommand format introduced in coreos#2239. The butane build is now a subcommand (./build butane) instead of being sourced from butane/build. Add butane and butane-cross targets to the Makefile, and add butane to the install target. Also fix the binary-size CI workflow to use make for both PR and base builds, since ./build now requires a subcommand argument.
468a47b to
23a388b
Compare
|
|
||
| ### Changes | ||
|
|
||
| - Merge Butane config transpiler into the Ignition repository; the `butane` CLI is now built from the Ignition source tree ([#2235](https://github.com/coreos/ignition/pull/2235)) |
There was a problem hiding this comment.
CI is not seeing this change, overriding it for this PR. I think its not able to handle this many commits.
The implementation is broken into six commits; reproducible via a shell script (https://gist.github.com/prestist/c3bfc2f3e2050b2d63a2ebb0f64bd066):