[wakatime | github] wakatime github action failed 이슈 해결하기
gitHub의 메인페이지를 장식하는데 유용한 wakatime의 README가 업데이트되지 않은 지, 3주가 흘렀다.
첫번째로 github action이 잘 돌아가고 있는 지 확인해봤는데, 아니나 다를까 action 들이 3주전부터 fail상태였다.
fail한 원인에 대해서 알고싶은데 내역이 아무것도 뜨지않아서 가장 빠르게 체크할 수 있는 action에 등록해놓은 token의 유효기간을 체크하였다.
[ action jobs log 확인하기 ]
+ 다시 보니 action error 내역을 확인할 수 있다^^ Jobs의 name(아래 이미지에서 “Update Readme with Metrics”)을 클릭하면 어디서 action의 에러가 났는지 확인해볼 수 있으니 github action을 활용할 때 이 점을 기억해두면 좋을 거 같다.
운이 좋아서 에러 내역을 보지 않고도 유추하여 해결했지만 보통 action이 실패하면 실패원인을 알려주는 error log를 참고하는 게 좋다.

.github/workflows/wakatime.yml
name: Waka Readme
on:
schedule:
# Runs at 12am IST
- cron: '30 18 * * *'
workflow_dispatch:
jobs:
update-readme:
name: Update Readme with Metrics
runs-on: ubuntu-latest
steps:
- uses: anmol098/waka-readme-stats@master
with:
WAKATIME_API_KEY: ${{ secrets.WAKATIME_API_KEY }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
LOCALE: "ko"
SHOW_LINES_OF_CODE: "False"
SHOW_PROFILE_VIEWS: "False"
SHOW_DAYS_OF_WEEK: "False"
SHOW_SHORT_INFO: "False"
SHOW_LOC_CHART: "False"
SHOW_PROJECTS: "False"
SHOW_LANGUAGE_PER_REPO: "False"
- 여기서 들어가는 key는 2개 와카타임 API 키와 깃허브 토큰
- API 키는 발급당시 기간이 따로 없던 거 같고 그렇다면 깃허브 토큰이 문제인 거 같았다.
확인해보니 내 classic token 이 만료된 상태였다. 다시 새롭게 classic token을 발급해서 action의 GH_TOKEN 키의 값을 업데이트해주었는데도 불구하고 fail 에러가 떴다.
와카타임 공식 repo에 들어가서 README를 읽어봤는데, 프로파일 리드미를 사용하고 있는 유저들의 token이 현재 beta로 나와있는 fine grained token 을 사용해야하는 거 같았다. (2023-08-24 기준)
If you are using GH_TOKEN, make sure set the fine grained token scope to repository contents with read-and-write access. See #141 (comment).
위의 이슈를 타고 들어가보면, fine grained token의 권한 부여설정을 어떻게 해주라는 거 같은데 처음에는 살짝 헤맸다.

발급 받을 때, Repository access 를 Public Repositories (read-only) 가 아닌 All repositories 로 선택해주고
하단에 생기는 Permissions > Contents 의 설정을 read and write로 바꿔줘야 한다.

새로 발급한 token 값을 복사해서 기존에 등록된 GH_TOKEN 값을 업데이트해준다.
그 다음 실패한 action 내역을 눌러서 오른쪽 상단의 re-run jobs 버튼을 눌러주고 결과를 기다린다. (기도메타)

해결 완료! 다시 정상적으로 README 프로필이 돌아간다.

