1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Release Please Action のリリースにファイルもアップロードしたい

Last updated at Posted at 2024-10-01

OSS などのプロジェクトに更新を入れたはいいけれどリリースを打つのが面倒なことよくあると思います。そんな私のような面倒くさがりにも嬉しい GitHub Actions に Release Please Action がありますが、この Release Please が作成したリリースにアーティファクト (ビルドしたファイルなど) をアップロードしたいことがあります。使いやすいテンプレートが見つからなかったため備忘録として書き残します。

リリースフロー

  1. 変更を main (master) にコミットする
  2. Release Please がバージョンを上げる PR を作ってくれる (release-please job)
    • 続けて変更をいれるたびに PR を更新してくれる
    • コミットメッセージの詳細行に Release-As: x.x.x を記述するとバージョンを指定できる
      • empty commit とかでやると便利
    • CHANGELOGversion.txt があったら勝手に更新してくれる
  3. PR をマージする
  4. Release Please がタグとリリースを作成してくれる (release-please job)
  5. Actions でビルドしてアップロードする (upload-artifact job)

この Action はモノレポなど複数のバージョンのパッケージを管理する場合には使用できません。tag_name を使用している箇所を適宜置き換えてください。

設定ファイル

release-please job でリリース / PR を作成し、リリースが作成された場合 upload-artifact job でビルド・アーティファクトのアップロードを行います。

on:
  push:
    branches:
      - main
      - master

permissions:
  contents: write
  pull-requests: write

name: release

jobs:
  release-please:
    runs-on: ubuntu-latest
    timeout-minutes: 1
    outputs:
      release_created: ${{ steps.release.outputs.release_created }}
      tag_name: ${{ steps.release.outputs.tag_name }}

    steps:
      - id: release
        uses: googleapis/release-please-action@v4
        with:
          release-type: simple


  upload-artifact:
    runs-on: ubuntu-latest
    needs: release-please
    if: ${{ needs.release-please.outputs.release_created }}
    timeout-minutes: 5

    steps:
      - uses: actions/checkout@v4

      - uses: leafo/gh-actions-lua@v10
        with:
          lua-version: 5.4

      - name: Build
        run: make build

      - name: Upload Artifact
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: gh release upload ${{ needs.release-please.outputs.tag_name }} fil1 file2 ...
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?