diff --git a/.github/workflows/versions.yaml b/.github/workflows/versions.yaml
index 7bfb67f251099d2c0046f5678e2e6f9e2bc1dcbe..ed4db6486179c740a579b319aeaf89b95e592acf 100644
--- a/.github/workflows/versions.yaml
+++ b/.github/workflows/versions.yaml
@@ -14,7 +14,9 @@ jobs:
     - name: Upgrade versions
       run: |
         export GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}
-        scripts/generate-versions.sh > jsonnet/kube-prometheus/versions.json
+        # Write to temporary file to make update atomic
+        scripts/generate-versions.sh > tmp/versions.json
+        mv tmp/versions.json jsonnet/kube-prometheus/versions.json
         make --always-make generate
     - name: Create Pull Request
       uses: peter-evans/create-pull-request@v3