Repository navigation
chore: the gate checks the release; packaging inputs are packaged on the branch - #64
Merged
Merged
Conversation
… on the branch scripts/prod_check.sh compiles the tree under MIX_ENV=prod, assembles the headless release and evaluates its runtime configuration, which is the only thing in the gate that executes runtime.exs's prod branch (116 lines nothing else ran). Measured: 52 s cold, 2 s warm, and red on slice 062's F5, the defect it exists for. package.yml gains branches beside tags with the same path filter, so a change to a packaging input is packaged on the branch that makes it rather than at the tag. It is not the guard for a prod-only code defect: the filter does not match lib/. Signed-off-by: Ayla Croft <aylacroft@proton.me>
…does The fips leg refused it: compiling prod builds the dependencies in that environment and tokenizers fetches a precompiled NIF over TLS, which OTP's ssl cannot do in the mode (docs/fips-leg.md finding 1, the same HelloRetryRequest problem that stops Hex reaching hex.pm). Whether the tree compiles for release is not a FIPS property; the FIPS properties are mix test --trace test/fips, which stays in the mode. Signed-off-by: Ayla Croft <aylacroft@proton.me>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes the follow-up slice 062 left: the gate never compiled
:prod, so a defect that only existsin a release could not surface until a tag was pushed, which is after approval.
What was measured before choosing
MIX_ENV=prod mix compile+ mix release headless+ bin/headless evalpackageon branchesThe last row is the reason the gate step is the primary fix rather than the packaging trigger.
package.yml's path filter ismix.exs,mix.lock,config/**,src-tauri/**,rust-toolchain.toml,.tool-versions— it does not matchlib/. Slice 062's defect was inlib/trinity/mcp/server/plug.ex; the fix commit for it touched no filtered path at all. Abranches trigger would have caught the slice only because it happened to add
josetomix.exsin the same slice. A pure code change with the same defect would still reach the tag unseen.
CI minutes are not the constraint here (the repository is public, so GitHub-hosted runners are
free); wall clock and flake surface are, which is why the 16-minute three-OS build stays on the
inputs that actually govern it.
What this changes
scripts/prod_check.sh, run bymix gateascmd ./scripts/prod_check.sh, the same wayplan_check.shis: its own process, its own exit code. Three commands, each for a class the onebefore it cannot see — prod compile, release assembly, runtime-config evaluation. Demonstrated
red against slice 062's original closure and green after it.
package.ymlgainsbranches: ['**']beside its tags, same path filter. A dependency, atoolchain pin or a Tauri change is now packaged on the branch that makes it instead of at the
tag. This is the class the gate step cannot reach: a NIF that will not load under Burrito's musl
ERTS (slice 013's
mdexfinding) needs a real bundle, not a compile.CLAUDE.md's Definition of Done names the release check;ROADMAP.mdcarries the change-logline with the measurements.
What it still does not prove
Nothing here builds a Burrito binary, loads a NIF under musl, builds the Tauri shell, or runs on
macOS or Windows. That remains
package's job, on tags, on packaging-input pushes, and on demand.