From b1ccef91cb5408747747dda4f88396ebc89db1c5 Mon Sep 17 00:00:00 2001 From: Michel Hollands Date: Mon, 15 Apr 2024 14:44:54 +0100 Subject: [PATCH] Add Github workflow to update Alloy chart version Signed-off-by: Michel Hollands --- .github/configs/updatecli.d/alloy.yaml | 30 +++++++++++ .../check-for-dependency-updates.yaml | 53 +++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 .github/configs/updatecli.d/alloy.yaml create mode 100644 .github/workflows/check-for-dependency-updates.yaml diff --git a/.github/configs/updatecli.d/alloy.yaml b/.github/configs/updatecli.d/alloy.yaml new file mode 100644 index 0000000..5b75b28 --- /dev/null +++ b/.github/configs/updatecli.d/alloy.yaml @@ -0,0 +1,30 @@ +ame: Bump dependency "alloy" for Helm chart "meta-monitoring" +sources: + alloy: + name: Get latest "alloy" Helm chart version + kind: helmchart + spec: + name: alloy + url: https://grafana.github.io/helm-charts + versionfilter: + kind: semver + pattern: '*' +conditions: + alloy: + name: Ensure Helm chart dependency "alloy" is specified + kind: yaml + spec: + file: charts/meta-monitoring/Chart.yaml + key: $.dependencies[1].name + value: alloy + disablesourceinput: true +targets: + alloy: + name: Bump Helm chart dependency "alloy" for Helm chart "meta-monitoring" + kind: helmchart + spec: + file: Chart.yaml + key: $.dependencies[1].version + name: charts/meta-monitoring + versionincrement: none + sourceid: alloy \ No newline at end of file diff --git a/.github/workflows/check-for-dependency-updates.yaml b/.github/workflows/check-for-dependency-updates.yaml new file mode 100644 index 0000000..fad2abf --- /dev/null +++ b/.github/workflows/check-for-dependency-updates.yaml @@ -0,0 +1,53 @@ +--- +name: Check for dependency updates + +on: + workflow_dispatch: + schedule: + # Run once a day + - cron: '0 0 * * *' + +permissions: + contents: "write" + pull-requests: "write" + +env: + UPDATECLI_CONFIG_DIR: "${{ github.workspace }}/.github/configs/updatecli.d" + UPDATECLI_GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + +jobs: + updateGrafanaAlloy: + name: Update Grafana Alloy + runs-on: "ubuntu-latest" + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Install Updatecli + uses: updatecli/updatecli-action@v2 + + - name: Run Updatecli + id: update-grafana-alloy + run: | + updatecli apply --config ${UPDATECLI_CONFIG_DIR}/grafana-alloy.yaml + if ! git diff --exit-code > /dev/null; then + echo "changed=true" >> "${GITHUB_OUTPUT}" + fi + + - name: Install Helm + if: steps.update-grafana-alloy.outputs.changed == 'true' + uses: azure/setup-helm@v3 + + - name: Create pull request + if: steps.update-grafana-alloy.outputs.changed == 'true' + uses: peter-evans/create-pull-request@v5 + with: + title: "[dependency] Update Grafana Alloy" + body: "Updates the Grafana Alloy subchart" + base: main + author: "${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>" + committer: "GitHub " + commit-message: Update Grafana Alloy + labels: dependencies + branch: chore/update-grafana-alloy + delete-branch: true