Update Go #107
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Update Go | |
"on": | |
schedule: | |
- cron: 17 2 * * 1 | |
workflow_dispatch: {} | |
jobs: | |
update: | |
name: Update Go | |
runs-on: | |
- ubuntu-latest | |
steps: | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "1.22" | |
- uses: actions/checkout@v4 | |
- name: Update Go Version & Modules | |
id: update-go | |
run: | | |
#!/usr/bin/env bash | |
set -euo pipefail | |
if [ -z "${GO_VERSION:-}" ]; then | |
echo "No go version set" | |
exit 1 | |
fi | |
OLD_GO_VERSION=$(grep -P '^go \d\.\d+' go.mod | cut -d ' ' -f 2) | |
go mod edit -go="$GO_VERSION" | |
go mod tidy | |
go get -u -t ./... | |
go mod tidy | |
git add go.mod go.sum | |
git checkout -- . | |
if [ "$OLD_GO_VERSION" == "$GO_VERSION" ]; then | |
COMMIT_TITLE="Bump Go Modules" | |
COMMIT_BODY="Bumps Go modules used by the project. See the commit for details on what modules were updated." | |
COMMIT_SEMVER="semver:patch" | |
else | |
COMMIT_TITLE="Bump Go from ${OLD_GO_VERSION} to ${GO_VERSION}" | |
COMMIT_BODY="Bumps Go from ${OLD_GO_VERSION} to ${GO_VERSION} and update Go modules used by the project. See the commit for details on what modules were updated." | |
COMMIT_SEMVER="semver:minor" | |
fi | |
echo "commit-title=${COMMIT_TITLE}" >> "$GITHUB_OUTPUT" | |
echo "commit-body=${COMMIT_BODY}" >> "$GITHUB_OUTPUT" | |
echo "commit-semver=${COMMIT_SEMVER}" >> "$GITHUB_OUTPUT" | |
env: | |
GO_VERSION: "1.22" | |
- uses: peter-evans/create-pull-request@v6 | |
with: | |
author: ${{ secrets.IMPLEMENTATION_GITHUB_USERNAME }} <${{ secrets.IMPLEMENTATION_GITHUB_USERNAME }}@users.noreply.github.com> | |
body: |- | |
${{ steps.update-go.outputs.commit-body }} | |
<details> | |
<summary>Release Notes</summary> | |
${{ steps.pipeline.outputs.release-notes }} | |
</details> | |
branch: update/go | |
commit-message: |- | |
${{ steps.update-go.outputs.commit-title }} | |
${{ steps.update-go.outputs.commit-body }} | |
delete-branch: true | |
labels: ${{ steps.update-go.outputs.commit-semver }}, type:task | |
signoff: true | |
title: ${{ steps.update-go.outputs.commit-title }} | |
token: ${{ secrets.IMPLEMENTATION_GITHUB_TOKEN }} |