Repository navigation
Releases: a11ign/toolchain
Releases · a11ign/toolchain
Release list
v0.15.0
Minor Changes
- 30709ee:
release-per-merge.ymltakes two optional inputs,release-filesandafter-version, so a caller can carry files into its release.release-filesnames an artifact the caller uploaded earlier in the same run: theversionjob downloads it, and thetagjob downloads it and attaches itsassets/files to the lone package's Release, in the onegh release createcall, so the Release never exists without them.after-versionis a shell command run in theversionjob, in the repository root, withRELEASE_FILESset to the downloaded artifact, afterchangeset versionand before the release commit, only when a releasable package moved: what it writes is in the commit that is tagged and published, and a non-zero exit fails the job before any commit. Both default to empty, and a caller that sets neither releases exactly as before.
v0.14.0
Minor Changes
- 0ed1a5b: The generated
.github/workflows/dependabot-auto.ymlhas aconcurrencyblock (A11-254): the runs for one pull request share a group, and a newer pull-request event cancels the older run, so a rebase or a burst of pushes leaves one run and a person's push cancels anapprovestill running for the push before it. Acicompletion is its own group, keyed by its run id, and is never cancelled, so a redgateis always commented. The template changed, so a consumer'sdependabot-config --checkgoes red on this release untildependabot-config --writeis run there.
v0.13.0
Minor Changes
- d69a40e:
dependabot-config --writealso writes.github/workflows/dependabot-auto.yml(A11-254), and--checkfails when it has drifted. The workflow approves a Dependabot patch, minor or non-major GitHub Actions update as the Octo STS App when every commit on the pull request is Dependabot's, and hands it toauto-arm.yml'sarm-approved, so it merges whengateis green with no person. A major is never approved. It dismisses its own approvals when someone else pushes to the branch, reruns an infrastructure failure ofcionce, and comments any other redgatewith the failing jobs' error lines.--checkalso reads the repository's two hand-written Octo STS policies (.github/chainguard/dependabot-approve.sts.yaml, pinned to dependabot[bot]'s id andmain's copy of the workflow, anddependabot-guard.sts.yaml), fails whenauto-arm.ymlhas noarm-approvedjob, and fails when any other workflow submits an approving review. A repository adopting this release needs the two policies before its--checkpasses.
v0.12.0
Minor Changes
- 89c8aa9:
dependabot-configwrites the directory of each local composite action (.github/actions/<name>/action.yml) into the repository'sgithub-actionsentry, beside/, asdirectories:of the one entry. Dependabot reads a local action'suses:only when its directory is named, so control'sactions/cachepin inside itsansible-collectionsaction, which the hand-written file covered, stays covered after A11-253 (a11ign/control#144). A repository with no local action gets the same file as before; the template changes only for one that has one, so a consumer's drift check goes red on this release only in control.
v0.11.0
Minor Changes
- 0a4b607:
dependabot-configwrites and checks every repository's.github/dependabot.ymlfrom one template (A11-253): weekly at one fixed time, one<ecosystem>-minor-and-patchgroup per ecosystem with majors apart, thedepscommit prefix, a seven-day cooldown, Dependabot's default labels, and the packages frozen by policy (FROZEN, exported as./dependabot-frozen) ignored in every npm entry beside the workspace's own packages.--checkfails, with the diff and the--writecommand, when the committed file is not what--writeproduces. A repository's.github/dependabot-extra.jsoncan add only an ignore with its reason, npm directories and a versioning strategy. The conventions A11-254 and A11-255 read are exported asDEPENDABOT_GROUP_SUFFIX,DEPENDABOT_COMMIT_PREFIXanddependabotGroupName.readLayoutTreetakes the names of further files to read as text, andworkspacePackageNamesis exported from./layout-check.
v0.10.2
Patch Changes
- 007fb8f: New export
@a11ign/toolchain/refusal-owners-are-open: the reader that checks a release gate'sREFUSEDstrings and::errorlines name an OPEN owning row.refusalsInPackageJson,refusalsInWorkflow,refusalsInTree,ownersOf,findings,failures,describeandreadIssueStateare the reader;readIssueState(repo)takes the repository a bare#nnames, so the caller supplies its own. ACLOSEDor unreadable owner fails, and onlyOPENpasses.
v0.10.1
Patch Changes
- 235d885:
withGitSandboxthrowsSandboxNotRemovedError, naming the directory and the pid, when the sandbox directory is still there after its removal, so a surviving sandbox fails the test that made it instead of surfacing in another process's teardown. Removal is an optional third argument,{ remove }, a seam for that test; the default is unchanged. Closes a11ign/a11ign#5520.
v0.10.0
Minor Changes
- 2df8c57:
isolation-gateno longer readslayers.json: it packs everypackages/*directory that is not private, and a layer's checkout is no longer special-cased. The exportleftOutLayerCheckoutsis removed with it, and the gate's CLI no longer prints a "leaving out" line. A consumer that still callsleftOutLayerCheckoutsmust drop the call; a repository that keeps a layer checkout underpackages/and does not want it packed must keep that checkout out ofpackages/itself.
v0.9.0
Minor Changes
- 1054d19:
lib/ci-changedno longer classifies anansiblecategory:ClassifyResultloses theansiblefield,jobsFornever returns"ansible", and the CLI's output block no longer printsansible=. The category was a change tolayers.json, and each repository now checks its own playbooks. A consumer that readsteps.<id>.outputs.ansiblegets an empty value; the core'sci.ymlreader is removed by a11ign/a11ign#4920.
v0.8.0
Minor Changes
- 20ed0ca:
walk-scopetakes the project's root fromA11IGN_PROJECT_ROOTwhen it is set, so a repository can import@a11ign/toolchain/lib/walk-scopeinstead of keeping a declared copy of it. Without itREPO_ROOTis the directory two levels above the module, which installed as a dependency is the toolchain's own copy under the consumer'snode_modules: a guard'sWALK_SCOPEwas then relative to the wrong tree and reads of the project were not observed. The value must be an absolute path to an existing directory (it is resolved to its real path, as the package-relative root is); a value that is not -- missing, a file, relative, or empty -- throws at import and names the value, rather than falling back to the toolchain's own tree. Unset, nothing changes (a11ign/a11ign#4873, following #4718 and agent-org#522).