Create a new workflow in GitHub repo under Actions.
Generate a classic PAT and create a secret.
Then use the below code.
That will create a pull-request in GitHub.
Flux Upgrade with with GitHub Actions.
# flux-upgrade.yaml
name: update-flux
on:
workflow_dispatch:
schedule:
- cron: "0 0 1 * *"
permissions:
contents: write
pull-requests: write
jobs:
components:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Setup Flux CLI
uses: fluxcd/flux2/action@main
- name: Check for updates
id: update
run: |
flux install \
--export > ./clusters/athena/flux-system/gotk-components.yaml
VERSION="$(flux -v)"
echo "flux_version=$VERSION" >> $GITHUB_OUTPUT
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.FLUX_UPDATE_PAT }}
branch: update-flux
commit-message: Update to ${{ steps.update.outputs.flux_version }}
title: Update to ${{ steps.update.outputs.flux_version }}
body: |
${{ steps.update.outputs.flux_version }}