Skip to content

Update Dependencies #29

Update Dependencies

Update Dependencies #29

Workflow file for this run

name: 'Update Dependencies'
on:
workflow_dispatch:
schedule:
- cron: '0 20 * * 4'
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-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4
- 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: Check if Go version was updated
id: check-changes
run: |
if [[ ${{ steps.current-go-version.outputs.current_go_version }} != ${{ steps.go-version.outputs.latest_go_version }} ]]; then
echo "changes=true" >> $GITHUB_OUTPUT
else
echo "changes=false" >> $GITHUB_OUTPUT
fi
- name: Create Pull Request
if: ${{ steps.check-changes.outputs.changes == 'true' }} # Only create PR if there were changes
uses: peter-evans/create-pull-request@v6
with:
title: 'Update Go version in Dockerfile'
commit-message: 'Update Go version in Dockerfile'
committer: github-actions <[email protected]>
author: github-actions <[email protected]>
branch: go-version-update # Choose a suitable branch name
branch-suffix: timestamp
base: master
delete-branch: true
labels: ok-to-test
body: |
This PR updates the Go version in the Dockerfile to ${{ steps.go-version.outputs.latest_go_version }}.