GitHub Actions をローカルで実行する方法を備忘録として残しておく
前提
- Mac OS
- OS Version: Sonoma 14.4.1
- Chip: Apple M1
- Container 管理ツール
- Rancher Desktop
- 使用ツール
- GitHub Actions
- 既に作成済想定
act のインストール
Home Brew でインストールする
brew install act
使用方法
- act で実行可能な一覧を表示する
act -l
WARN ⚠ You are using Apple M-series chip and you have not specified container architecture, you might encounter issues while running act. If so, try running it with '--container-architecture linux/amd64'. ⚠
Stage Job ID Job name Workflow name Workflow file Events
0 ci ci ci ci.yml push,pull_request
- act コマンドを使用して実行する
例. push 時の Job 確認
※M1 なので ‘–container-architecture linux/amd64’ を付与して実行
act push --container-architecture linux/amd64
Trouble Shooting
docker host に関するエラー
act push --container-architecture linux/amd64
INFO[0000] Using docker host '127.0.0.1', and daemon socket '127.0.0.1'
[ci/ci] 🚀 Start image=catthehacker/ubuntu:act-latest
[ci/ci] 🐳 docker pull image=catthehacker/ubuntu:act-latest platform=linux/amd64 username= forcePull=true
Error: failed to connect to docker daemon: unable to parse docker host `127.0.0.1`
参考 を実施する
export DOCKER_HOST=$(docker context inspect --format '{{.Endpoints.docker.Host}}')
マウントできないに関するエラー
act push --container-architecture linux/amd64
INFO[0000] Using docker host 'unix:///Users/<<User Name>>/.rd/docker.sock', and daemon socket 'unix:///Users/<<User Name>>/.rd/docker.sock'
[ci/ci] 🚀 Start image=catthehacker/ubuntu:act-latest
[ci/ci] 🐳 docker pull image=catthehacker/ubuntu:act-latest platform=linux/amd64 username= forcePull=true
Error: failed to list containers: error during connect: Get "http://%2FUsers%2F<<User Name>>%2F.rd%2Fdocker.sock/v1.45/containers/json?all=1": EOF
参考 を実施する
--container-daemon-socket -