GitHub actionsでSkickaを使う方法


GitHub actionsからGoogle Drive APIのラッパーであるSkickaを使う方法です。
公開されているactionもあるんですが、macがサポートされていなかったり、ダウンロード機能がなかったりしたので、直接Skickaを使えるように調べました。
認証情報の取得方法は https://qiita.com/sekitaka_1214/items/85875d64c226b2f7ab86 を参考にしてください。

steps:
  - run: echo SETUP_SKICKA
  - uses: actions/setup-go@v2
  # skickaダウンロード
  - run: go get github.com/google/skicka
  # シークレットから認証情報を流し込み
  - run: |
      cat <<EOF >> $HOME/.skicka.config
      [google]
      ;Override the default application client id used by skicka.
      clientid=$GOOGLE_CLIENT_ID
      clientsecret=$GOOGLE_CLIENT_SECRET
      EOF
    shell: bash
    env:
      GOOGLE_CLIENT_ID: ${{secrets.GOOGLE_CLIENT_ID}}
      GOOGLE_CLIENT_SECRET: ${{secrets.GOOGLE_CLIENT_SECRET}}
  - run: chmod 600 $HOME/.skicka.config
  # シークレットから認証情報を流し込み
  - run: echo $SKICKA_TOKENCACHE_JSON > $HOME/.skicka.tokencache.json
    shell: bash
    env:
      SKICKA_TOKENCACHE_JSON: ${{secrets.SKICKA_TOKENCACHE_JSON}}
  - run: chmod 600 $HOME/.skicka.tokencache.json
  # 実際に使う
  - run: $HOME/go/bin/skicka -no-browser-auth download hoge/ ./hoge