Skip to content

.github/workflows/generate_buildpack_bump_pr.yml #45

.github/workflows/generate_buildpack_bump_pr.yml

.github/workflows/generate_buildpack_bump_pr.yml #45

on:
workflow_dispatch:
schedule:
- cron: "0 9 1 * *"
permissions:
contents: write
env:
GO_VERSION: "1.20"
GIT_AUTHOR_NAME: github-actions
GIT_AUTHOR_EMAIL: [email protected]
jobs:
generate-buildpack-bump-pr:
runs-on: ubuntu-latest
steps:
## Setup
- name: Checkout repo
uses: actions/checkout@v2
with:
submodules: true
- name: Install gettext
run: |
sudo apt install gettext
# for envsubst
- name: "Install Go ${{env.GO_VERSION}}"
uses: actions/setup-go@v2
with:
go-version: "${{env.GO_VERSION}}"
- name: "Install yq"
run: |
go install github.com/mikefarah/yq/v4@5ef537f3fd1a9437aa3ee44c32c6459a126efdc4 # v4.34.1
- name: generate-buildpacks-yml
run: |
./scripts/update_buildpacks.sh
- name: Commit and push
run: |
export NEW_BRANCH_NAME="auto-bump-buildpacks-$(date -u '+%Y%m%dT%H%M')"
export GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
export GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
git checkout -b "$NEW_BRANCH_NAME"
git add config/buildpacks.yml
git add config/buildpacks.rolling.yml
git commit -m 'bump buildpacks'
git push origin "$NEW_BRANCH_NAME"
echo "NEW_BRANCH_NAME=$NEW_BRANCH_NAME" >> $GITHUB_ENV
- name: Create PR
env:
GITHUB_TOKEN: ${{ secrets.GOVUK_PAAS_UNPRIVILEGED_BOT_PAT }}
run: |
FINAL_BODY=$(mktemp)
envsubst < ./.github/workflows/automatic_buildpack_bump_pr_body.md > $FINAL_BODY
gh pr create \
--base main \
--head "$NEW_BRANCH_NAME" \
--title "Buildpack upgrades, $(date -u '+%B %Y')" \
--body-file "$FINAL_BODY"