Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
c793e61
feat(anvil): replace the container backend with two artifacts and a hook
wukchung Aug 12, 2026
89055b5
feat(anvil): reach an engine installed in WSL, and add the container e2e
wukchung Aug 12, 2026
2ad32cd
docs(anvil): give containerization one owner, and split host setup pe…
wukchung Aug 13, 2026
d349dd4
fix(anvil): unbreak CI, and report podman's build-secret limitation h…
wukchung Aug 13, 2026
cb72c66
test(anvil): actually prove that a minted credential cannot change th…
wukchung Aug 13, 2026
db364dc
fix(anvil): satisfy cloned-ref-to-slice-refs in the container tests
wukchung Aug 13, 2026
baaf7eb
fix(anvil): escape interpolations, preserve recipe arguments, and clo…
wukchung Aug 13, 2026
30c084f
fix(anvil): point podman at the build-context ignore file
wukchung Aug 13, 2026
3c8d4d7
fix(anvil): defer the lints region to a crate that owns its lints
wukchung Aug 13, 2026
088b76c
feat(anvil): name the image without building it, and let a hook resol…
wukchung Aug 13, 2026
1a71b29
fix(anvil): drop needless raw-string hashes in a container test
wukchung Aug 13, 2026
a7c472d
Revert "fix(anvil): defer the lints region to a crate that owns its l…
wukchung Aug 13, 2026
32af8ef
Merge remote-tracking branch 'origin/u/mhavelka/anvil-container-minim…
wukchung Aug 13, 2026
12bdf47
docs(anvil): describe the container feature, not its development
wukchung Aug 13, 2026
cceb539
docs(anvil): rewrite the container documentation as a technical refer…
wukchung Aug 13, 2026
3cf838e
docs(anvil): drop the podman-docker rationale and tighten container p…
wukchung Aug 13, 2026
517cfbd
docs(anvil): restructure the container reference, overview before detail
wukchung Aug 14, 2026
137140d
fix(anvil): correct container defects found in review
wukchung Aug 14, 2026
aee8fd1
feat(anvil): forward a host GitHub token into the container
wukchung Aug 14, 2026
d25879d
fix(anvil): match the build context to the hashed inputs
wukchung Aug 14, 2026
fec3594
docs(anvil): correct the documented image-name derivation
wukchung Aug 14, 2026
41365e4
fix(anvil): let a containerized run reach a linked worktree's git his…
wukchung Aug 14, 2026
20cc507
fix(anvil): let a containerized tier run to completion
wukchung Aug 15, 2026
99ba00c
test(anvil): dogfood containerized execution against this repository
wukchung Aug 15, 2026
6c49f48
fix(anvil): stop the worktree git redirection leaking into every process
wukchung Aug 15, 2026
695df9e
perf(anvil): stop unrelated edits from rebuilding the exec image
wukchung Aug 15, 2026
60b1a69
fix(anvil): keep the exec image stable across unrelated edits
wukchung Aug 15, 2026
3378f7d
docs(anvil): correct claims the narrowed digest and cache layout inva…
wukchung Aug 15, 2026
0cc9efd
fix(anvil): scope the mutants diff to the working tree, not to HEAD
wukchung Aug 15, 2026
0fda9a3
fix(anvil): name the image by everything that defines it
wukchung Aug 16, 2026
71ed185
docs(anvil): correct two claims the digest change left behind
wukchung Aug 16, 2026
ca81f0f
fix(anvil): add variadic to the spellcheck dictionary
wukchung Aug 16, 2026
84fc8c5
refactor(anvil): drop the rebuild recipe and fix the listed descriptions
wukchung Aug 24, 2026
e8df075
refactor(anvil): name the hook functions for what they supply
wukchung Aug 24, 2026
1893e0d
Merge origin/main into u/mhavelka/anvil-container-minimal
wukchung Aug 24, 2026
5d1d6f0
fix(anvil): capture main's workflow changes in the snapshots
wukchung Aug 24, 2026
961ea5b
fix(anvil): correct the claims and links the recent rewrites invalidated
wukchung Aug 25, 2026
f0db147
docs(anvil): name both owned-file marker exceptions
wukchung Aug 25, 2026
126f5c4
Merge branch 'main' into u/mhavelka/anvil-container-minimal
wukchung Aug 25, 2026
0a8eb6c
test(anvil): cover the container behaviour changes and the 0.4.0 upgrade
wukchung Aug 25, 2026
b05e11b
Merge remote-tracking branch 'origin/u/mhavelka/anvil-container-minim…
wukchung Aug 25, 2026
95885af
docs(anvil): record why WSLENV is not restored after the run
wukchung Aug 25, 2026
fa30b1a
fix(anvil): close the correctness gaps found in the driver and its tests
wukchung Aug 25, 2026
a921037
Merge remote-tracking branch 'origin/main' into u/mhavelka/anvil-cont…
wukchung Aug 25, 2026
3386dc9
fix(anvil): close the last identity hole and correct what the docs claim
wukchung Aug 25, 2026
72c68eb
fix(anvil): use the launching just for the token probe, and stop docu…
wukchung Aug 25, 2026
d4d47ca
fix(anvil): stop two commands answering a question they were not asked
wukchung Aug 25, 2026
a626f9f
fix(anvil): make the digest spec implementable and route the last nes…
wukchung Aug 25, 2026
6efa285
fix(anvil): hash input bytes, not decoded text
wukchung Aug 26, 2026
08354da
refactor(anvil): compose the container Dockerfile from managed regions
wukchung Aug 26, 2026
52d0ea7
fix(anvil): use American spelling and drop bare section refs from new…
wukchung Aug 26, 2026
eaaf188
fix(anvil): satisfy the clippy, readme and mutation gates
wukchung Aug 26, 2026
1a90bc6
style(anvil): let the region-order diagnostic fit one line
wukchung Aug 26, 2026
70b34b9
fix(anvil): close four composition faults found in review
wukchung Aug 26, 2026
65e9e43
fix(anvil): fold the composed-host lookups into one and backtick Buil…
wukchung Aug 27, 2026
8b18263
fix(anvil): keep a refused host untouched in the lock as well as on disk
wukchung Aug 27, 2026
43244cc
test(anvil): stop the mutants-diff tests inheriting the CI environment
wukchung Aug 27, 2026
1f0a8ad
test(anvil): show the recipe's own output when the mutants-diff contr…
wukchung Aug 27, 2026
c651998
test(anvil): skip the mutants-diff contract where the recipe has no b…
wukchung Aug 27, 2026
1240523
test(anvil): guard the arm skip test on tool availability
wukchung Aug 27, 2026
85138ad
refactor(anvil): put every anvil line in a region and make the base o…
wukchung Aug 27, 2026
8f5ce53
test(anvil): cover the ordered-insertion placement and its splice
wukchung Aug 27, 2026
1a48f75
fix(anvil): stop ordered insertion skipping a line of the adopter's gap
wukchung Aug 27, 2026
7e0e033
fix(anvil): close four faults found in review
wukchung Aug 27, 2026
94b56fb
fix(anvil): drop a dead condition the mutation gate flagged
wukchung Aug 27, 2026
534b153
fix(anvil): resolve casing before every lock lookup, and stop hashing…
wukchung Aug 27, 2026
831965e
fix(anvil): make the refusal atomic across both removal loops
wukchung Aug 27, 2026
0672e7d
feat(anvil): run any command in the container, not only a recipe
wukchung Aug 28, 2026
1231616
Merge origin/main into u/mhavelka/anvil-container-minimal
wukchung Aug 28, 2026
e4599dd
fix(anvil): restore the tests the merge dropped and untrack stray pro…
wukchung Aug 28, 2026
5680d36
fix(anvil): stop recipe fixtures inheriting the caller's impact scoping
wukchung Aug 28, 2026
1548263
fix(anvil): carry the argv contract into the live-engine scripts
wukchung Aug 28, 2026
5f30dbd
docs(anvil): drop the verification section and use a common container…
wukchung Aug 28, 2026
8db0e91
docs(anvil): state the region contract instead of describing it
wukchung Aug 28, 2026
3aa8a4e
fix(anvil): delete a retired owned file under its on-disk casing
wukchung Aug 28, 2026
a0611bc
fix(anvil): splice a region removal into this pass's text, not the fi…
wukchung Aug 28, 2026
980af65
fix(anvil): reject a manifest path that escapes the repository
wukchung Aug 28, 2026
e87e2f9
Merge origin/main into u/mhavelka/anvil-container-minimal
wukchung Aug 28, 2026
38640f0
fix(cargo-anvil): close five gaps in the container driver and retire …
wukchung Aug 30, 2026
31a46c3
fix(cargo-anvil): restore the trailing newline and dictionary entry t…
wukchung Aug 30, 2026
1cfd22b
fix(cargo-anvil): fold the executable bit into the container image tag
wukchung Aug 30, 2026
d9c25b4
fix(cargo-anvil): reject a manifest path that names a directory, and …
wukchung Aug 30, 2026
578d44f
fix(cargo-anvil): reject a backslash in a manifest path
wukchung Aug 30, 2026
821aaff
fix(cargo-anvil): keep the ignore file reachable, stop an unstaged ch…
wukchung Aug 30, 2026
271a039
fix(cargo-anvil): stop the mode-drift guard firing on an absent path
wukchung Aug 30, 2026
a22da4f
fix(cargo-anvil): compare the working-tree mode against the bit the d…
wukchung Aug 30, 2026
539f290
fix(cargo-anvil): frame the whole git mode in the image tag, not one bit
wukchung Aug 30, 2026
f99bd39
fix(cargo-anvil): refuse a link among the image inputs, and key the m…
wukchung Aug 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
130 changes: 79 additions & 51 deletions .anvil.lock
Original file line number Diff line number Diff line change
@@ -1,39 +1,11 @@
version = 1
tool = "anvil"
tool_version = "0.5.0"
catalog_checksum = "sha256:b9e76e5dab6d2cd8cd2eaea04bd1b4457ea8839a688795981dc4cc9a415f8092"
catalog_checksum = "sha256:0cdc61db9e974a45898d27d2f2a764599e8e08fa90b78cfeb037f5193204aa2b"

[[file]]
path = ".anvil/container/Containerfile"
checksum = "sha256:4c343282b4e773978ff29b7d39e3a0955975bf64ad3e63afe1aa53e51be42916"

[[file]]
path = ".anvil/container/Containerfile.dockerignore"
checksum = "sha256:359c2bd70d599ff1e5674eae2af5bb35f344f78e642da7024cfdc6efc5d345da"

[[file]]
path = ".anvil/container/README.md"
checksum = "sha256:ea255c3659e17dee291ded4633394d080c5aae8bd6e3e87295f27ffab5f428bc"

[[file]]
path = ".anvil/container/entrypoint.sh"
checksum = "sha256:09576bca317f5a413572f6626fc052214f885589f0547ed0b0c044b92cc402e7"

[[file]]
path = ".anvil/container/image-id.ps1"
checksum = "sha256:8cdd2dd9cdfb037d768802e4dda7d1156f626dc711663e6bc39fbb86d1ce2e04"

[[file]]
path = ".anvil/container/image-id.sh"
checksum = "sha256:b526a643e42902dd1e8acff65529fb63741760f72c14b123e9747394158faf53"

[[file]]
path = ".anvil/container/run-in-container.ps1"
checksum = "sha256:b29d0b7a362d204ce9da0739ae61a480b71239aed52e84c4e015e8ea074e5b06"

[[file]]
path = ".anvil/container/run-in-container.sh"
checksum = "sha256:0f4fcf0fef43e4736260af771cae15b7eb8afc382e5290fabddc52894b09139d"
path = ".anvil/container/Dockerfile.dockerignore"
checksum = "sha256:9c7906c20415ca3b832afb075c21e79f191ef14ee2fb4b6a5a95394e8b2153c1"

[[file]]
path = ".github/actions/anvil-impact/action.yml"
Expand Down Expand Up @@ -73,7 +45,7 @@ checksum = "sha256:d4d3bd645a5586e9a1cc3a5fc27e38c93e59b1e29f83ede0ccd610273eec0

[[file]]
path = "justfiles/anvil/checks/aprz.just"
checksum = "sha256:62d8334b55b0ba3b221550037dec987d9749e773f40df6c0cd18f08164c095bf"
checksum = "sha256:0f9f3dd3c8a2f034ebf4f2ac0344cba3db79612ff2fc2ea037bfabbaacb1be12"

[[file]]
path = "justfiles/anvil/checks/audit.just"
Expand Down Expand Up @@ -165,7 +137,7 @@ checksum = "sha256:9e9d0cbfef1e1e1586c2af4e9c387719c2f017ea1203d326baacc3ae25df8

[[file]]
path = "justfiles/anvil/checks/mutants-diff.just"
checksum = "sha256:cb9721c1cc94161ea8bc20ccd94209daa23d83d1beda9f3c0969e2031a135022"
checksum = "sha256:d13b1c467b8899d54e3567cb8d1a2157c4a54ac7ba9dabc00a09f3105fddb9b4"

[[file]]
path = "justfiles/anvil/checks/mutants-full.just"
Expand All @@ -181,7 +153,7 @@ checksum = "sha256:d346399f288570066e53fd123baf05f7d4a57f17da8ee687a6d881204c5ba

[[file]]
path = "justfiles/anvil/checks/semver-check.just"
checksum = "sha256:1b8b67f8c054c8da03d43b746f28c20f5366996e3dea3c21cf25d04a6496a072"
checksum = "sha256:021ea0f7185b183aeb5a53810e4a227964710593410e4a1942b4b2dea3fe4547"

[[file]]
path = "justfiles/anvil/checks/spellcheck.just"
Expand All @@ -193,7 +165,7 @@ checksum = "sha256:6efd7378a2cd0f5d86519bd32fd86f2055a60191187dd77a8842b374b8eb7

[[file]]
path = "justfiles/anvil/container.just"
checksum = "sha256:cbec6450a64f800963ea5ba9d2eedfa4e90d91d441307f18d109629f849126ad"
checksum = "sha256:f2abdfa0853d3e259ce445e7fe3f9e4c5f022124b04406ca0cf9e793ce7e929c"

[[file]]
path = "justfiles/anvil/groups/pr-fast.just"
Expand All @@ -217,39 +189,35 @@ checksum = "sha256:ea96d29e261b454a585c0ba3dc7954a35d0c726e9e94f6bb7c82f15261531

[[file]]
path = "justfiles/anvil/groups/scheduled-advisories.just"
checksum = "sha256:55bba93aa828d6c3e2b72b637627511703dfb2d84262a2a8608bd5e247f56d2b"
checksum = "sha256:4f9940bb54fd7cd1d622f3207f7c43f38f95232a370f7537b15546271d88805d"

[[file]]
path = "justfiles/anvil/groups/scheduled-exhaustive.just"
checksum = "sha256:46699373120faccca1462d68b4184531375b557ea787958b7e63472dab038820"
checksum = "sha256:0b9023c614ae400c30f7131fc939b318bf6ee2ba086b18d45491fa30691694e7"

[[file]]
path = "justfiles/anvil/groups/scheduled-runtime-analysis.just"
checksum = "sha256:e0bc75b9aa950ac8f3bfd07a0e506260a48aa6e669da3c1feed69a1b29733ce2"
checksum = "sha256:51d43ac7399183467cb137f655fa0f1f0c6cf4980aab019dc5898a40ad18259d"

[[file]]
path = "justfiles/anvil/groups/scheduled-test.just"
checksum = "sha256:a00153eda6b55d4db33e8019fa74f4a905f9c80b10b0db10955179c0af3e9c05"
checksum = "sha256:04679222579a090769403f5aae7c9ffabbf5bd559ddb1f17b5a0655152172846"

[[file]]
path = "justfiles/anvil/helpers.just"
checksum = "sha256:6b71379310b986e9a44000ba9d072c3f8934397a0f7fb1bf27a31a7742ca7002"
checksum = "sha256:1208b9a51b94ef9bf60a898d23c35c97175279c661a90e774ec3960989b4c5c9"

[[file]]
path = "justfiles/anvil/impact.just"
checksum = "sha256:5714a138135154b91b234f6bad06ec3ade0e5780f761d631c1eca92b6010e5ad"

[[file]]
path = "justfiles/anvil/mod.just"
checksum = "sha256:76ded6ee071fc3ba1b2b38ca97c0b2d15ab75db20ceda44c57436e5cd249ae0b"

[[file]]
path = "justfiles/anvil/runner.just"
checksum = "sha256:a5fb128a307c72cbd31dccba8b7dc044a350522e692583423724f48f51b4580d"
checksum = "sha256:2f7f0187f8c45716a1bed85f0c45ffbc71cdf592ed6414c9bc4cd72cf716a3a5"

[[file]]
path = "justfiles/anvil/tiers.just"
checksum = "sha256:5b2d91569f3fe87cd5f516623a01b5c7ae855ad587870ef9a2ae6d5619dd9d34"
checksum = "sha256:00453a12cbb34811ee6a2c083dade5f6198575e3b0610f49e4743366326cdd18"

[[file]]
path = "justfiles/anvil/tools.just"
Expand All @@ -259,6 +227,31 @@ checksum = "sha256:a1e44ca16f172b487afa3997f102512733d3b65a4418cf894cbd749a3abc1
path = "justfiles/anvil/versions.just"
checksum = "sha256:acbea93d5117db747537f4f7b9a5eb90b7d3e0dd3e8684cc0e4dc1dcb15ac93e"

[[region]]
host = ".anvil/container/Dockerfile"
id = "anvil-container-base"
checksum = "sha256:734e21d8ae8ce8c0a00f54a36a3a9f15a02b52eff11c27f3de4f7cd60bb95449"

[[region]]
host = ".anvil/container/Dockerfile"
id = "anvil-container-base-image"
checksum = "sha256:64fa253bd48baecd440ae02cb13d2626e17be6e2bb0e1b19e3345baeade04abb"

[[region]]
host = ".anvil/container/Dockerfile"
id = "anvil-container-entry"
checksum = "sha256:7b409a9b560c214e10b50f74330fb6f8c0c12c3d83494e0dcf016f2411b50365"

[[region]]
host = ".anvil/container/Dockerfile"
id = "anvil-container-setup"
checksum = "sha256:ecba82c02af5b339dfa073239cfbe396205db6395288d891837f5fba3f7644cd"

[[region]]
host = ".anvil/container/Dockerfile"
id = "anvil-container-tools"
checksum = "sha256:0b6923e81ec99170ece298fcd9ef875f26a3ff018708ce5ec21b4b1dd7a18900"

[[region]]
host = ".delta.toml"
id = "anvil-delta"
Expand All @@ -279,11 +272,6 @@ host = "Justfile"
id = "anvil-imports"
checksum = "sha256:f8affd59b69c7083c2f3b6f593c63672116dda974c1e661dcb66a4412eb3eada"

[[region]]
host = "Justfile"
id = "anvil-runner"
checksum = "sha256:a31c6dd3fc8402e1e89fcf1948e03103e0dc66fbb988c34510eddeded5a67b0e"

[[region]]
host = "clippy.toml"
id = "anvil-clippy"
Expand Down Expand Up @@ -324,6 +312,46 @@ host = "crates/cargo-ensure-no-default-features/Cargo.toml"
id = "anvil-lints"
checksum = "sha256:2dd7c0f21339fd17092b8dedfe924aa86732c3520baab84f914c2d8f4103ac40"

[[region]]
host = "crates/cargo-gamma-attrs-impl/Cargo.toml"
id = "anvil-lints"
checksum = "sha256:2dd7c0f21339fd17092b8dedfe924aa86732c3520baab84f914c2d8f4103ac40"

[[region]]
host = "crates/cargo-gamma-attrs/Cargo.toml"
id = "anvil-lints"
checksum = "sha256:2dd7c0f21339fd17092b8dedfe924aa86732c3520baab84f914c2d8f4103ac40"

[[region]]
host = "crates/cargo-gamma-engine/Cargo.toml"
id = "anvil-lints"
checksum = "sha256:2dd7c0f21339fd17092b8dedfe924aa86732c3520baab84f914c2d8f4103ac40"

[[region]]
host = "crates/cargo-gamma-lib/Cargo.toml"
id = "anvil-lints"
checksum = "sha256:2dd7c0f21339fd17092b8dedfe924aa86732c3520baab84f914c2d8f4103ac40"

[[region]]
host = "crates/cargo-gamma-process/Cargo.toml"
id = "anvil-lints"
checksum = "sha256:2dd7c0f21339fd17092b8dedfe924aa86732c3520baab84f914c2d8f4103ac40"

[[region]]
host = "crates/cargo-gamma-rt/Cargo.toml"
id = "anvil-lints"
checksum = "sha256:2dd7c0f21339fd17092b8dedfe924aa86732c3520baab84f914c2d8f4103ac40"

[[region]]
host = "crates/cargo-gamma-unsafe/Cargo.toml"
id = "anvil-lints"
checksum = "sha256:2dd7c0f21339fd17092b8dedfe924aa86732c3520baab84f914c2d8f4103ac40"

[[region]]
host = "crates/cargo-gamma/Cargo.toml"
id = "anvil-lints"
checksum = "sha256:2dd7c0f21339fd17092b8dedfe924aa86732c3520baab84f914c2d8f4103ac40"

[[region]]
host = "crates/cargo-heather/Cargo.toml"
id = "anvil-lints"
Expand Down
69 changes: 0 additions & 69 deletions .anvil/container/Containerfile

This file was deleted.

26 changes: 0 additions & 26 deletions .anvil/container/Containerfile.dockerignore

This file was deleted.

Loading
Loading