@cryptotaxi247 / netdata-1 / commits / 92e88f0c8

Improve CI reliability by allowing for better retry behavior. (#19834)

* Add automatic retries for changelog generation step. This particular step of the release process (both in nightlies and regular releases) is unfortunately rather buggy and unreliable. Long-term we are likely going to replace it, but this should make it work more consistently until that happens. * Cut timeout for static build step to 150 minutes. Normal runtime for these jobs is at most 100 minutes. Cutting at 150 means we can retry once if things hang or inexplicably take way too long without the step itself timing out on GitHub Actions, while still having plenty of extra time to work wtih. * Resolve actionlint issues.

Austin S. Hemmelgarn committed Mar 19, 2025 at 07:17 UTC 92e88f0c8d36a00c71454bb8695b50817623f0c9
2 files changed +29 -21
.github/workflows/build.yml
+2 -2
@@ -284,8 +284,8 @@ jobs:
284 id: build
285 uses: nick-fields/retry@v3
286 with:
287 - timeout_minutes: 360
288 - max_attempts: 3
287 + timeout_minutes: 150
288 + max_attempts: 2
289 command: |
290 export EXTRA_INSTALL_FLAGS=${{ needs.file-check.outputs.skip-go }}
291 [ "${{ matrix.qemu }}" == "true" ] || export SKIP_EMULATION=1
.github/workflows/release.yml
+27 -19
@@ -46,30 +46,38 @@ jobs:
46 - name: Generate Nightly Changleog
47 id: nightly-changelog
48 if: steps.target.outputs.run == 'true' && steps.target.outputs.type == 'nightly'
49 - uses: heinrichreimer/github-changelog-generator-action@v2.4
49 + uses: Wandalen/wretry.action@v3
50 with:
51 - bugLabels: IGNOREBUGS
52 - excludeLabels: "stale,duplicate,question,invalid,wontfix,discussion,no changelog"
53 - issues: false
54 - sinceTag: v1.10.0
55 - token: ${{ secrets.NETDATABOT_GITHUB_TOKEN }}
56 - unreleasedLabel: "**Next release**"
57 - verbose: true
58 - maxIssues: 500
51 + action: heinrichreimer/github-changelog-generator-action@v2.4
52 + attempt_limit: 3
53 + attempt_delay: 60
54 + with: |
55 + bugLabels: IGNOREBUGS
56 + excludeLabels: "stale,duplicate,question,invalid,wontfix,discussion,no changelog"
57 + issues: false
58 + sinceTag: v1.10.0
59 + token: ${{ secrets.NETDATABOT_GITHUB_TOKEN }}
60 + unreleasedLabel: "**Next release**"
61 + verbose: true
62 + maxIssues: 500
63 - name: Generate Release Changelog
64 id: release-changelog
65 if: steps.target.outputs.run == 'true' && steps.target.outputs.type != 'nightly'
62 - uses: heinrichreimer/github-changelog-generator-action@v2.4
66 + uses: Wandalen/wretry.action@v3
67 with:
64 - bugLabels: IGNOREBUGS
65 - excludeLabels: "stale,duplicate,question,invalid,wontfix,discussion,no changelog"
66 - futureRelease: ${{ github.event.inputs.version }}
67 - issues: false
68 - sinceTag: v1.10.0
69 - token: ${{ secrets.NETDATABOT_GITHUB_TOKEN }}
70 - unreleasedLabel: "**Next release**"
71 - verbose: true
72 - maxIssues: 500
68 + action: heinrichreimer/github-changelog-generator-action@v2.4
69 + attempt_limit: 3
70 + attempt_delay: 60
71 + with: |
72 + bugLabels: IGNOREBUGS
73 + excludeLabels: "stale,duplicate,question,invalid,wontfix,discussion,no changelog"
74 + futureRelease: ${{ github.event.inputs.version }}
75 + issues: false
76 + sinceTag: v1.10.0
77 + token: ${{ secrets.NETDATABOT_GITHUB_TOKEN }}
78 + unreleasedLabel: "**Next release**"
79 + verbose: true
80 + maxIssues: 500
81 - name: Commit Changes
82 id: commit
83 if: steps.target.outputs.run == 'true'