#初めに
CircleCIからGitHub Actionsへの移行で気づいたことの共有です。
目的:pr際にgithub actionsが動作するように作る。
###環境
actions/checkout@v2
レポジトリ
origin/main
origin/new4
###diffチェックを実行する
on:
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: js diff check
run: git --no-pager diff --name-only --diff-filter=AMCR origin/${GITHUB_BASE_REF}..origin/${GITHUB_HEAD_REF} -- "*.js" \
> js-files.txt || echo 'js not exists'
githubの環境変数については、こちら
###結果
fatal: bad revision 'origin/main..origin/new4'
js not exists
CircleCiでは実行できたコードなのにbad revisionが出た。
###エラーの原因
- CircleCiでは全てのlogを持ってくる
- gihub actionsのcheckout@V2のdefaultはlogを1つ持ってくる
default
@V2: logを一つ持ってくる (depth-fetchが1だ)
@V1: logを全部持ってくる
###解決
- uses: actions/checkout@v2
with:
fetch-depth: 0
depthを設定する必要があった。
###追加で
circlecでのalways
-run:
name: test
when: always
はgithub actionsではif
-name: test
if: ${{ always() }}
で使えます
##終わり
割と簡単な問題だったが、公式docにはなかったものなので、
自分は原因探しに時間がかかってしまいました。
私みたいな人が出ないようにと思って投稿しました。
役に立てたら幸いです。
PR
不動産売却の時は LIFULL HOME'S へ!