Closed17

act を使ってみる[Github Actions on local]

tkttkt

タスクランナーとしてカジュアルに呼べるようにしたい

tkttkt

環境変数とか渡さないといけないのであれば、タスクランナーとしては使いにくそう

tkttkt
  • act -s MY_SECRET - check for an environment variable named MY_SECRET and use it if it exists. If the environment variable is not defined, prompt the user for a value.

これ使う

tkttkt
# echo $AWS_REGION
ap-northeast-1
# act
Provide value for ' AWS_REGION':

あるのに聞かれる

tkttkt

.atcrc-s オプションを使うとスペースも含んじゃうみたいなバグな気がする

tkttkt
# act -j test -s DISCORD_TOKEN -s AWS_ACCESS_KEY_ID
Provide value for 'AWS_ACCESS_KEY_ID -SAWS_SECRET_ACCESS_KEY -SDISCORD_TOKEN': Error: context canceled

複数指定ができない

tkttkt

こう書いたら通った

.actrc
-sAWS_REGION
-sAWS_ACCESS_KEY_ID
-sAWS_SECRET_ACCESS_KEY
-sDISCORD_TOKEN
tkttkt
docker-compose.yml
name: Test

on:
  push:

defaults:
  run:
    shell: bash
    working-directory: ./

env:
  AWS_REGION: ${{ secrets.AWS_REGION }}
  AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
  AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
  DISCORD_TOKEN: ${{ secrets.DISCORD_TOKEN }}

jobs:
  test:
    name: Test
    runs-on: ubuntu-latest
    environment:
      name: heroku_production

    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Install docker-compose
        if: ${{ env.ACT }}
        run: |
          apt-get update && apt-get install -y docker docker-compose

      - name: Build containers
        run: docker-compose build app

      - name: Test
        run: |
          docker-compose run app /bin/bash -c "RUST_BACKTRACE=1 cargo test"

tkttkt
      - name: Install docker-compose
        if: ${{ env.ACT }}
        run: |
          apt-get update && apt-get install -y docker docker-compose

ACT のときだけ docker-compose の install を走らせるようにした。
github で走らせる場合はデフォルトで入ってるので必要ない

tkttkt

最終テストとしては良いけど、カジュアルに走らせるのには重そう
特に今回は docker-compose 経由で test してるので

tkttkt

dependencies を満たした image をアップロードしておいて、ローカル、Github、ACT、全部共通でそこを見るって形にすれば多少マシにはなりそう

tkttkt

デフォルトだと push のイベントを拾うけど、それだとリリース系のアクションもひろわれて、タスクランナーとして使えない

act で調節するか、push 以外に変えるかで対応したい

このスクラップは2021/06/28にクローズされました