Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 3 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -545,8 +545,9 @@ jobs:

# REQUIRED BY `version:` BELOW, and nothing in this file says so without
# this comment — which is why there is also a test. `pnpm run version` is
# `changeset version && node scripts/sync-lockstep-versions.mjs`, and that
# script ends in `execFileSync('mise', ['run',
# `changeset version && node scripts/sync-skill-pins.mjs && node
# scripts/sync-lockstep-versions.mjs`, and that last script ends in
# `execFileSync('mise', ['run',
# 'release:prepare_bindings_assets', …])`, which reaches
# `packages/eql/tasks/build.sh` and two `cargo run -p eql-codegen` calls.
# mise is NOT preinstalled on GitHub's ubuntu images, so without this step
Expand Down
11 changes: 6 additions & 5 deletions scripts/__tests__/script-main-guards.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,12 @@ import { REPO_ROOT } from './lib/repo-root.mjs'
* The failure mode is why this guard is repo-wide rather than a comment on the
* one file that got it wrong. A silent exit 0 is indistinguishable from
* success to every caller: `package.json`'s `version` script is
* `changeset version && node scripts/sync-lockstep-versions.mjs`, and the `&&`
* means the no-op reports success while `changeset version` has already bumped
* the npm package — producing exactly the lockstep skew that script exists to
* prevent. CI never sees it (`/home/runner/work/stack/stack` has no space), so
* nothing but this test stands between the outlier and a release.
* `changeset version && node scripts/sync-skill-pins.mjs && node
* scripts/sync-lockstep-versions.mjs`, and the `&&` means the no-op reports
* success while `changeset version` has already bumped the npm package —
* producing exactly the lockstep skew that script exists to prevent. CI
* never sees it (`/home/runner/work/stack/stack` has no space), so nothing
* but this test stands between the outlier and a release.
*/

/** Absolute paths of every `scripts/*.mjs` that is not a test or config file. */
Expand Down
5 changes: 3 additions & 2 deletions scripts/sync-lockstep-versions.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -593,7 +593,8 @@ function main() {
// `fileURLToPath`, not `` `file://${process.argv[1]}` ``: the URL is
// percent-encoded and the argv path is not, so the template form is false from
// any checkout path containing a space — and this script's caller is
// `changeset version && node scripts/sync-lockstep-versions.mjs`, where a
// silent exit 0 reports a completed lockstep bump that never happened.
// `changeset version && node scripts/sync-skill-pins.mjs && node
// scripts/sync-lockstep-versions.mjs`, where a silent exit 0 reports a
// completed lockstep bump that never happened.
// `scripts/__tests__/script-main-guards.test.mjs` holds this form repo-wide.
if (process.argv[1] === fileURLToPath(import.meta.url)) main()
Loading