GitHub Actionsが動かなかったことでちょっと迷ってたけど、デフォルトのブランチ名が変わったからだった

タイトルオチ

GitHub Actionsを動かしたかった

ざつに作ったアプリケーションでgh-pagesを使いたかったので、以下の記事から雑に引用してGitHub Actionsを使用したデプロイを試みた。

qiita.com

引用するとこう

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が起動しない

github.com

f:id:naari_3:20201231004603p:plain
CIが走っていることを示す・が出てくれない…

まぁCIってそういうものだし…

結局数分くらい待っても動かなかった

マネージドでないCIを運用していた経験が多いこともあり、「CIって割とコミットを取り逃したりするよね、あるある~」とか言いながら、次は適当なコミットを追加することにした

本当はamendで良いのではとも思ってたが、workflowのファイルを追加したコミットでは反応しないのでは?という邪推もあったのでコミットを追加した

しかし、やはり起動しない

github.com

f:id:naari_3:20201231010749p:plain
意味のないコミット

原因

この時点で既にリポジトリActions タブにはworkflowが追加されていたので、yml自体の悪さではないということはわかっており、何が悪いのかよくわからず手詰まりになっていた

全体を俯瞰した時、「ちゃんと on: push: branches: - master になっているしなぁ~」と見直したタイミングでようやく

「あ!デフォルトブランチってもうmasterじゃないじゃん!!!」

となりました…

いつかのタイミング以降、リポジトリを新規で作成するとデフォルトブランチは master ではなく main になっているのでみなさんは注意してください…

github.com

f:id:naari_3:20201231010829p:plain
念願の✔

おわりに

今会社で使っているGH:eはまだデフォルトがmasterのままで、それに依存した実装とか存在している覚えがあるのでその対応をしなければならない気がする

多分他の人もこれで困ると思う(特に過去のコードをコピペだけで動かしたいという需要は絶対に存在する)し、各自が気をつける、サンプルを更新するなどしていただきたい