mmag

ハマったことメモなど

GitHub ActionsからHexにパッケージを公開する

name: Publish
on:
  push:
    tags: ['v*']
jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: erlef/setup-elixir@v1
      with:
        otp-version: '23.1.1'
        elixir-version: '1.11.2'
    - uses: actions/cache@v1
      with:
        path: deps
        key: ${{ runner.os }}-pkg-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}
        restore-keys: |
          ${{ runner.os }}-pkg-
    - run: mix deps.get
    - run: mix hex.publish --yes
      env:
        HEX_API_KEY: ${{ secrets.HEX_API_KEY }}

やるべきことはmix hex.publishだけで、それ以外はそのための準備。HexのAPIキーが必要なので、ダッシュボードから発行して、リポジトリのSettingsにHEX_API_KEYとして登録しておきましょう。vから始まるタグがpushされたら走るようにしていますがその辺はお好きなように。