Update Dependencies #24
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 Dependencies' | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '0 6 * * 5' | |
env: | |
GOPROXY: https://proxy.golang.org | |
permissions: | |
contents: write | |
pull-requests: write | |
jobs: | |
update-deps: | |
if: ${{ github.repository == 'kubernetes/node-problem-detector' }} | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22.3' | |
- uses: actions/checkout@v4 | |
- name: Update Dependencies | |
id: update_deps | |
run: | | |
make depup | |
echo 'changes<<EOF' >> $GITHUB_OUTPUT | |
git status --porcelain >> $GITHUB_OUTPUT | |
echo 'EOF' >> $GITHUB_OUTPUT | |
- name: Create PR | |
if: ${{ steps.update_deps.outputs.changes != '' }} | |
uses: peter-evans/create-pull-request@v6 | |
with: | |
title: 'Update dependencies' | |
commit-message: Update dependencies | |
committer: github-actions <[email protected]> | |
author: github-actions <[email protected]> | |
branch: dependencies/update | |
branch-suffix: timestamp | |
base: master | |
delete-branch: true | |
labels: ok-to-test | |
body: | | |
Updating go.mod with latest dependencies... | |
update-go-version: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Get current Go version from Dockerfile | |
id: current-go-version | |
run: | | |
# Read the Dockerfile content | |
DOCKERFILE_CONTENT=$(cat Dockerfile) | |
# Extract the current Go version using regex | |
CURRENT_GO_VERSION=$(echo "$DOCKERFILE_CONTENT" | grep -oP 'FROM golang:\K\d+\.\d+(\.\d+)?') | |
echo "current_go_version=${CURRENT_GO_VERSION}" >> $GITHUB_OUTPUT | |
- name: Get latest Go version | |
id: go-version | |
run: | | |
# Fetch the Go download page and extract the latest version | |
LATEST_GO_VERSION=$(curl -s https://go.dev/dl/ | grep -oP 'go1\.22\.\d+' | sort -rV | head -n 1) | |
echo "latest_go_version=${LATEST_GO_VERSION}" >> $GITHUB_OUTPUT | |
- name: Update Go version | |
uses: jacobtomlinson/gha-find-replace@v2 | |
with: | |
find: "FROM golang:${{ steps.current-go-version.outputs.current_go_version }}-bookworm as builder-base" | |
replace: "FROM golang:${{ steps.go-version.outputs.latest_go_version }}-bookworm as builder-base" | |
path: "Dockerfile" | |
- name: Commit and push changes (optional) | |
uses: stefanzweifel/git-auto-commit-action@v4 | |
with: | |
commit_message: "Update Go version in Dockerfile" | |