@ankhorage/devtools 1.10.4 → 1.10.6
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/README.md +1 -1
- package/dist/tools/workflows/files/release.yml +16 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -338,7 +338,7 @@ A repository participates in Changesets synchronization when `.changeset/config.
|
|
|
338
338
|
.github/workflows/release.yml
|
|
339
339
|
```
|
|
340
340
|
|
|
341
|
-
CI and Release render their `bun-version` from the same managed Bun runtime policy used for `package.json`. They also render Changesets status, version, and publish commands from the same policy that owns the synchronized package scripts. The CI workflow installs that Bun version with the frozen lockfile, builds before repository-provider validation, runs `bunx @ankhorage/ankh doctor validate .`, and conditionally runs lint, formatting, Knip, tests, typecheck, and Changesets checks. Ordinary pull requests run the strict `changeset:status --since=origin/main` guard. A same-repository `changeset-release/main` pull request instead runs `bun run changeset -- status --since=HEAD`, validating the Version Packages metadata from the detached release checkout without requiring a local `main` ref or another unreleased Changeset after the release Changeset was consumed. A fork using that branch name remains subject to the ordinary strict guard. Release publishing calls the Devtools-owned runner through the synchronized package script; it never resolves an ambient or mutable Changesets executable.
|
|
341
|
+
CI and Release render their `bun-version` from the same managed Bun runtime policy used for `package.json`. They also render Changesets status, version, and publish commands from the same policy that owns the synchronized package scripts. The CI workflow installs that Bun version with the frozen lockfile, builds before repository-provider validation, runs `bunx @ankhorage/ankh doctor validate .`, and conditionally runs lint, formatting, Knip, tests, typecheck, and Changesets checks. Ordinary pull requests run the strict `changeset:status --since=origin/main` guard. A same-repository `changeset-release/main` pull request instead runs `bun run changeset -- status --since=HEAD`, validating the Version Packages metadata from the detached release checkout without requiring a local `main` ref or another unreleased Changeset after the release Changeset was consumed. A fork using that branch name remains subject to the ordinary strict guard. Release publishing calls the Devtools-owned runner through the synchronized package script; it never resolves an ambient or mutable Changesets executable. Changesets v3 creates the local release tags; the managed workflow pushes those exact tags and creates any missing GitHub Releases directly, without parsing Changesets’ human-readable publish output.
|
|
342
342
|
|
|
343
343
|
The Renovate workflow accepts only same-repository branches created by `renovate[bot]`. It calls the SHA-pinned `ankhorage/renovate` workflow to add a release Changeset for runtime Ankhorage dependency updates or an empty Changeset for dev-only updates. The trusted workflow scopes the Ankhorage Renovate Sync GitHub App token to the current repository and uses it only for the validated commit, allowing every normal pull-request CI workflow to start without manual approval. It never checks out or executes pull-request code in the privileged `pull_request_target` context.
|
|
344
344
|
|
|
@@ -57,9 +57,25 @@ jobs:
|
|
|
57
57
|
publish: __ANKH_CHANGESETS_PUBLISH_COMMAND__
|
|
58
58
|
commit: Version Packages
|
|
59
59
|
title: Version Packages
|
|
60
|
+
createGithubReleases: false
|
|
60
61
|
env:
|
|
61
62
|
GITHUB_TOKEN: ${{ github.token }}
|
|
62
63
|
|
|
64
|
+
- name: Finalize Changesets v3 tags and GitHub releases
|
|
65
|
+
if: hashFiles('.changeset/config.json') != ''
|
|
66
|
+
env:
|
|
67
|
+
GH_TOKEN: ${{ github.token }}
|
|
68
|
+
run: |
|
|
69
|
+
git tag --points-at HEAD | while IFS= read -r tag; do
|
|
70
|
+
if [ -z "$tag" ]; then
|
|
71
|
+
continue
|
|
72
|
+
fi
|
|
73
|
+
git push origin "refs/tags/$tag"
|
|
74
|
+
if ! gh release view "$tag" --repo "$GITHUB_REPOSITORY" >/dev/null 2>&1; then
|
|
75
|
+
gh release create "$tag" --repo "$GITHUB_REPOSITORY" --generate-notes
|
|
76
|
+
fi
|
|
77
|
+
done
|
|
78
|
+
|
|
63
79
|
- name: Skip release
|
|
64
80
|
if: hashFiles('.changeset/config.json') == ''
|
|
65
81
|
run: echo "No Changesets config found; skipping release."
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/devtools",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.6",
|
|
4
4
|
"description": "Shared development tools and repository standards for Ankhorage",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/ankhorage/devtools#readme",
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
"typescript-eslint": "^8.69.0"
|
|
125
125
|
},
|
|
126
126
|
"devDependencies": {
|
|
127
|
-
"@ankhorage/ankh": "^0.8.
|
|
127
|
+
"@ankhorage/ankh": "^0.8.9",
|
|
128
128
|
"@ankhorage/doctor": "0.10.6",
|
|
129
129
|
"@types/bun": "^1.4.0",
|
|
130
130
|
"@types/node": "^26.4.1",
|