このブログのデプロイ用の GitHubActions が動作しなくなったので修正した。
原因
Error: Missing download info for actions/cache@v1
actions/cache@v1 が利用できなくなっていた。
どうやら 2025 年 3 月 1 日以降、actions/cache@v1
および @v2
は非対応になり、利用できなくなったようだ
対応
master.yaml を編集して新しいバージョンを利用するように変更した checkout と setup-node もこの機会に v4 にアップデートした。 また以前の VPS デプロイ用に使っていた ssh-key-action は不要なため削除した。
name: vps_deploy
on:
push:
branches:
- main
jobs:
build-deploy:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: setup node
uses: actions/setup-node@v4
with:
node-version: "18.x"
- name: Cache dependencies
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Gen dotenv
run: |
echo ENV_NAME=\"\">>.env.production
echo GOOGLE_ANALYTICS_ID=\"${{secrets.GOOGLE_ANALYTICS_ID}}\">>.env.production
echo GOOGLE_ADSENSE_ID=\"${{secrets.GOOGLE_ADSENSE_ID}}\">>.env.production
echo NR_ACC_ID=\"${{secrets.NR_ACC_ID}}\">>.env.production
echo NR_TRUST_KEY=\"${{secrets.NR_TRUST_KEY}}\">>.env.production
echo NR_AGENT_ID=\"${{secrets.NR_AGENT_ID}}\">>.env.production
echo NR_LICENSE_KEY=\"${{secrets.NR_LICENSE_KEY}}\">>.env.production
echo NR_APP_ID=\"${{secrets.NR_APP_ID}}\">>.env.production
- name: Gen ads.txt
run: |
echo google.com, `echo ${{secrets.GOOGLE_ADSENSE_ID}}|cut -b 4-`, DIRECT, f08c47fec0942fa0>static/ads.txt
- name: install
run: npm ci
- name: format
run: npm run format
- name: ogpfetch
run: npm run ogpfetch
- name: test
run: npm run test
- name: build
run: npm run build
- name: Publish to Cloudflare Pages
uses: cloudflare/pages-action@1
with:
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
projectName: sakakinox-gatsby-blog
directory: ./public
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
まとめ
GitHubActions が利用できなくなる問題に直面したが、簡単に解決できる内容で良かった。 提供されているアクションに関してあまり頓着していなかったので反省 しかし、このおかげで master.yaml 全体を見直すきっかけになった。 今後は定期的に CI/CD 周りの依存を見直すようにしたい。
参考
おしまい