From d9fc85c0bbb710c0aee7dab2caed19be2a5319e4 Mon Sep 17 00:00:00 2001
From: fpetkovski <filip.petkovsky@gmail.com>
Date: Tue, 22 Jun 2021 16:54:30 +0200
Subject: [PATCH] .github/workflows: automatically update jsonnet dependencies

This commit extends the versions github workflow to automatically update
jsonnet dependencies when the jsonnet code in upstream repositories changes.
---
 .github/workflows/versions.yaml | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/versions.yaml b/.github/workflows/versions.yaml
index 82944a7e..3107c0db 100644
--- a/.github/workflows/versions.yaml
+++ b/.github/workflows/versions.yaml
@@ -17,14 +17,26 @@ jobs:
         # Write to temporary file to make update atomic
         scripts/generate-versions.sh > /tmp/versions.json
         mv /tmp/versions.json jsonnet/kube-prometheus/versions.json
+    - name: Install jsonnet bundler
+      run: |
+        go get github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb
+    - name: Update jsonnet dependencies
+      run: |
+        jb update
         make --always-make generate
+
+        # Reset jsonnetfile.lock.json if no dependencies were updated
+        changedFiles=$(git diff --name-only | grep -v 'jsonnetfile.lock.json')
+        if [[ $changedFiles == "" ]]; then
+          git checkout -- jsonnetfile.lock.json;
+        fi
     - name: Create Pull Request
       uses: peter-evans/create-pull-request@v3
       with:
         commit-message: "[bot] Automated version update"
         title: "[bot] Automated version update"
         body: |
-          This is an automated version update performed from CI on behalf of @paulfantom.
+          This is an automated version and jsonnet dependencies update performed from CI on behalf of @paulfantom.
 
           Configuration of the workflow is located in `.github/workflows/versions.yaml`
         team-reviewers: kube-prometheus-reviewers
-- 
GitLab