アセットアップロード付きGitHubリリース

ビルドアーティファクト、バイナリ、アーカイブをGitHubリリースアセットとしてアップロードするsemantic-release設定。コンパイル済みファイル、ドキュメントアーカイブ、プラットフォーム固有のビルドを添付。

Advanced Configuration

詳細な説明

GitHubリリースへのアセットアップロード

@semantic-release/githubプラグインはファイルをリリースアセットとしてアップロードでき、GitHubリリースページからバイナリ、アーカイブ、ビルドアーティファクトを直接ダウンロードできるようにします。

設定

{
  "branches": ["main"],
  "plugins": [
    "@semantic-release/commit-analyzer",
    "@semantic-release/release-notes-generator",
    ["@semantic-release/exec", {
      "prepareCmd": "npm run build && tar -czf dist.tar.gz dist/"
    }],
    "@semantic-release/npm",
    ["@semantic-release/github", {
      "assets": [
        {"path": "dist.tar.gz", "label": "Distribution Archive"},
        {"path": "dist/**/*.min.js", "label": "Minified JavaScript"}
      ]
    }]
  ]
}

アセット設定オプション

各アセットは文字列(globパターン)または追加プロパティ付きオブジェクトとして指定できます:

プロパティ 説明
path アップロードするファイルにマッチするglobパターン
name アップロードされたアセットのカスタムファイル名
label リリースページに表示される名前

リリース前のビルド

@semantic-release/execprepareCmdを使用して、githubプラグインがアセットをアップロードする前にビルドステップを実行します。prepareステップはpublishステップの前に実行されるため、アップロード時にファイルが存在することが保証されます。

ユースケース

npmパッケージと並んでコンパイル済みバイナリやバンドルされたアーカイブを配布するCLIツール、デスクトップアプリケーション、ライブラリ。ユーザーはGitHub Releasesからプラットフォーム固有のビルドを直接ダウンロードできます。

試してみる — Semantic Release Config Builder

フルツールを開く