地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

【GitHub Actions】PRを自動生成する

アプリケーションの修正でDockerPushされたらPRを作成したいケースで欲しかったので書いてみた。

      - name: Create pull request
        uses: actions/github-script@v2
        env:
          BRANCH: ${{ steps.get_branch.outputs.BRANCH }}
          VERSION: ${{ steps.bump_version.outputs.VERSION }}
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          script: |
            github.pulls.create({
              owner: context.repo.owner,
              repo: context.repo.repo,
              title: `chore(*): bump v${process.env.VERSION}`,
              body: `version: ${process.env.BRANCH}`,
              head: process.env.BRANCH,
              base: "main"
            })

何が嬉しいの?

appとmanifestが混在しているリポジトリでCDが容易に実装できる。dev環境はargocdでautosyncしておけばPRみるだけで開発環境への適用が自動化可能。