@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
|
|
159
|
-
//
|
|
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.
|
|
282
|
-
//
|
|
283
|
-
//
|
|
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
|
() =>
|