Skip to content

Latest commit

 

History

History
95 lines (65 loc) · 3.19 KB

github-actions.md

File metadata and controls

95 lines (65 loc) · 3.19 KB

GitHub Actions 関連

Note

個々のツールの GitHub Actions の実行方法はツールごとのドキュメント参照。

README バッチをつける

GitHub Actions の Workflowの結果をバッチで表示

  • リポジトリのActionsのページからCreate status badgeをクリックしてREADME.mdに貼り付ける。

バッチのつけかた

license を示すバッチ(おまけ)

Actionsに関係なくLICENSEファイルを配置しておけばよい

  • https://img.shields.io/github/license/<Github-Username>/<Repository>のようにしてつける。 no license

特定のコミットを使って actions を実行する

コミットハッシュをつかうことでactionsで使うライブラリのバージョン管理ができる。

actions/setup-python@コミットハッシュ

GitHub ActionsでSecretを扱う

公式ドキュメント

2種類のシークレット

  • Environment Secret: Environmentを作成して値を区別して使用できる。Environmentはリポジトリに対して複数作成できる。
  • Repository Secret: リポジトリで共通の値を使う。

使用方法(CLI)

GitHub CLIでリポジトリへsecretを設定 GitHub Actionsで機密情報を扱う方法

  • 個人的には.envから一括投入するのが使いやすそう。今回の例では--envを指定しているが指定しないとRepository Secretになる。
cat .env
API_TOKEN=xxxxxxxx
gh secret set --env environment名 --env-file .env
gh secret list --env development
  • GitHub actionsのyamlから参照する。
jobs:
  runs-on: ubuntu-latest
  environment:
    name: development # actionsのsecretの参照先を指定

  steps:
    -run: |
      echo ${{ secrets.API_TOKEN }}

CodeQLを使ってファイルを出力

Advanced Security must be enabled for this repository to use code scanning 403: GitHub Advanced Security is not enabled

  • publicリポジトリ以外で使用していると出るエラー。

  • 公式ドキュメントを見ると

    • code scanningが有効になっている
    • GitHub Advanced Securityを実行しようとした場合 に出るエラーでcodd scanningが使えるのは無料ではpublicリポジトリのみ。
        # reportsを生成(Actionsから確認できる)
        - name: save report as pipeline artifact
          uses: actions/upload-artifact@v4
          with:
            name: report.sarif
            path: report.sarif
        # scanの結果を解析。GithubのSecurity --> Code Scanning等でアラートが見られる。
        - name: publish code scanning alerts
          uses: github/codeql-action/upload-sarif@v2
          with:
            sarif_file: report.sarif
            category: semgrep