Bumps the ci group with 5 updates: | Package | From | To | | --- | --- | --- | | [actions/setup-go](https://github.com/actions/setup-go) | `6.2.0` | `6.3.0` | | [hashicorp/setup-terraform](https://github.com/hashicorp/setup-terraform) | `3.1.2` | `4.0.0` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `6.0.0` | `7.0.0` | | [anchore/sbom-action](https://github.com/anchore/sbom-action) | `0.22.2` | `0.23.0` | | [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) | `6.4.0` | `7.0.0` | Updates `actions/setup-go` from 6.2.0 to 6.3.0 - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](7a3fe6cf4c...4b73464bb3) Updates `hashicorp/setup-terraform` from 3.1.2 to 4.0.0 - [Release notes](https://github.com/hashicorp/setup-terraform/releases) - [Changelog](https://github.com/hashicorp/setup-terraform/blob/main/CHANGELOG.md) - [Commits](b9cd54a3c3...5e8dbf3c6d) Updates `actions/upload-artifact` from 6.0.0 to 7.0.0 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](b7c566a772...bbbca2ddaa) Updates `anchore/sbom-action` from 0.22.2 to 0.23.0 - [Release notes](https://github.com/anchore/sbom-action/releases) - [Changelog](https://github.com/anchore/sbom-action/blob/main/RELEASE.md) - [Commits](28d71544de...17ae174017) Updates `goreleaser/goreleaser-action` from 6.4.0 to 7.0.0 - [Release notes](https://github.com/goreleaser/goreleaser-action/releases) - [Commits](e435ccd777...ec59f474b9) --- updated-dependencies: - dependency-name: actions/setup-go dependency-version: 6.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ci - dependency-name: hashicorp/setup-terraform dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: ci - dependency-name: actions/upload-artifact dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: ci - dependency-name: anchore/sbom-action dependency-version: 0.23.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ci - dependency-name: goreleaser/goreleaser-action dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: ci ... Signed-off-by: dependabot[bot] <support@github.com>
121 lines
4.2 KiB
YAML
121 lines
4.2 KiB
YAML
name: update
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches: [main]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
update-components:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
- name: Setup Go
|
|
uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
|
|
with:
|
|
go-version: 1.26.x
|
|
cache-dependency-path: |
|
|
**/go.sum
|
|
**/go.mod
|
|
- name: Update component versions
|
|
id: update
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
PR_BODY=$(mktemp)
|
|
|
|
bump_version() {
|
|
local LATEST_VERSION=$(curl -s -H "Authorization: token ${GITHUB_TOKEN}" https://api.github.com/repos/fluxcd/$1/releases | jq -r 'sort_by(.published_at) | .[-1] | .tag_name')
|
|
|
|
if [[ "$LATEST_VERSION" == *"-rc"* ]]; then
|
|
echo "Skipping release candidate version for $1: $LATEST_VERSION"
|
|
return
|
|
fi
|
|
|
|
local CTRL_VERSION=$(sed -n "s/.*$1\/releases\/download\/\(.*\)\/.*/\1/p;n" manifests/bases/$1/kustomization.yaml)
|
|
local CRD_VERSION=$(sed -n "s/.*$1\/releases\/download\/\(.*\)\/.*/\1/p" manifests/crds/kustomization.yaml)
|
|
|
|
local API_PKG="github.com/fluxcd/$1/api"
|
|
if [[ "$1" == "source-watcher" ]]; then
|
|
API_PKG="github.com/fluxcd/$1/api/v2"
|
|
fi
|
|
local MOD_VERSION=$(go list -m -f '{{ .Version }}' "$API_PKG")
|
|
|
|
local changed=false
|
|
|
|
if [[ "${CTRL_VERSION}" != "${LATEST_VERSION}" ]]; then
|
|
sed -i "s/\($1\/releases\/download\/\)v.*\(\/.*\)/\1${LATEST_VERSION}\2/g" "manifests/bases/$1/kustomization.yaml"
|
|
changed=true
|
|
fi
|
|
|
|
if [[ "${CRD_VERSION}" != "${LATEST_VERSION}" ]]; then
|
|
sed -i "s/\($1\/releases\/download\/\)v.*\(\/.*\)/\1${LATEST_VERSION}\2/g" "manifests/crds/kustomization.yaml"
|
|
changed=true
|
|
fi
|
|
|
|
if [[ "${MOD_VERSION}" != "${LATEST_VERSION}" ]]; then
|
|
go mod edit -require="$API_PKG@${LATEST_VERSION}"
|
|
make tidy
|
|
changed=true
|
|
fi
|
|
|
|
if [[ "$changed" == true ]]; then
|
|
echo "- $1 to ${LATEST_VERSION}" >> $PR_BODY
|
|
echo " https://github.com/fluxcd/$1/blob/${LATEST_VERSION}/CHANGELOG.md" >> $PR_BODY
|
|
fi
|
|
}
|
|
|
|
{
|
|
# bump controller versions
|
|
bump_version helm-controller
|
|
bump_version kustomize-controller
|
|
bump_version source-controller
|
|
bump_version notification-controller
|
|
bump_version image-reflector-controller
|
|
bump_version image-automation-controller
|
|
bump_version source-watcher
|
|
|
|
# diff change
|
|
git diff
|
|
|
|
# export PR_BODY for PR and commit
|
|
# NB: this may look strange but it is the way it should be done to
|
|
# maintain our precious newlines
|
|
# Ref: https://github.com/github/docs/issues/21529
|
|
echo 'pr_body<<EOF' >> $GITHUB_OUTPUT
|
|
cat $PR_BODY >> $GITHUB_OUTPUT
|
|
echo 'EOF' >> $GITHUB_OUTPUT
|
|
}
|
|
|
|
- name: Create Pull Request
|
|
id: cpr
|
|
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
|
|
with:
|
|
token: ${{ secrets.BOT_GITHUB_TOKEN }}
|
|
commit-message: |
|
|
Update toolkit components
|
|
|
|
${{ steps.update.outputs.pr_body }}
|
|
committer: GitHub <noreply@github.com>
|
|
author: fluxcdbot <fluxcdbot@users.noreply.github.com>
|
|
signoff: true
|
|
branch: update-components
|
|
title: Update toolkit components
|
|
body: |
|
|
${{ steps.update.outputs.pr_body }}
|
|
labels: |
|
|
dependencies
|
|
reviewers: ${{ secrets.ASSIGNEES }}
|
|
|
|
- name: Check output
|
|
run: |
|
|
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
|
|
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
|