Commit graph

212 commits

Author SHA1 Message Date
dependabot[bot]
cc4806c177 ci: bump the actions group with 2 updates
Bumps the actions group with 2 updates: [actions/checkout](https://github.com/actions/checkout) and [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action).


Updates `actions/checkout` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](9c091bb21b...3d3c42e5aa)

Updates `zizmorcore/zizmor-action` from 0.5.7 to 0.6.0
- [Release notes](https://github.com/zizmorcore/zizmor-action/releases)
- [Commits](192e21d79a...6599ee8b7a)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: zizmorcore/zizmor-action
  dependency-version: 0.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-27 13:42:41 +00:00
Jonathan Lebon
f536bda6b8 alpm: drop redundant references in format arguments
Clippy 1.97+ flags these as useless_borrows_in_formatting.

Assisted-by: Pi (Claude Opus 4.6)
2026-07-23 14:28:29 -04:00
Jonathan Lebon
8df3cb454b README: mention ALPM/pacman support
Update the Highlights and Understanding components sections to reflect
that pacman (ALPM) is now a supported component repo alongside RPM.

Assisted-by: Pi (Claude Opus 4.6)
2026-07-23 14:28:29 -04:00
Jonathan Lebon
e9ea343de3 tree: adapt to ocidir 0.8 OciRead trait extraction
ocidir 0.8 moved read_blob, read_index, read_json_blob, and other
read-only methods from inherent methods on OciDir to a new OciRead
trait. Import OciRead in test modules that call these methods.

Assisted-by: Pi (Claude Opus 4.6)
2026-07-13 19:24:59 +00:00
dependabot[bot]
7d318954d1 deps: bump ocidir from 0.7.2 to 0.8.0
Bumps [ocidir](https://github.com/containers/ocidir-rs) from 0.7.2 to 0.8.0.
- [Release notes](https://github.com/containers/ocidir-rs/releases)
- [Commits](https://github.com/containers/ocidir-rs/compare/v0.7.2...v0.8.0)

---
updated-dependencies:
- dependency-name: ocidir
  dependency-version: 0.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-13 19:24:59 +00:00
dependabot[bot]
3c6ca029e8 deps: bump the rust-deps group with 2 updates
Bumps the rust-deps group with 2 updates: [anyhow](https://github.com/dtolnay/anyhow) and [camino](https://github.com/camino-rs/camino).


Updates `anyhow` from 1.0.102 to 1.0.103
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.102...1.0.103)

Updates `camino` from 1.2.3 to 1.2.4
- [Release notes](https://github.com/camino-rs/camino/releases)
- [Changelog](https://github.com/camino-rs/camino/blob/main/CHANGELOG.md)
- [Commits](https://github.com/camino-rs/camino/compare/camino-1.2.3...camino-1.2.4)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-version: 1.0.103
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-deps
- dependency-name: camino
  dependency-version: 1.2.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-06 13:44:27 +00:00
dependabot[bot]
7d6f2178c8 ci: bump the actions group with 2 updates
Bumps the actions group with 2 updates: [actions/checkout](https://github.com/actions/checkout) and [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action).


Updates `actions/checkout` from 6.0.3 to 7.0.0
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](df4cb1c069...9c091bb21b)

Updates `zizmorcore/zizmor-action` from 0.5.6 to 0.5.7
- [Release notes](https://github.com/zizmorcore/zizmor-action/releases)
- [Commits](5f14fd08f7...192e21d79a)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: zizmorcore/zizmor-action
  dependency-version: 0.5.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-30 12:30:15 -04:00
dependabot[bot]
2ea1b3f2f5 deps: bump camino from 1.2.2 to 1.2.3 in the rust-deps group
Bumps the rust-deps group with 1 update: [camino](https://github.com/camino-rs/camino).


Updates `camino` from 1.2.2 to 1.2.3
- [Release notes](https://github.com/camino-rs/camino/releases)
- [Changelog](https://github.com/camino-rs/camino/blob/main/CHANGELOG.md)
- [Commits](https://github.com/camino-rs/camino/compare/camino-1.2.2...camino-1.2.3)

---
updated-dependencies:
- dependency-name: camino
  dependency-version: 1.2.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-29 13:44:08 +00:00
dependabot[bot]
b9632a0474 deps: bump openssl from 0.10.80 to 0.10.81 in the rust-deps group
Bumps the rust-deps group with 1 update: [openssl](https://github.com/rust-openssl/rust-openssl).


Updates `openssl` from 0.10.80 to 0.10.81
- [Release notes](https://github.com/rust-openssl/rust-openssl/releases)
- [Commits](https://github.com/rust-openssl/rust-openssl/compare/openssl-v0.10.80...openssl-v0.10.81)

---
updated-dependencies:
- dependency-name: openssl
  dependency-version: 0.10.81
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-22 13:44:03 +00:00
dependabot[bot]
e8a96fa588 ci: bump actions/checkout from 6.0.2 to 6.0.3 in the actions group
Bumps the actions group with 1 update: [actions/checkout](https://github.com/actions/checkout).


Updates `actions/checkout` from 6.0.2 to 6.0.3
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](de0fac2e45...df4cb1c069)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-15 13:48:29 +00:00
dependabot[bot]
4846573b59 deps: bump chrono from 0.4.44 to 0.4.45 in the rust-deps group
Bumps the rust-deps group with 1 update: [chrono](https://github.com/chronotope/chrono).


Updates `chrono` from 0.4.44 to 0.4.45
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.44...v0.4.45)

---
updated-dependencies:
- dependency-name: chrono
  dependency-version: 0.4.45
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-15 13:47:22 +00:00
Daniel Hast
da527a4f39 feat: bin changelog entries by day in stability calculation
If a package has multiple changelog entries within a day, those are
likely either duplicates or reflect some sort of short-term packaging
problem, rather than indicating a higher frequency of releases.
Therefore, it more accurately reflects package stability to treat these
as a single release for the purpose of stability calculation.

Such duplicate changelog entries can cause stability to be significantly
underestimated for some packages; for example, the `systemd` package
currently has stability score around 0.260 without this change, and
0.416 with this change.
2026-06-08 15:25:01 -04:00
Jonathan Lebon
fbfb347688 Cargo.toml: bump version to v0.6.0 2026-06-08 10:38:52 -04:00
dependabot[bot]
26dfa02508 deps: bump serde_json from 1.0.149 to 1.0.150 in the rust-deps group
Bumps the rust-deps group with 1 update: [serde_json](https://github.com/serde-rs/json).


Updates `serde_json` from 1.0.149 to 1.0.150
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.149...v1.0.150)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-version: 1.0.150
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-02 16:58:01 +00:00
Jonathan Lebon
852c69f402 tree: convert polish-notes OpenCode command to agent skill
Move from .opencode/commands/ to .agents/skills/ so this works across
agent harnesses, not just OpenCode.

Assisted-by: Pi (Claude Opus 4.6)
2026-06-01 21:45:03 -04:00
Jonathan Lebon
7a809e5739 Containerfile: bump Fedora base image to 44
Unfortunately Dependabot can't handle this because it's on a build arg
and not a `FROM`.

Assisted-by: Pi (Claude Opus 4.6)
2026-05-27 21:40:17 -04:00
Jonathan Lebon
1cf18ed2fd Containerfile: verify CentOS rpm-sequoia with CentOS GPG key
Ironically, we weren't actually verifying signatures on the rpm-sequoia
rpm we got from the CentOS repo...

Let's make sure to do that.

Assisted-by: Pi (Claude Opus 4.6)
2026-05-27 21:40:17 -04:00
Jonathan Lebon
497884553b build: support oci: transport prefix on --output
It's silly right now how chunkah tars up an ocidir, but the primary
way this is consumed is by the containers stack, which will immediately
untar it back to consume it.

We can't avoid this in the `podman run | podman load` flow, but we can
in the Containerfile flow by simply leaving the output as an ocidir, and
then using `FROM oci:` instead of `FROM oci-archive:`.

To expose this, add support for transport prefixes on the argument
passed to `--output`; `oci:PATH` writes the OCI directory layout
directly to disk, while `oci-archive:PATH` or `PATH` preserves the
existing behavior.

Update `Containerfile.splitter` and docs to use the new format. And of
course, update the chunkah image build itself to use this!

Anyone using chunkah from a Containerfile is encouraged to switch over
to this. The efficiency gains are non-trivial. E.g. for the fedora-bootc
image, this roughly cuts in half the "handover time" from chunkah to
buildah.

Closes: #103

Assisted-by: Pi (Claude Opus 4.6)
2026-05-27 21:27:04 -04:00
dependabot[bot]
09d94d7088 deps: bump the rust-deps group with 2 updates
Bumps the rust-deps group with 2 updates: [openssl](https://github.com/rust-openssl/rust-openssl) and [tar](https://github.com/composefs/tar-rs).


Updates `openssl` from 0.10.79 to 0.10.80
- [Release notes](https://github.com/rust-openssl/rust-openssl/releases)
- [Commits](https://github.com/rust-openssl/rust-openssl/compare/openssl-v0.10.79...openssl-v0.10.80)

Updates `tar` from 0.4.45 to 0.4.46
- [Release notes](https://github.com/composefs/tar-rs/releases)
- [Commits](https://github.com/composefs/tar-rs/compare/0.4.45...0.4.46)

---
updated-dependencies:
- dependency-name: openssl
  dependency-version: 0.10.80
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-deps
- dependency-name: tar
  dependency-version: 0.4.46
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-25 19:56:25 +00:00
dependabot[bot]
3739b1eafc ci: bump zizmorcore/zizmor-action in the actions group
Bumps the actions group with 1 update: [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action).


Updates `zizmorcore/zizmor-action` from 0.5.3 to 0.5.6
- [Release notes](https://github.com/zizmorcore/zizmor-action/releases)
- [Commits](b1d7e1fb5d...5f14fd08f7)

---
updated-dependencies:
- dependency-name: zizmorcore/zizmor-action
  dependency-version: 0.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-25 19:56:23 +00:00
Jonathan Lebon
776ac8a25e Cargo.toml: bump rust-version to 1.92.0
RHEL 9 now ships Rust 1.92.0.
Bump the minimum supported Rust version accordingly.
2026-05-25 15:34:22 -04:00
dependabot[bot]
627c8c0739 ci: bump sigstore/cosign-installer in the actions group
Bumps the actions group with 1 update: [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer).


Updates `sigstore/cosign-installer` from 4.1.1 to 4.1.2
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](cad07c2e89...6f9f177880)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-version: 4.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-18 23:37:25 +00:00
Dusty Mabe
18f913ed47 README: add note on required minimum bootc version
For bootable containers let's add a note about minimum versions
of bootc required to use chunkah chunked images. The versions are
v1.1.3, which contains [1] for images <= 128 layers, and v1.9.0,
which contains [2], for images with > 128 layers.

[1] c49ccec505
[2] 207b7f0abf
2026-05-12 17:07:44 -04:00
Daniel Hast
56b05e45af ci: add Zizmor workflow
Zizmor is a widely used static analysis tool for GitHub Actions that can
identify many common security issues in workflows. For reference, see:
https://docs.zizmor.sh/

Also explicitly ignore Zizmor warning for unpinned uses of Fedora
container, as tests are intentionally run against the lateset image.
2026-05-06 12:24:57 -04:00
Daniel Hast
292fd666fd ci: eliminate template expansions in code contexts
Template expansions in code contexts can be a source of code injection
vulnerabilities: https://docs.zizmor.sh/audits/#template-injection
Instead, use environment variables to pass the results of template
expansions to shell commands in a way that's aware of shell syntax.
2026-05-06 12:24:57 -04:00
Daniel Hast
179141e1ef ci: fix spoofable bot condition
github.actor can be spoofed and shouldn't be used to check whether the
PR author is a trusted bot. For more info, see:
https://docs.zizmor.sh/audits/#bot-conditions
2026-05-06 12:24:57 -04:00
Daniel Hast
21bcb0ed8a ci: don't persist credentials with actions/checkout
This mitigates the risk of accidental credentials leakage (e.g. through
artifacts). See https://docs.zizmor.sh/audits/#artipacked
2026-05-06 12:24:57 -04:00
Daniel Hast
019c3626de ci: pin action dependencies to commit hashes
Unpinned actions pose a security risk as they can be changed by the
upstream repo at any time: https://docs.zizmor.sh/audits/#unpinned-uses
2026-05-06 12:24:57 -04:00
Daniel Hast
871c1ee0c7 ci: drop unnecessary workflow permissions
Add top-level empty permissions block in all CI workflows, and provide
explanatory comments for all write permissions. The only actual
permissions change is to `unit-tests`, which was previously given overly
broad default permissions but only needs to be able to read repo
contents.

See https://docs.zizmor.sh/audits/#excessive-permissions for more info
on how the default permissions are overly broad.
2026-05-06 12:24:57 -04:00
Daniel Hast
6c9cfd420b ci: add dependabot cooldown
Adding a cooldown timer for dependabot updates is beneficial for
stability and supply-chain security. For reference:
https://docs.zizmor.sh/audits/#dependabot-cooldown
2026-05-06 12:24:57 -04:00
Dusty Mabe
dbc4abd0ab tools/analyze-layer-reuse: show all components with text wrapping
Instead of truncating the changed/unchanged component lists to 5
entries, show the full list using textwrap.fill() to wrap at 80
columns with proper indentation.

Assisted-By: <anthropic/claude-opus-4.6>
2026-05-05 14:59:57 -04:00
Dusty Mabe
6b164da9ac tools/chunk-image-series: filter results of images query
This is needed to workaround the current podman bug that will
output more matches than we think it should:
https://github.com/containers/podman/issues/28643

Assisted-By: <anthropic/claude-opus-4.6>
2026-05-05 14:59:57 -04:00
Dusty Mabe
f1312d128c tools/chunk-image-series: quiet podman load
Will prevent a ton of output to the terminal on every run.
2026-05-05 14:59:57 -04:00
dependabot[bot]
904cf2ac01 deps: bump the rust-deps group with 2 updates
Bumps the rust-deps group with 2 updates: [ocidir](https://github.com/containers/ocidir-rs) and [openssl](https://github.com/rust-openssl/rust-openssl).


Updates `ocidir` from 0.7.1 to 0.7.2
- [Release notes](https://github.com/containers/ocidir-rs/releases)
- [Commits](https://github.com/containers/ocidir-rs/compare/v0.7.1...v0.7.2)

Updates `openssl` from 0.10.78 to 0.10.79
- [Release notes](https://github.com/rust-openssl/rust-openssl/releases)
- [Commits](https://github.com/rust-openssl/rust-openssl/compare/openssl-v0.10.78...openssl-v0.10.79)

---
updated-dependencies:
- dependency-name: ocidir
  dependency-version: 0.7.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-deps
- dependency-name: openssl
  dependency-version: 0.10.79
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-04 17:42:58 +00:00
Jonathan Lebon
b990a777d7 Cargo.toml: bump version to v0.5.0 2026-05-04 07:11:46 -04:00
Jonathan Lebon
b2f049a3f1 README-dev.md: anchor cosign verify identity regexp
I don't think not having this is really exploitable, but just to be safe
so we don't even have to think about it.
2026-05-04 07:11:46 -04:00
Jonathan Lebon
b6be1c8bd9 README-dev: fix cosign verify example
I had switch to `--certificate-github-workflow-repository` at
the last minute in #119, but hadn't tested it properly. It's only
an additional filter in cosign v3 which otherwise still requires
`--certificate-identity` or `--certificate-identity-regexp`. That
makes it less useful since it's redundant with those so let's just use
`--certificate-identity-regexp'.

Assisted-by: Pi (Claude Opus 4.6)
2026-05-03 22:40:51 -04:00
Jonathan Lebon
1471a37052 README-dev.md: consistently put reference-style links at bottom
And sort them while we're here.
2026-05-03 22:05:16 -04:00
Jonathan Lebon
2bfd8569ba ci: add cosign keyless signing for container images
Use Sigstore cosign with GitHub Actions OIDC identity tokens to sign
container images pushed to quay.io. This allows users to verify that
images were built by the CI pipeline without requiring any private key
management.

Closes: #117

Assisted-by: Pi (Claude Opus 4.6)
2026-05-03 22:05:16 -04:00
Jonathan Lebon
ce7c29dbfc tree: add README-dev.md
Our README right now is the main documentation for this project. As new
features land, I want to be able to also update the README. But I don't
want users to get confused by unreleased features.

Let's add a dedicated README for development, and then it gets synced
over to the main README at release time.

Assisted-by: Pi (Claude Opus 4.6)
2026-05-03 22:05:16 -04:00
Jonathan Lebon
0427ee2ab8 Containerfile: use PQC-enabled rpm-sequoia from CentOS Stream 10
Currently, to split el10 images correctly, one needs to use a chunkah
image built from el10 so that rpm can read PQC signatures in the rpmdb
(because Fedora's rpm-sequoia doesn't support PQC yet).

We could switch the base image to c10s or UBI10 or provide separate
images, but I don't like any of those options. But I do want a good
OOTB experience.

So for now just temporarily hack this up by installing rpm-sequoia
from c10s on top of the Fedora base since it's ABI-compatible. If this
breaks before Fedora gains PQC support, we can re-evaluate the other
options.

Assisted-by: Pi (Claude Opus 4.6)
2026-05-01 10:47:22 -04:00
Jonathan Lebon
ba99f6a80b packing: replace greedy merge with statistical partitioning
The old algorithm used a greedy merge approach (BinaryHeap-based,
minimizing total expected value loss per merge) which was fundamentally
unstable: small changes in input caused completely different merge
decisions, resulting in poor layer reuse across updates.

Additionally, because of its greediness, it easily fell into a local
optimum with a giant catch-all bucket with low stability and safer more
stable items in the other layers.

Replace it with a two-phase statistical partitioning approach inspired
by rpm-ostree's chunking algorithm:

- Phase 1 classifies components by size, giving large components
  (linux-firmware, kernel, firefox) their own singleton layers.
- Phase 2 assigns all remaining components to bins using stability tiers
  (high/mid/low) and deterministic name-based hashing, which ensures
  stable bin membership across builds without needing to track prior
  build state.

Also remove the stability fallback that assigned min(known)/2 to
components without stability data (xattr, bigfiles, unclaimed). These
now stay at 0.0 and are naturally handled by the stability tiers.

Benchmarked against rpm-ostree's native chunking on FCOS F43 (11
biweekly stable releases) and Silverblue F43 (3 weekly builds):

    FCOS:       46.4% reuse, 916 MiB avg download uncompressed (rpm-ostree: 34.0%, 1.2 GiB)
    Silverblue: 47.9% reuse, 2.8 GiB avg download uncompressed (rpm-ostree: 38.5%, 3.5 GiB)

Assisted-by: OpenCode (Claude Opus 4.6)
2026-04-29 22:31:17 -04:00
Jonathan Lebon
98ad73a35b skills: move to .agents/ dir
OpenCode respects this also, and so does Pi. Claude, as usual, does not.
2026-04-29 22:31:17 -04:00
Jonathan Lebon
8762eba122 skills: add benchmark-packing skill
Add an OpenCode skill that guides benchmarking of packing
algorithm changes. Covers the full pipeline from building
chunkah through analyzing layer reuse, including key pitfalls
like duplicate tags and sample size sensitivity.

Assisted-by: OpenCode (Claude Opus 4.6)
2026-04-29 22:31:17 -04:00
Jonathan Lebon
2605cbe5b5 chunk-image-series: clean up temp images on failure
Wrap the processing loop in try/finally so that temporary
localhost/tmp-chunk-src images are always removed, even if
chunking fails or is interrupted mid-run. Previously these
would leak and cause duplicate tag issues in subsequent runs.

Assisted-by: OpenCode (Claude Opus 4.6)
2026-04-29 22:31:17 -04:00
Jonathan Lebon
5c5fc0592e tests/e2e: use manifest for unclaimed size checks
Switch test-arch.sh and test-self.sh to use --write-manifest-to for
checking the unclaimed component size. The previous approach checked
the layer size via skopeo inspect, which is inaccurate since the
unclaimed component may share a layer with other components.

For test-self.sh, also drop the is_chunked shortcut so that we always
run chunkah and produce a manifest.

Assisted-by: OpenCode (Claude Opus 4.6)
2026-04-29 22:31:17 -04:00
dependabot[bot]
443a94a62f deps: bump the rust-deps group with 3 updates
Bumps the rust-deps group with 3 updates: [cap-std-ext](https://github.com/coreos/cap-std-ext), [clap](https://github.com/clap-rs/clap) and [openssl](https://github.com/rust-openssl/rust-openssl).


Updates `cap-std-ext` from 5.1.1 to 5.1.2
- [Release notes](https://github.com/coreos/cap-std-ext/releases)
- [Commits](https://github.com/coreos/cap-std-ext/compare/v5.1.1...v5.1.2)

Updates `clap` from 4.6.0 to 4.6.1
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.6.0...clap_complete-v4.6.1)

Updates `openssl` from 0.10.77 to 0.10.78
- [Release notes](https://github.com/rust-openssl/rust-openssl/releases)
- [Commits](https://github.com/rust-openssl/rust-openssl/compare/openssl-v0.10.77...openssl-v0.10.78)

---
updated-dependencies:
- dependency-name: cap-std-ext
  dependency-version: 5.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-deps
- dependency-name: clap
  dependency-version: 4.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-deps
- dependency-name: openssl
  dependency-version: 0.10.78
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-27 17:06:45 +00:00
Jonathan Lebon
237dd3204d tools/release.py: add --remote flag and use --notes-file for gh
Add a --remote flag to both bump (default: origin) and cut (default:
upstream) so the git remote is configurable. Switch gh release create
from --notes-from-tag to --notes-file since the former is incompatible
with --repo. In the --no-push flow, the notes file is now preserved
and referenced in the printed hint.

Like 23435c3 ("tools/release.py: hardcode coreos/chunkah in gh API
calls"), this is another tweak I only realized I needed once I reforked
chunkah in my personal github account.

Assisted-by: OpenCode (Claude Opus 4.6)
2026-04-24 22:45:01 -04:00
Jonathan Lebon
2e636e495b tools: add --commit flag to cut for targeting a specific commit
Allow specifying which commit to tag and archive when cutting a release,
rather than always using HEAD. The commit ref flows through to both
git tag and create-archives.sh's git archive call. When not specified,
both default to HEAD as before.

Assisted-by: OpenCode (Claude Opus 4.6)
2026-04-24 22:45:01 -04:00
Jonathan Lebon
d836781c61 .gitignore: ignore draft release notes 2026-04-24 22:45:01 -04:00