👻
GitHub Actionsでprivate repositoryをpub getする
Flutterのパッケージでgitのprivate repositoryを参照しているとき
例:
foo:
git:
url: git@github.com:najeira/my_private_repo.git
ref: ef7567ed67d09e79cdc84195ef69b6f716311170
GitHub ActionsでFlutterのテストを実行する場合には、
そのままではflutter pub getが失敗するので、設定が必要です。
SSH鍵の用意
ssh-keygen -t ed25519 -f ./deploy_key -N "" -C "git@github.com:najeira/my_private_repo.git"
コメントに参照されるrepositoryのURLを入れておきましょう。
複数の別のrepositoryを扱いたいときに、後述のssh-agentがコメントを利用します。
Deploy Keys
参照されるprivate repositoryにて、
生成した公開鍵(.pubのほう)を登録
手順:
- Settings
- Deploy Keys
- Add deploy key
Secrets
参照するほうのrepository(もしくはOrganization)にて、
生成した秘密鍵を登録
手順:
- Settings
- Secrets and variables
- Actions
- New repository secret
GitHub Actions
webfactory/ssh-agent
を利用します。
前段で登録した秘密鍵のsecret(名前例:PRIVATE_REPO_SSH_KEY
)を設定。
例:
flutter_test:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- uses: webfactory/ssh-agent@v0.7.0
with:
ssh-private-key: ${{ secrets.PRIVATE_REPO_SSH_KEY }}
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
- run: flutter pub get
- run: flutter test --no-test-assets
Discussion