Bump latest Kubernetes dependecies #105
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: Bump latest Kubernetes dependecies | |
on: | |
schedule: | |
- cron: '0 0 */2 * *' # Run every two days at UTC midnight | |
workflow_dispatch: # Use for manaully trigger to debug | |
permissions: | |
contents: write | |
jobs: | |
bump-k8s-dep-to-latest-pre-release: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: 'go.mod' | |
- name: Bump latest k8s.io dependencies | |
id: bump | |
run: | | |
LATEST_VERSION=$(./hack/bump-k8s-dep.sh) | |
echo "latest_version=$LATEST_VERSION" >> $GITHUB_OUTPUT | |
- name: Configure Git | |
run: | | |
git config user.name "github-actions[bot]" | |
git config user.email "[email protected]" | |
- name: Check for changes and update version | |
id: changes | |
run: | | |
git_diff_output=$(git diff) | |
if [ -n "$git_diff_output" ]; then | |
echo "changes=true" >> $GITHUB_OUTPUT | |
fi | |
- name: Check if update PR exist | |
id: exist | |
run: | | |
LATEST_VERSION=${{ steps.bump.outputs.latest_version }} | |
HEAD_BRANCH="topic/github-actions/auto-bump/k8s-dependencies-$LATEST_VERSION" | |
echo "$HEAD_BRANCH" | |
if ! git ls-remote --exit-code origin refs/heads/$HEAD_BRANCH; then | |
echo "exist=true" >> $GITHUB_OUTPUT | |
echo "head_branch=$HEAD_BRANCH" >> $GITHUB_OUTPUT | |
fi | |
- name: Create PR | |
if: ${{ steps.changes.outputs.changes && steps.exist.outputs.exist }} | |
run: | | |
HEAD_BRANCH=${{ steps.exist.outputs.head_branch }} | |
git checkout -b "$HEAD_BRANCH" | |
git add go.mod go.sum | |
git commit -sm "Bump Kubernetes group dependencies updates" | |
git push origin "$HEAD_BRANCH" | |
gh pr create --base master --title ":seedling:(deps) Bump the Kubernetes group to ${{ steps.bump.outputs.latest_version }}" --label "ok-to-test" --body "This is an automatically generated pull request to bump the latest k8s dependencies." | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |