Skip to content

feat: uroborosql-fmt NAPI バージョンの自動更新#103

Draft
ppputtyo wants to merge 1 commit intomainfrom
feature/update-napi-download-source-to-github-releases
Draft

feat: uroborosql-fmt NAPI バージョンの自動更新#103
ppputtyo wants to merge 1 commit intomainfrom
feature/update-napi-download-source-to-github-releases

Conversation

@ppputtyo
Copy link
Copy Markdown
Collaborator

概要

uroborosql-fmt リポジトリが release-plz によるバージョン管理に移行したことに伴い、NAPI バイナリの取得先を GitHub Pages から GitHub Releases に変更し、バージョン更新を自動化する。

関連: future-architect/uroborosql-fmt#233

変更内容

1. NAPI ダウンロード URL の変更

// Before (GitHub Pages — 新バージョンで上書きされ旧版が消える)
"https://future-architect.github.io/uroborosql-fmt/uroborosql-fmt-napi-1.0.1.tgz"

// After (GitHub Releases — バージョンごとに残る)
`https://github.com/future-architect/uroborosql-fmt/releases/download/v${NAPI_VERSION}/${tgzName}`
  • バージョンを NAPI_VERSION 定数に抽出(sed での置換を安全にするため)

2. バージョン自動更新ワークフロー

.github/workflows/update-napi-version.yml:

  • 毎日 UTC 0:00 に uroborosql-fmt の最新リリースをチェック
  • 新バージョンを検知したら自動 PR を作成
  • 更新対象: server/download-uroborosql-fmt-napi.mjsserver/package.json
  • 手動実行 (workflow_dispatch) も可能
  • トークンはデフォルトの GITHUB_TOKEN を使用。GITHUB_TOKEN で作成した PR は GitHub のループ防止仕様により CI が自動実行されないが、バージョン番号の変更のみの PR なので手動 Re-run で十分と判断した。CI を自動実行したい場合は PAT に変更する。

NAPI バージョン更新時の運用フロー

1. uroborosql-fmt で新バージョン (例: v1.0.2) がリリースされる

2. update-napi-version.yml が検知し、自動 PR を作成
   ブランチ: update-napi-1.0.2
   変更内容: NAPI_VERSION 定数と server/package.json のバージョン番号のみ

3. 開発者が uroborosql-fmt のリリース内容を確認し、vscode 拡張のリリースが必要か判断
   - リリース不要 → そのままマージ(次回リリースに含まれる)
   - リリースする → 4 へ

4. 自動 PR のブランチにチェックアウトして changeset を追加
   $ git checkout update-napi-1.0.2
   $ npx changeset
     → patch / minor / major を選択(コアの変更内容に応じて判断)
     → リリースノートの文言を記入
   $ git add .changeset/
   $ git commit -m "chore: add changeset"
   $ git push

5. PR をマージ

6. changesets が Release PR を自動作成(バージョン更新 + CHANGELOG 生成)

7. Release PR をマージ → VS Code Marketplace に自動公開

マージ後に必要な手動作業

  • Workflow permissions が「Read and write permissions」であることを確認
    • Settings → Actions → General → Workflow permissions

検討事項

  • 自動 PR を automerge にするか — しない。uroborosql-fmt はフォーマットのコアエンジンであり、変更がユーザー体験に直結する。CI (lint + compile) だけではフォーマット結果の妥当性は検証できないため、マージは手動で判断する。自動 PR は「新バージョンが出た」ことへの通知として機能すれば十分。
  • 自動 PR に changeset を自動追加するか — しない。changeset の内容(patch / minor / major、リリースノートの文言)はコアの変更内容に依存するため、手動で判断して追加する。

変更ファイル

ファイル 操作
server/download-uroborosql-fmt-napi.mjs 修正: URL 変更、NAPI_VERSION 定数化
.github/workflows/update-napi-version.yml 新規: バージョン自動更新ワークフロー

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Mar 30, 2026

⚠️ No Changeset found

Latest commit: 3e48b96

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant