GitHub Actions で自前ビルドの Erlang/OTP を利用する場合は Docker Hub 経由がおすすめです。いろいろ試してみて最小限の yml ができたので公開しておきます。
yml ファイル
name: make-github-workflow
on:
push:
paths-ignore:
- 'doc/**'
- '**.rst'
pull_request:
jobs:
make-github:
runs-on: ubuntu-latest
container:
image: shiguredo/erlang:otp-23.0-rc2-ubuntu-18.04
steps:
- uses: actions/checkout@v2
- run: make github
- name: Slack Notification
if: failure()
uses: rtCamp/action-slack-notify@v2.0.1
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
簡単な解説
runs-os
は ubuntu-latest
をおすすめします、この上で docker を起動して動かします。
container.image
で利用する docker コンテナのイメージが指定できます、ここでは時雨堂が独自ビルドしている Erlang/OTP 23.0-rc2 on Ubuntu 18.04 のイメージを利用しています。
Docker Hub
https://hub.docker.com/r/shiguredo/erlang
GitHub
https://github.com/shiguredo/dockerfiles/tree/master/erlang
失敗したときのみ Slack 経由で通知するようにしています。 if: failure()
がその部分です。
未確認
- rebar3 deps + GitHub プライベートレポジトリが ssh-agent を利用してもうまく動きません
- ビルドに失敗し、その後成功したときのみ通知する fixed の実現方法がわかりません
- secrets がリポジトリごとではなく組織単位で共通化する方法がわかりません
- 複数の OTP での検証をする場合は色々ややこしそうです
Top comments (0)