-
Notifications
You must be signed in to change notification settings - Fork 104
85 lines (71 loc) · 2.5 KB
/
upgrade-golang.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
name: Upgrade Golang
concurrency: Upgrade Golang 2
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * 1'
jobs:
upgrade-golang:
runs-on: ubuntu-latest
container:
image: internalpcfplatformautomation/ci:testing
defaults:
run:
shell: bash
steps:
- id: checkout-om
name: Checkout Om
uses: actions/checkout@v2
with:
fetch-depth: 0
path: om
- id: setup-go
name: Set Go to latest
uses: actions/setup-go@v5
with:
check-latest: true
- id: upgrade-golang
name: Upgrade Golang
working-directory: om
run: |
version=$(go version | awk '{print $3}' | sed 's/go//')
echo "Current go version: $version"
go mod edit -go=$version
go get -u -t ./...
go mod tidy
- id: install-gh-cli
name: Install GH CLI
uses: dev-hanz-ops/install-gh-cli-action@v0.1.0
with:
gh-cli-version: 2.43.1
- id: commit-changes-and-create-pr
name: Commit changes and create PR
working-directory: om
run: |
set -x
branch_suffix=$(echo "${GITHUB_SHA}" | cut -c1-7)
branch_name="tmp/upgrade-golang-${branch_suffix}"
if git show-ref --verify --quiet "refs/remotes/origin/${branch_name}"; then
echo "Branch ${branch_name} already exists. Exiting..."
exit 0
fi
if gh pr list --search "Upgrade Golang in:title" | grep -q "Upgrade Golang"; then
echo "PR with title 'Upgrade Golang' already exists. Exiting..."
exit 0
fi
files_changed=$(git status --porcelain)
if [[ -z ${files_changed} ]]; then
echo "No changes to detected. Exiting..."
exit 0
fi
git config --global url.https://${GITHUB_TOKEN}@github.com/.insteadOf https://github.com/
git config --global user.email "149723437+tas-operability-bot@users.noreply.github.com"
git config --global user.name "tas-operability-bot"
git checkout -b ${branch_name}
git add .
git commit -m "Upgrade Golang"
git push --set-upstream origin ${branch_name}
gh pr create --title "Upgrade Golang" --body "Upgrade Golang" --base main --head ${branch_name}
gh pr merge ${branch_name} --auto --rebase --delete-branch
env:
GITHUB_TOKEN: ${{ secrets.TAS_OPERABILITY_BOT_OM_REPO_PAT }}