@plainconceptsplatform/workflows 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -155,8 +155,9 @@ for (const file of readdirSync(workflowDirectory)) {
155
155
  // Install only when the pinned version is missing, and take a lock so two jobs starting at
156
156
  // once cannot both write the global prefix.
157
157
  // gh-aw pins opencode-ai 1.2.14 at every release checked, up to v0.90.0. That version is
158
- // from 2026-02-25. The harness expects 1.18.9 and this is the current release, so a gh-aw
159
- // upgrade does not move it and the pin is ours to choose.
158
+ // from 2026-02-25, and it was the pin the guard used until the OpenCode 2 migration: the
159
+ // harness now ships @opencode/cli at OPENCODE_VERSION above, and the pin is ours to choose
160
+ // because a gh-aw upgrade does not move it.
160
161
  // gh-aw defaults NPM_CONFIG_MIN_RELEASE_AGE to 3 days, which blocks any package
161
162
  // published in the last three days with ETARGET "No matching version found ... with a
162
163
  // date before". Lowered to 1 so a fix released yesterday is usable. This is a
@@ -278,9 +279,21 @@ for (const file of readdirSync(workflowDirectory)) {
278
279
  indent + ' env:\n' + indent + ' DOTNET_INSTALL_DIR: ${{ runner.tool_cache }}/dotnet\n')
279
280
  // OpenCode 2 ships as @opencode/cli, not opencode-ai. gh-aw's engine manifest
280
281
  // still names opencode-ai and installs it with --ignore-scripts, which blocks
281
- // the postinstall that selects the platform binary. Rewrite the install to the
282
- // V2 package with scripts enabled, then rename every remaining reference,
283
- // versioned or bare (a path, a comment).
282
+ // the postinstall that selects the platform binary.
283
+ //
284
+ // The whole guard is replaced, not just the install inside it. gh-aw emits
285
+ // opencode --version | grep -qF '<gh-aw pin>' || sh -c 'npm install … opencode-ai@<pin>'
286
+ // and rewriting only the inner install left the outer grep on gh-aw's pin while
287
+ // the image carries ours: the grep never matched, so the guard re-ran the install
288
+ // on every job, and a lock already wearing the sentinel was never revisited. The
289
+ // first pattern below collapses that shape — outer guard, wrapper and all — to a
290
+ // single clean guard; the second handles a bare install the outer guard is absent from.
291
+ .replace(
292
+ /opencode --version[^\n]*grep -qF '[0-9][0-9.]*' \|\|[^\n]*?npm install --ignore-scripts -g opencode-ai@[0-9][0-9.]*[^\n]*/g,
293
+ () =>
294
+ "opencode --version 2>/dev/null | grep -qF '" + OPENCODE_VERSION + "' || " +
295
+ "flock /tmp/opencode-install.lock npm install -g " + OPENCODE_PACKAGE + "@" + OPENCODE_VERSION +
296
+ " # " + OPENCODE_PACKAGE + "@" + OPENCODE_VERSION)
284
297
  .replace(
285
298
  /npm install --ignore-scripts -g opencode-ai@([0-9][0-9.]*)/g,
286
299
  () =>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plainconceptsplatform/workflows",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Install and update Platform GitHub agentic workflows.",
5
5
  "keywords": [
6
6
  "github-actions",