code-foundry 1.44.9 → 1.44.11
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.
- package/.github/workflows/release.yml +42 -11
- package/CHANGELOG.md +15 -20
- package/package.json +1 -1
|
@@ -202,11 +202,15 @@ jobs:
|
|
|
202
202
|
write_ok=false
|
|
203
203
|
if [ "$HAS_AUTOMATION_TOKEN" = true ] && gh api "repos/${GITHUB_REPOSITORY}" --jq '.full_name' >/dev/null 2>&1; then
|
|
204
204
|
probe_ref="refs/tags/token-write-probe-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}"
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
gh api -X
|
|
208
|
-
|
|
209
|
-
|
|
205
|
+
for wait in 0 10 30; do
|
|
206
|
+
sleep "$wait"
|
|
207
|
+
if gh api -X POST "repos/${GITHUB_REPOSITORY}/git/refs" \
|
|
208
|
+
-f "ref=$probe_ref" -f "sha=${GITHUB_SHA}" >/dev/null 2>&1; then
|
|
209
|
+
gh api -X DELETE "repos/${GITHUB_REPOSITORY}/git/refs/tags/token-write-probe-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}" >/dev/null 2>&1 || true
|
|
210
|
+
write_ok=true
|
|
211
|
+
break
|
|
212
|
+
fi
|
|
213
|
+
done
|
|
210
214
|
fi
|
|
211
215
|
if [ "$write_ok" = true ]; then
|
|
212
216
|
echo "auto_merge=true" >> "$GITHUB_OUTPUT"
|
|
@@ -262,8 +266,28 @@ jobs:
|
|
|
262
266
|
const { execFileSync } = require('node:child_process');
|
|
263
267
|
const fs = require('node:fs');
|
|
264
268
|
|
|
265
|
-
const
|
|
266
|
-
execFileSync('
|
|
269
|
+
const sleep = (seconds) =>
|
|
270
|
+
execFileSync('sleep', [String(seconds)]);
|
|
271
|
+
// Writes intermittently hit GitHub's secondary rate limiting from
|
|
272
|
+
// busy automation accounts (403 with the generic not-accessible
|
|
273
|
+
// message); back off and retry before giving up.
|
|
274
|
+
const gh = (args) => {
|
|
275
|
+
for (const wait of [0, 10, 30]) {
|
|
276
|
+
try {
|
|
277
|
+
if (wait) sleep(wait);
|
|
278
|
+
return execFileSync('gh', args, {
|
|
279
|
+
encoding: 'utf8',
|
|
280
|
+
maxBuffer: 32 * 1024 * 1024,
|
|
281
|
+
});
|
|
282
|
+
} catch (error) {
|
|
283
|
+
const status = error.status;
|
|
284
|
+
const retriable = status === null || status === 403 || status === 429 || status >= 500;
|
|
285
|
+
if (!retriable || wait === 30) throw error;
|
|
286
|
+
console.log(`gh call failed (status ${status ?? 'unknown'}); retrying in ${wait === 0 ? 10 : 30}s`);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
throw new Error('unreachable');
|
|
290
|
+
};
|
|
267
291
|
|
|
268
292
|
const repo = process.env.REPOSITORY;
|
|
269
293
|
const config = JSON.parse(fs.readFileSync(process.env.CONFIG_FILE, 'utf8'));
|
|
@@ -308,13 +332,20 @@ jobs:
|
|
|
308
332
|
if (releasesForCheck.some((release) => release.tag_name === tag)) {
|
|
309
333
|
console.log(`${tag}: release object already exists`);
|
|
310
334
|
} else {
|
|
311
|
-
// No release object for this tag: create it.
|
|
312
|
-
|
|
313
|
-
|
|
335
|
+
// No release object for this tag: create it. The tag may also
|
|
336
|
+
// already exist from a partial earlier attempt; the release
|
|
337
|
+
// creation adopts an existing tag, so ref-creation errors are
|
|
338
|
+
// not fatal.
|
|
339
|
+
if (!tags.includes(tag)) {
|
|
340
|
+
try {
|
|
314
341
|
gh(['api', `repos/${repo}/git/refs`, '-X', 'POST',
|
|
315
342
|
'-f', `ref=refs/tags/${tag}`, '-f', `sha=${pull.merge_commit_sha}`]);
|
|
316
343
|
console.log(`${tag}: tag created at ${pull.merge_commit_sha.slice(0, 10)}`);
|
|
344
|
+
} catch (error) {
|
|
345
|
+
console.log(`${tag}: tag ref creation skipped: ${String(error.message).slice(0, 120)}`);
|
|
317
346
|
}
|
|
347
|
+
}
|
|
348
|
+
try {
|
|
318
349
|
const body = JSON.stringify({
|
|
319
350
|
tag_name: tag,
|
|
320
351
|
name: tag,
|
|
@@ -326,7 +357,7 @@ jobs:
|
|
|
326
357
|
console.log(`${tag}: release object created`);
|
|
327
358
|
} catch (error) {
|
|
328
359
|
failures += 1;
|
|
329
|
-
console.log(`${tag}: creation failed: ${error.message}`);
|
|
360
|
+
console.log(`${tag}: release creation failed: ${String(error.message).slice(0, 160)}`);
|
|
330
361
|
continue;
|
|
331
362
|
}
|
|
332
363
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.44.11](https://github.com/0xPlayerOne/code-foundry/compare/v1.44.10...v1.44.11) (2026-10-06)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **release:** retry the token probe and REST fallback writes with backoff ([#729](https://github.com/0xPlayerOne/code-foundry/issues/729)) ([ad28e18](https://github.com/0xPlayerOne/code-foundry/commit/ad28e18326f0ee8c25950fb649eb81cdb3dc0a1a))
|
|
9
|
+
|
|
10
|
+
## [1.44.10](https://github.com/0xPlayerOne/code-foundry/compare/v1.44.9...v1.44.10) (2026-10-06)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* **release:** treat ref-creation errors in the REST fallback as non-fatal ([#727](https://github.com/0xPlayerOne/code-foundry/issues/727)) ([75ea614](https://github.com/0xPlayerOne/code-foundry/commit/75ea61465e7c4cacd39e3aa8c52df93c2ea9bf03))
|
|
16
|
+
|
|
3
17
|
## [1.44.9](https://github.com/0xPlayerOne/code-foundry/compare/v1.44.8...v1.44.9) (2026-10-06)
|
|
4
18
|
|
|
5
19
|
|
|
@@ -131,28 +145,9 @@
|
|
|
131
145
|
|
|
132
146
|
* **hooks:** delegate the generated pre-commit hook to the runtime ([#684](https://github.com/0xPlayerOne/code-foundry/issues/684)) ([5d9a571](https://github.com/0xPlayerOne/code-foundry/commit/5d9a5714aeff0d48397e3be51b22e08395bfb5ce))
|
|
133
147
|
|
|
134
|
-
## [1.39.1](https://github.com/0xPlayerOne/code-foundry/compare/v1.39.0...v1.39.1) (2026-10-01)
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
### Bug Fixes
|
|
138
|
-
|
|
139
|
-
* report inactive main rulesets in github doctor ([#682](https://github.com/0xPlayerOne/code-foundry/issues/682)) ([695a0b4](https://github.com/0xPlayerOne/code-foundry/commit/695a0b437910aa8e664a481c1648dbadcc1a2de8))
|
|
140
|
-
|
|
141
|
-
## [1.39.0](https://github.com/0xPlayerOne/code-foundry/compare/v1.38.1...v1.39.0) (2026-10-01)
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
### Features
|
|
145
|
-
|
|
146
|
-
* **ci:** surface ungated scheduled workflows in the billing pause controls ([#681](https://github.com/0xPlayerOne/code-foundry/issues/681)) ([ef48f9a](https://github.com/0xPlayerOne/code-foundry/commit/ef48f9a25aa0b22f82b0ed8a512bc1a65d08d8e9))
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
### Maintenance
|
|
150
|
-
|
|
151
|
-
* register the adea-ai ui and themes consumers in the fleet manifest ([#680](https://github.com/0xPlayerOne/code-foundry/issues/680)) ([f50e6c6](https://github.com/0xPlayerOne/code-foundry/commit/f50e6c6a4ef4b7f0396cdce21f53070fec818c50))
|
|
152
|
-
|
|
153
148
|
<!-- code-foundry: packaged changelog -->
|
|
154
149
|
|
|
155
150
|
---
|
|
156
151
|
|
|
157
|
-
This packaged changelog lists the 20 most recent releases;
|
|
152
|
+
This packaged changelog lists the 20 most recent releases; 231 older releases are omitted to keep the package small.
|
|
158
153
|
See the [full changelog](https://github.com/0xPlayerOne/code-foundry/blob/main/CHANGELOG.md) for the complete history.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "code-foundry",
|
|
3
|
-
"version": "1.44.
|
|
3
|
+
"version": "1.44.11",
|
|
4
4
|
"description": "A fast, language-aware repository factory for agent-ready workflows, testing, security, and release automation.",
|
|
5
5
|
"homepage": "https://github.com/0xPlayerOne/code-foundry#readme",
|
|
6
6
|
"bugs": {
|