あ
タイトルオチ
GitHub Actionsを動かしたかった
ざつに作ったアプリケーションでgh-pagesを使いたかったので、以下の記事から雑に引用してGitHub Actionsを使用したデプロイを試みた。
引用するとこう
name: github pages # masterブランチにプッシュしたときjobsに記述した操作を行う on: push: branches: - master jobs: build-deploy: # ubuntu OS を仮想マシン上に用意する runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v2 # Node.js環境のセットアップを行う - name: setup node uses: actions/setup-node@v1 with: node-version: '12.x' # npm install の際にキャッシュを使うよう設定 - name: Cache dependencies uses: actions/cache@v1 with: path: ~/.npm key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node- # package.jsonに基づき依存パッケージをインストールする - name: install run: npm install --frozen-lockfile # Next.jsアプリをビルドする # プロジェクトルート直下に.nextディレクトリができる - name: build run: npm run build # 静的なHTMLとしてNext.jsアプリを生成する # プロジェクトルート直下にoutディレクトリができる # そのなかに、HTMLファイル群と、それらが読み込むJSファイル群を収めた_nextディレクトリがある - name: export run: npm run export # しかしGitHub Pagesの仕様として_から始まるディレクトリが見えず404となる # つまりHTMLからJSを読み込めない # これを回避するために.nojekyllファイルをoutディレクトリに作る - name: add nojekyll run: touch ./out/.nojekyll # gh-pagesブランチにoutディレクトリの中身をプッシュする # gh-pagesブランチは自動的に作成される - name: deploy uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./out
俯瞰し、コピペでいけるやん!となってウキウキでpushしたが、そもそもGitHub Actionsが起動しない
まぁCIってそういうものだし…
結局数分くらい待っても動かなかった
マネージドでないCIを運用していた経験が多いこともあり、「CIって割とコミットを取り逃したりするよね、あるある~」とか言いながら、次は適当なコミットを追加することにした
本当はamendで良いのではとも思ってたが、workflowのファイルを追加したコミットでは反応しないのでは?という邪推もあったのでコミットを追加した
しかし、やはり起動しない
原因
この時点で既にリポジトリの Actions タブにはworkflowが追加されていたので、yml自体の悪さではないということはわかっており、何が悪いのかよくわからず手詰まりになっていた
全体を俯瞰した時、「ちゃんと on: push: branches: - master
になっているしなぁ~」と見直したタイミングでようやく
「あ!デフォルトブランチってもうmasterじゃないじゃん!!!」
となりました…
いつかのタイミング以降、リポジトリを新規で作成するとデフォルトブランチは master
ではなく main
になっているのでみなさんは注意してください…
おわりに
今会社で使っているGH:eはまだデフォルトがmasterのままで、それに依存した実装とか存在している覚えがあるのでその対応をしなければならない気がする
多分他の人もこれで困ると思う(特に過去のコードをコピペだけで動かしたいという需要は絶対に存在する)し、各自が気をつける、サンプルを更新するなどしていただきたい