📝

GitHubActionsが動作しなくなったので修正した
March 28, 2025March 28, 2025
#ブログ制作#GitHub Actions#Develop

このブログのデプロイ用の GitHubActions が動作しなくなったので修正した。

原因

Error: Missing download info for actions/cache@v1

actions/cache@v1 が利用できなくなっていた。 どうやら 2025 年 3 月 1 日以降、actions/cache@v1 および @v2 は非対応になり、利用できなくなったようだ

@actions/cache Package Deprecation Notice. Upgrade to the latest `4.0.0` or higher before February 1st 2025 · actions toolkit · Discussion #1890

TLDR; The cache backend service has been rewritten from the ground up for improved performance and reliability. The @actions/cache package now integrates with the new cache service (v2) APIs. The n...

GitHub

@actions/cache Package Deprecation Notice. Upgrade to the latest `4.0.0` or higher before February 1st 2025 · actions toolkit · Discussion #1890

対応

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 周りの依存を見直すようにしたい。

参考

おしまい



Home Assistantを使ってみる
March 23, 2025March 28, 2025

自宅の IoT 機器の操作や状態を確認するときにアプリで分断されており使いづらいため、 HomeAssistant というツールで統合できそうなので試してみた。 HomeAssistant で気に入ったところ 自宅に設置できる OSS でありインテグレーションの開発が盛ん ダッシュボード機能がある HomeAssi…

Continue reading...
sakakinox

Written by sakakinox
Server enginier

Copyright © sakakinox.net 2021-2025.