# THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. # Edit https://github.com/cert-manager/makefile-modules/blob/main/modules/repository-base/base/.github/workflows/make-self-upgrade.yaml instead. name: make-self-upgrade concurrency: make-self-upgrade on: workflow_dispatch: {} schedule: - cron: '0 0 * * *' jobs: self_upgrade: runs-on: ubuntu-latest permissions: contents: write pull-requests: write env: SOURCE_BRANCH: "${{ github.ref_name }}" SELF_UPGRADE_BRANCH: "self-upgrade-${{ github.ref_name }}" steps: - name: Fail if branch is not head of branch. if: ${{ !startsWith(github.ref, 'refs/heads/') && env.SOURCE_BRANCH != '' && env.SELF_UPGRADE_BRANCH != '' }} run: | echo "This workflow should not be run on a non-branch-head." exit 1 - uses: actions/checkout@v4 - id: go-version run: | make print-go-version >> "$GITHUB_OUTPUT" - uses: actions/setup-go@v5 with: go-version: ${{ steps.go-version.outputs.result }} - run: | git checkout -B "$SELF_UPGRADE_BRANCH" - run: | make -j upgrade-klone make -j generate - id: is-up-to-date shell: bash run: | git_status=$(git status -s) is_up_to_date="true" if [ -n "$git_status" ]; then is_up_to_date="false" echo "The following changes will be committed:" echo "$git_status" fi echo "result=$is_up_to_date" >> "$GITHUB_OUTPUT" - if: ${{ steps.is-up-to-date.outputs.result != 'true' }} run: | git config --global user.name "cert-manager-bot" git config --global user.email "cert-manager-bot@users.noreply.github.com" git add -A && git commit -m "BOT: run 'make upgrade-klone' and 'make generate'" --signoff git push -f origin "$SELF_UPGRADE_BRANCH" - if: ${{ steps.is-up-to-date.outputs.result != 'true' }} uses: actions/github-script@v7 with: script: | const { repo, owner } = context.repo; const pulls = await github.rest.pulls.list({ owner: owner, repo: repo, head: owner + ':' + process.env.SELF_UPGRADE_BRANCH, base: process.env.SOURCE_BRANCH, state: 'open', }); if (pulls.data.length < 1) { await github.rest.pulls.create({ title: '[CI] Merge ' + process.env.SELF_UPGRADE_BRANCH + ' into ' + process.env.SOURCE_BRANCH, owner: owner, repo: repo, head: process.env.SELF_UPGRADE_BRANCH, base: process.env.SOURCE_BRANCH, body: [ 'This PR is auto-generated to bump the Makefile modules.', ].join('\n'), }); }