600なファイルがあるとcircleci local executeでcheckoutが失敗する
600なファイルがあるとcircleci local executeでcheckoutが失敗することについて書きました
CircleCIのジョブをローカルで実行しようとする。
circleci local execute
このように表示されてジョブの実行に失敗することがある。
cp: cannot open '/tmp/_circleci_local_build_repo/./.git/TAG_EDITMSG' for reading: Permission denied
表題のとおり、権限が600
なファイルが存在するとcircleci local execute
は確実に失敗する。
今回は、 TAG_EDITMSG
というファイルが良くなかった。
akira@x1yoga:~/sandbox/project1/.git$ ls -la total 80 drwxrwxr-x 8 akira akira 4096 12月 13 10:18 . drwxrwxr-x 10 akira akira 4096 12月 12 12:10 .. drwxrwxr-x 2 akira akira 4096 11月 30 18:14 branches -rw-rw-r-- 1 akira akira 703 12月 12 17:19 config -rw-rw-r-- 1 akira akira 73 11月 30 18:14 description -rw-rw-r-- 1 akira akira 5369 12月 13 09:21 FETCH_HEAD -rw-rw-r-- 1 akira akira 33 12月 12 11:59 HEAD drwxrwxr-x 2 akira akira 4096 11月 30 18:14 hooks -rw-rw-r-- 1 akira akira 14213 12月 12 17:19 index drwxrwxr-x 2 akira akira 4096 11月 30 18:14 info drwxrwxr-x 3 akira akira 4096 12月 6 13:02 logs drwxrwxr-x 87 akira akira 4096 12月 13 10:17 objects -rw-rw-r-- 1 akira akira 41 12月 12 11:59 ORIG_HEAD -rw-rw-r-- 1 akira akira 2680 11月 30 18:14 packed-refs drwxrwxr-x 5 akira akira 4096 12月 6 14:34 refs -rw------- 1 akira akira 82 12月 13 10:18 TAG_EDITMSG
このファイルができた経緯について。git tag -a v1.0.0
した際にタグのメッセージを編集するためエディタが開く。ここで何も入力せずにエディタを閉じる。このとき、権限が 600
の TAG_EDITING
というファイルが残る。
今回のケースで circleci local execute
を成功させるためには単に TAG_EDITMSG
を削除すれば良い。