LoginSignup
2
0

Github Actionsでdiffチェックをしてみよう

Last updated at Posted at 2021-07-24

#初めに
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が出た。

###エラーの原因

  1. CircleCiでは全てのlogを持ってくる
  2. 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 へ!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0