Go Release Binary GitHub Action
長瀬 敦史
GitHub Marketplace に Go Release Binary Action を公開しました。
Go Release Binary Action on GitHub Marketplace
この GitHub Action は Go 言語で実装されたコマンドラインツールのバイナリを GitHub のリリースが作成されたら、自動的にビルドを行い、リリース資材に tarball を追加します。
GitHub Actions
GitHub Actions は 2019/02/08 時点では限定公開ベータとして提供されており、以下のページより Beta にサインアップすることで利用できます。
https://github.com/features/actions
利用例
以下のように .workflow ファイルを設置し、GitHub の Releases 機能を使って新しく Release を作成すると、対象のコミットのビルド成果物を自動的にビルドし、リリース資材として追加します。
# .github/main.workflow
workflow "Build" {
  on = "release"
  resolves = [
    "release darwin/amd64",
    "release windows/amd64",
    "release linux/amd64",
  ]
}
action "release darwin/amd64" {
  uses = "ngs/go-release.action@v1.0.0"
  env = {
    GOOS = "darwin"
    GOARCH = "amd64"
  }
  secrets = ["GITHUB_TOKEN"]
}
action "release windows/amd64" {
  uses = "ngs/go-release.action@v1.0.0"
  env = {
    GOOS = "windows"
    GOARCH = "amd64"
  }
  secrets = ["GITHUB_TOKEN"]
}
action "release linux/amd64" {
  uses = "ngs/go-release.action@v1.0.0"
  env = {
    GOOS = "linux"
    GOARCH = "amd64"
  }
  secrets = ["GITHUB_TOKEN"]
}