@cryptotaxi247 / netdata-1 / commits / 0394ff092

Assorted CI cleanup. (#11777)

* Clean up yamllint and actionlint errors and warnings in CI. * Overhaul CI notification messages. Add more detailed info about job status as well as a proper reference to the repository that generated them. * Fix actionlint errors. * Fix broken merge of packaging workflow. * Fix incomplete merge. * Further cleanup. * Fix actionlint complaints. * Fix typo in packaging workflow.

Austin S. Hemmelgarn committed Feb 23, 2022 at 08:20 UTC 0394ff09209e2cbf2db9a86f4b66332ce5c8a05f
6 files changed +398 -83
.github/workflows/build.yml
+144 -15
@@ -27,11 +27,13 @@ jobs:
27 distfile: ${{ steps.build.outputs.distfile }}
28 steps:
29 - name: Checkout
30 + id: checkout
31 uses: actions/checkout@v2
32 with:
33 fetch-depth: 0
34 submodules: recursive
35 - name: Mark Stable
36 + id: channel
37 if: github.event_name == 'workflow_dispatch' && github.event.inputs.type != 'nightly'
38 run: |
39 sed -i 's/^RELEASE_CHANNEL="nightly" *#/RELEASE_CHANNEL="stable" #/' netdata-installer.sh
@@ -52,6 +54,7 @@ jobs:
54 echo "::set-output name=distfile::$(find . -name 'netdata-*.tar.gz')"
55 cp netdata-*.tar.gz artifacts/
56 - name: Store
57 + id: store
58 uses: actions/upload-artifact@v2
59 with:
60 name: dist-tarball
@@ -63,9 +66,14 @@ jobs:
66 SLACK_COLOR: 'danger'
67 SLACK_FOOTER: ''
68 SLACK_ICON_EMOJI: ':github-actions:'
66 - SLACK_TITLE: 'Distribution tarball build failed:'
69 + SLACK_TITLE: 'Distribution tarball creation failed:'
70 SLACK_USERNAME: 'GitHub Actions'
68 - SLACK_MESSAGE: "Distribution tarball build failed."
71 + SLACK_MESSAGE: >-
72 + ${{ github.repository }}: Failed to create source tarball for distribution.
73 + Checkout: ${{ steps.checkout.outcome }}
74 + Mark stable: ${{ steps.channel.outcome }}
75 + Build: ${{ steps.build.outcome }}
76 + Store: ${{ steps.store.outcome }}
77 SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
78 if: >-
79 ${{
@@ -86,17 +94,21 @@ jobs:
94 - 'ppc64le'
95 steps:
96 - name: Checkout
97 + id: checkout
98 uses: actions/checkout@v2
99 with:
100 fetch-depth: 0
101 submodules: recursive
102 - name: Mark Stable
103 + id: channel
104 if: github.event_name == 'workflow_dispatch' && github.event.inputs.type != 'nightly'
105 run: |
106 sed -i 's/^RELEASE_CHANNEL="nightly" *#/RELEASE_CHANNEL="stable" #/' netdata-installer.sh packaging/makeself/install-or-update.sh
107 - name: Build
108 + id: build
109 run: .github/scripts/build-static.sh ${{ matrix.arch }}
110 - name: Store
111 + id: store
112 uses: actions/upload-artifact@v2
113 with:
114 name: static-archive
@@ -108,9 +120,14 @@ jobs:
120 SLACK_COLOR: 'danger'
121 SLACK_FOOTER: ''
122 SLACK_ICON_EMOJI: ':github-actions:'
111 - SLACK_TITLE: 'Static build for ${{ matrix.arch }} failed:'
123 + SLACK_TITLE: 'Static build failed:'
124 SLACK_USERNAME: 'GitHub Actions'
113 - SLACK_MESSAGE: "Static build for ${{ matrix.arch }} failed."
125 + SLACK_MESSAGE: >-
126 + ${{ github.repository }}: Failed to create static installer archive for ${{ matrix.arch }}.
127 + Checkout: ${{ steps.checkout.outcome }}
128 + Mark stable: ${{ steps.channel.outcome }}
129 + Build: ${{ steps.build.outcome }}
130 + Store: ${{ steps.store.outcome }}
131 SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
132 if: >-
133 ${{
@@ -126,8 +143,10 @@ jobs:
143 matrix: ${{ steps.set-matrix.outputs.matrix }}
144 steps:
145 - name: Checkout
146 + id: checkout
147 uses: actions/checkout@v2
148 - name: Prepare tools
149 + id: prepare
150 run: |
151 sudo apt-get update && sudo apt-get install -y python3-ruamel.yaml
152 - name: Read build matrix
@@ -152,6 +171,26 @@ jobs:
171 matrix = json.dumps(data, sort_keys=True)
172 print('Generated Matrix: ' + matrix)
173 print('::set-output name=matrix::' + matrix)
174 + - name: Failure Notification
175 + uses: rtCamp/action-slack-notify@v2
176 + env:
177 + SLACK_COLOR: 'danger'
178 + SLACK_FOOTER: ''
179 + SLACK_ICON_EMOJI: ':github-actions:'
180 + SLACK_TITLE: 'Build matrix preparation failed:'
181 + SLACK_USERNAME: 'GitHub Actions'
182 + SLACK_MESSAGE: >-
183 + ${{ github.repository }}: Failed to prepare build matrix for build checks.
184 + Checkout: ${{ steps.checkout.outcome }}
185 + Prepare tools: ${{ steps.prepare.outcome }}
186 + Read build matrix: ${{ steps.set-matrix.outcome }}
187 + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
188 + if: >-
189 + ${{
190 + failure()
191 + && startsWith(github.ref, 'refs/heads/master')
192 + && github.event_name != 'pull_request'
193 + }}
194
195 prepare-test-images: # Prepare the test environments for our build checks. This also checks dependency handling code for each tested environment.
196 name: Prepare Test Environments
@@ -164,11 +203,14 @@ jobs:
203 fail-fast: false
204 matrix: ${{ fromJson(needs.matrix.outputs.matrix) }}
205 steps:
167 - - name: Git clone repository
206 + - name: Checkout
207 + id: checkout
208 uses: actions/checkout@v2
209 - name: Setup Buildx
210 + id: buildx
211 uses: docker/setup-buildx-action@v1
212 - name: Build test environment
213 + id: build
214 uses: docker/build-push-action@v2
215 with:
216 push: false
@@ -181,6 +223,7 @@ jobs:
223 outputs: type=oci,dest=/tmp/image.tar
224 tags: test:${{ matrix.artifact_key }}
225 - name: Upload image artifact
226 + id: upload
227 uses: actions/upload-artifact@v2
228 with:
229 name: ${{ matrix.artifact_key }}-test-env
@@ -194,7 +237,12 @@ jobs:
237 SLACK_ICON_EMOJI: ':github-actions:'
238 SLACK_TITLE: 'Test environment preparation for ${{ matrix.distro }} failed:'
239 SLACK_USERNAME: 'GitHub Actions'
197 - SLACK_MESSAGE: "Test environment preparation for ${{ matrix.distro }} failed."
240 + SLACK_MESSAGE: >-
241 + ${{ github.repository }}: Test environment preparation for ${{ matrix.distro }} failed.
242 + Checkout: ${{ steps.checkout.outcome }}
243 + Set up Buildx: ${{ steps.buildx.outcome }}
244 + Build test environment: ${{ steps.build.outcome }}
245 + Upload: ${{ steps.upload.outcome }}
246 SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
247 if: >-
248 ${{
@@ -214,11 +262,13 @@ jobs:
262 max-parallel: 8
263 matrix: ${{ fromJson(needs.matrix.outputs.matrix) }}
264 steps:
217 - - name: Git clone repository
265 + - name: Checkout
266 + id: checkout
267 uses: actions/checkout@v2
268 with:
269 submodules: recursive
270 - name: Fetch test environment
271 + id: fetch
272 uses: actions/download-artifact@v2
273 with:
274 name: ${{ matrix.artifact_key }}-test-env
@@ -228,18 +278,22 @@ jobs:
278 docker load --input image.tar | tee image-info.txt
279 echo "::set-output name=image::$(cut -d ':' -f 3 image-info.txt)"
280 - name: Regular build on ${{ matrix.distro }}
281 + id: build-basic
282 run: |
283 docker run --security-opt seccomp=unconfined -w /netdata sha256:${{ steps.load.outputs.image }} \
284 /bin/sh -c 'autoreconf -ivf && ./configure && make -j2'
285 - name: netdata-installer on ${{ matrix.distro }}, disable cloud
286 + id: build-no-cloud
287 run: |
288 docker run --security-opt seccomp=unconfined -w /netdata sha256:${{ steps.load.outputs.image }} \
289 /bin/sh -c './netdata-installer.sh --dont-wait --dont-start-it --disable-cloud'
290 - name: netdata-installer on ${{ matrix.distro }}, require cloud
291 + id: build-cloud
292 run: |
293 docker run --security-opt seccomp=unconfined -w /netdata sha256:${{ steps.load.outputs.image }} \
294 /bin/sh -c './netdata-installer.sh --dont-wait --dont-start-it --require-cloud'
295 - name: netdata-installer on ${{ matrix.distro }}, require cloud, no JSON-C
296 + id: build-no-jsonc
297 if: matrix.jsonc_removal != ''
298 run: |
299 docker run --security-opt seccomp=unconfined -w /netdata sha256:${{ steps.load.outputs.image }} \
@@ -252,7 +306,15 @@ jobs:
306 SLACK_ICON_EMOJI: ':github-actions:'
307 SLACK_TITLE: 'Build tests for ${{ matrix.distro }} failed:'
308 SLACK_USERNAME: 'GitHub Actions'
255 - SLACK_MESSAGE: "Build tests for ${{ matrix.distro }} failed."
309 + SLACK_MESSAGE: >-
310 + ${{ github.repository }}: Build tests for ${{ matrix.distro }} failed.
311 + Checkout: ${{ steps.checkout.outcome }}
312 + Fetch test environment: ${{ steps.fetch.outcome }}
313 + Load test environment: ${{ steps.load.outcome }}
314 + Regular build: ${{ steps.build-basic.outcome }}
315 + netdata-installer, disable cloud: ${{ steps.build-no-cloud.outcome }}
316 + netdata-installer, require cloud: ${{ steps.build-cloud.outcome }}
317 + netdata-installer, no JSON-C: ${{ steps.build-no-jsonc.outcome }}
318 SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
319 if: >-
320 ${{
@@ -281,13 +343,16 @@ jobs:
343 - ${{ github.workspace }}:/usr/local/apache2/htdocs/
344 steps:
345 - name: Checkout
346 + id: checkout
347 uses: actions/checkout@v2
348 - name: Fetch dist tarball artifacts
349 + id: fetch-tarball
350 uses: actions/download-artifact@v2
351 with:
352 name: dist-tarball
353 path: dist-tarball
354 - name: Prepare artifact directory
355 + id: prepare
356 run: |
357 mkdir -p artifacts || exit 1
358 echo "9999.0.0-0" > artifacts/latest-version.txt || exit 1
@@ -297,6 +362,7 @@ jobs:
362 sha256sum -b ./* > "sha256sums.txt" || exit 1
363 cat sha256sums.txt
364 - name: Fetch test environment
365 + id: fetch-test-environment
366 uses: actions/download-artifact@v2
367 with:
368 name: ${{ matrix.artifact_key }}-test-env
@@ -306,6 +372,7 @@ jobs:
372 docker load --input image.tar | tee image-info.txt
373 echo "::set-output name=image::$(cut -d ':' -f 3 image-info.txt)"
374 - name: Install netdata and run the updater on ${{ matrix.distro }}
375 + id: updater-check
376 run: |
377 docker run --security-opt seccomp=unconfined -e DISABLE_TELEMETRY=1 --network host -w /netdata sha256:${{ steps.load.outputs.image }} \
378 /netdata/.github/scripts/run-updater-check.sh
@@ -317,7 +384,14 @@ jobs:
384 SLACK_ICON_EMOJI: ':github-actions:'
385 SLACK_TITLE: 'Updater checks for ${{ matrix.distro }} failed:'
386 SLACK_USERNAME: 'GitHub Actions'
320 - SLACK_MESSAGE: "Updater checks for ${{ matrix.distro }} failed."
387 + SLACK_MESSAGE: >-
388 + ${{ github.repository }}: Updater checks for ${{ matrix.distro }} failed.
389 + Checkout: ${{ steps.checkout.outcome }}
390 + Fetch dist tarball: ${{ steps.fetch-tarball.outcome }}
391 + Prepare artifact directory: ${{ steps.prepare.outcome }}
392 + Fetch test environment: ${{ steps.fetch-test-environment.outcome }}
393 + Load test environment: ${{ steps.load.outcome }}
394 + Updater check: ${{ steps.updater-check.outcome }}
395 SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
396 if: >-
397 ${{
@@ -334,20 +408,25 @@ jobs:
408 - build-static
409 steps:
410 - name: Checkout
411 + id: checkout
412 uses: actions/checkout@v2
413 - name: Prepare Environment
414 + id: prepare
415 run: mkdir -p artifacts
416 - name: Retrieve Dist Tarball
417 + id: fetch-dist
418 uses: actions/download-artifact@v2
419 with:
420 name: dist-tarball
421 path: dist-tarball
422 - name: Retrieve Static Build Artifacts
423 + id: fetch-static
424 uses: actions/download-artifact@v2
425 with:
426 name: static-archive
427 path: static-archive
428 - name: Prepare Artifacts
429 + id: consolidate
430 working-directory: ./artifacts/
431 run: |
432 mv ../dist-tarball/* . || exit 1
@@ -357,6 +436,7 @@ jobs:
436 sha256sum -b ./* > sha256sums.txt || exit 1
437 cat sha256sums.txt
438 - name: Store Artifacts
439 + id: store
440 uses: actions/upload-artifact@v2
441 with:
442 name: final-artifacts
@@ -370,7 +450,14 @@ jobs:
450 SLACK_ICON_EMOJI: ':github-actions:'
451 SLACK_TITLE: 'Failed to prepare release artifacts for upload:'
452 SLACK_USERNAME: 'GitHub Actions'
373 - SLACK_MESSAGE: "Failed to prepare release artifacts for upload."
453 + SLACK_MESSAGE: >-
454 + ${{ github.repository }}: Failed to prepare release artifacts for upload.
455 + CHeckout: ${{ steps.checkout.outcome }}
456 + Prepare environment: ${{ steps.prepare.outcome }}
457 + Fetch dist tarball: ${{ steps.fetch-dist.outcome }}
458 + Fetch static builds: ${{ steps.fetch-static.outcome }}
459 + Consolidate artifacts: ${{ steps.consolidate.outcome }}
460 + Store: ${{ steps.store.outcome }}
461 SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
462 if: >-
463 ${{
@@ -393,13 +480,16 @@ jobs:
480 - ${{ github.workspace }}:/usr/local/apache2/htdocs/
481 steps:
482 - name: Checkout
483 + id: checkout
484 uses: actions/checkout@v2
485 - name: Fetch artifacts
486 + id: fetch
487 uses: actions/download-artifact@v2
488 with:
489 name: final-artifacts
490 path: artifacts
491 - name: Verify that artifacts work with installer
492 + id: verify
493 env:
494 NETDATA_TARBALL_BASEURL: http://localhost:8080/artifacts
495 run: packaging/installer/kickstart.sh --build-only --dont-start-it --disable-telemetry --dont-wait
@@ -411,7 +501,11 @@ jobs:
501 SLACK_ICON_EMOJI: ':github-actions:'
502 SLACK_TITLE: 'Artifact verification for source tarball failed.'
503 SLACK_USERNAME: 'GitHub Actions'
414 - SLACK_MESSAGE: "Artifact verification for source tarball failed."
504 + SLACK_MESSAGE: >-
505 + ${{ github.repository }}: Artifact verification for source tarball failed.
506 + Checkout: ${{ steps.checkout.outcome }}
507 + Fetch artifacts: ${{ steps.fetch.outcome }}
508 + Verify artifacts: ${{ steps.verify.outcome }}
509 SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
510 if: >-
511 ${{
@@ -434,13 +528,16 @@ jobs:
528 - ${{ github.workspace }}:/usr/local/apache2/htdocs/
529 steps:
530 - name: Checkout
531 + id: checkout
532 uses: actions/checkout@v2
533 - name: Fetch artifacts
534 + id: fetch-artifacts
535 uses: actions/download-artifact@v2
536 with:
537 name: final-artifacts
538 path: artifacts
539 - name: Verify that artifacts work with installer
540 + id: verify
541 env:
542 NETDATA_TARBALL_BASEURL: http://localhost:8080/artifacts
543 run: packaging/installer/kickstart.sh --static-only --dont-start-it --disable-telemetry
@@ -452,7 +549,11 @@ jobs:
549 SLACK_ICON_EMOJI: ':github-actions:'
550 SLACK_TITLE: 'Artifact verification for static build failed.'
551 SLACK_USERNAME: 'GitHub Actions'
455 - SLACK_MESSAGE: "Artifact verification for static build failed."
552 + SLACK_MESSAGE: >-
553 + ${{ github.repository }}: Artifact verification for static build failed.
554 + Checkout: ${{ steps.checkout.outcome }}
555 + Fetch artifacts: ${{ steps.fetch-artifacts.outcome }}
556 + Verify artifacts: ${{ steps.verify.outcome }}
557 SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
558 if: >-
559 ${{
@@ -472,17 +573,20 @@ jobs:
573 - artifact-verification-static
574 steps:
575 - name: Retrieve Artifacts
576 + id: fetch
577 uses: actions/download-artifact@v2
578 with:
579 name: final-artifacts
580 path: final-artifacts
581 - name: Setup Gcloud
582 + id: gcloud
583 uses: google-github-actions/setup-gcloud@v0.5.1
584 with:
585 project_id: ${{ secrets.GCP_NIGHTLY_STORAGE_PROJECT }}
586 service_account_key: ${{ secrets.GCP_STORAGE_SERVICE_ACCOUNT_KEY }}
587 export_default_credentials: true
588 - name: Upload Artifacts
589 + id: upload
590 uses: google-github-actions/upload-cloud-storage@v0.5.0
591 with:
592 destination: ${{ secrets.GCP_NIGHTLY_STORAGE_BUCKET }}
@@ -497,7 +601,11 @@ jobs:
601 SLACK_ICON_EMOJI: ':github-actions:'
602 SLACK_TITLE: 'Failed to upload nightly release artifacts:'
603 SLACK_USERNAME: 'GitHub Actions'
500 - SLACK_MESSAGE: "Failed to upload nightly release artifacts."
604 + SLACK_MESSAGE: >-
605 + ${{ github.repository }}: Failed to upload nightly release artifacts.
606 + Fetch artifacts: ${{ steps.fetch.outcome }}
607 + Setup GCloud: ${{ steps.gcloud.outcome }}
608 + Upload artifacts: ${{ steps.upload.outcome }}
609 SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
610 if: >-
611 ${{
@@ -517,13 +625,16 @@ jobs:
625 - artifact-verification-static
626 steps:
627 - name: Checkout
628 + id: checkout
629 uses: actions/checkout@v2
630 - name: Retrieve Artifacts
631 + id: fetch
632 uses: actions/download-artifact@v2
633 with:
634 name: final-artifacts
635 path: final-artifacts
636 - name: Create Release
637 + id: create-release
638 uses: ncipollo/release-action@v1
639 with:
640 allowUpdates: false
@@ -540,11 +651,29 @@ jobs:
651 SLACK_ICON_EMOJI: ':github-actions:'
652 SLACK_TITLE: 'Failed to draft release:'
653 SLACK_USERNAME: 'GitHub Actions'
543 - SLACK_MESSAGE: "Failed to draft release."
654 + SLACK_MESSAGE: >-
655 + ${{ github.repository }}: Failed to create draft release or attach artifacts.
656 + Checkout: ${{ steps.checkout.outcome }}
657 + Fetch artifacts: ${{ steps.fetch.outcome }}
658 + Create draft release: ${{ steps.create-release.outcome }}
659 SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
660 if: >-
661 ${{
662 failure()
548 - && startsWith(github.ref, 'refs/heads/master')
663 + && github.event_name == 'workflow_dispatch'
664 + }}
665 + - name: Success Notification
666 + uses: rtCamp/action-slack-notify@v2
667 + env:
668 + SLACK_COLOR: 'good'
669 + SLACK_FOOTER: ''
670 + SLACK_ICON_EMOJI: ':github-actions:'
671 + SLACK_TITLE: 'Created agent draft release:'
672 + SLACK_USERNAME: 'GitHub Actions'
673 + SLACK_MESSAGE: "${{ github.repository }}: ${{ steps.create-release.outputs.html_url }}"
674 + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
675 + if: >-
676 + ${{
677 + success()
678 && github.event_name == 'workflow_dispatch'
679 }}
.github/workflows/coverity.yml
+8
@@ -20,9 +20,11 @@ jobs:
20 steps:
21 - name: Checkout
22 uses: actions/checkout@v2
23 + id: checkout
24 with:
25 submodules: recursive
26 - name: Prepare environment
27 + id: prepare
28 env:
29 DEBIAN_FRONTEND: 'noninteractive'
30 run: |
@@ -33,6 +35,7 @@ jobs:
35 libprotoc-dev libssl-dev protobuf-compiler \
36 libnetfilter-acct-dev
37 - name: Run coverity-scan
38 + id: run
39 env:
40 REPOSITORY: 'netdata/netdata'
41 COVERITY_SCAN_TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
@@ -47,6 +50,11 @@ jobs:
50 SLACK_ICON_EMOJI: ':github-actions:'
51 SLACK_TITLE: 'Coverity run failed:'
52 SLACK_USERNAME: 'GitHub Actions'
53 + SLACK_MESSAGE: >-
54 + ${{ github.repository }}: Coverity failed to run correctly.
55 + Checkout: ${{ steps.checkout.outcome }}
56 + Environment preparation: ${{ steps.prepare.outcome }}
57 + Coverity run: ${{ steps.run.outcome }}
58 SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
59 if: ${{
60 failure()
.github/workflows/dashboard-pr.yml
+18
@@ -20,11 +20,14 @@ jobs:
20 runs-on: ubuntu-latest
21 steps:
22 - name: Checkout
23 + id: checkout
24 uses: actions/checkout@v2
25 - name: Update Files
26 + id: update
27 run: |
28 web/gui/bundle_dashboard.py ${{ github.event.inputs.dashboard_version }}
29 - name: Create Pull Request
30 + id: pr
31 uses: peter-evans/create-pull-request@v3
32 with:
33 title: 'Update dashboard to version ${{ github.event.inputs.dashboard_version }}.'
@@ -34,3 +37,18 @@ jobs:
37 delete-branch: true
38 commit-message: 'Update dashboard to version ${{ github.event.inputs.dashboard_version }}.'
39 token: ${{ secrets.NETDATABOT_GITHUB_TOKEN }}
40 + - name: Failure Notification
41 + uses: rtCamp/action-slack-notify@v2
42 + env:
43 + SLACK_COLOR: 'danger'
44 + SLACK_FOOTER: ''
45 + SLACK_ICON_EMOJI: ':github-actions:'
46 + SLACK_TITLE: 'Dashboard update PR creation failed:'
47 + SLACK_USERNAME: 'GitHub Actions'
48 + SLACK_MESSAGE: >-
49 + ${{ github.repository }}: Failed to create PR to update dashboard code to newest release.
50 + Checkout: ${{ steps.checkout.outcome }}
51 + Update files: ${{ steps.update.outcome }}
52 + Create PR: ${{ steps.pr.outcome }}
53 + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
54 + if: failure()
.github/workflows/docker.yml
+73 -5
@@ -8,7 +8,7 @@ on:
8 workflow_dispatch:
9 inputs:
10 version:
11 - name: Version Tag
11 + description: Version Tag
12 default: nightly
13 required: true
14 env:
@@ -22,19 +22,44 @@ jobs:
22 runs-on: ubuntu-latest
23 steps:
24 - name: Checkout
25 + id: checkout
26 uses: actions/checkout@v2
27 with:
28 submodules: recursive
29 - name: Setup Buildx
30 + id: prepare
31 uses: docker/setup-buildx-action@v1
32 - name: Test Build
33 + id: build
34 uses: docker/build-push-action@v2
35 with:
36 load: true
37 push: false
38 tags: netdata/netdata:test
39 - name: Test Image
40 + id: test
41 run: .github/scripts/docker-test.sh
42 + - name: Failure Notification
43 + uses: rtCamp/action-slack-notify@v2
44 + env:
45 + SLACK_COLOR: 'danger'
46 + SLACK_FOOTER: ''
47 + SLACK_ICON_EMOJI: ':github-actions:'
48 + SLACK_TITLE: 'Docker runtime testing failed:'
49 + SLACK_USERNAME: 'GitHub Actions'
50 + SLACK_MESSAGE: >-
51 + ${{ github.repository }}: Building or testing Docker image for linux/amd64 failed.
52 + CHeckout: ${{ steps.checkout.outcome }}
53 + Setup buildx: ${{ steps.prepare.outcome }}
54 + Build image: ${{ steps.build.outcome }}
55 + Test image: ${{ steps.test.outcome }}
56 + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
57 + if: >-
58 + ${{
59 + failure()
60 + && github.event_name != 'pull_request'
61 + && startsWith(github.ref, 'refs/heads/master')
62 + }}
63
64 docker-ci:
65 if: github.event_name != 'workflow_dispatch'
@@ -50,21 +75,46 @@ jobs:
75 - linux/ppc64le
76 steps:
77 - name: Checkout
78 + id: checkout
79 uses: actions/checkout@v2
80 with:
81 submodules: recursive
82 - name: Setup QEMU
83 + id: qemu
84 if: matrix.platforms != 'linux/i386'
85 uses: docker/setup-qemu-action@v1
86 - name: Setup Buildx
87 + id: buildx
88 uses: docker/setup-buildx-action@v1
89 - name: Build
90 + id: build
91 uses: docker/build-push-action@v2
92 with:
93 platforms: ${{ matrix.platforms }}
94 load: false
95 push: false
96 tags: netdata/netdata:test
97 + - name: Failure Notification
98 + uses: rtCamp/action-slack-notify@v2
99 + env:
100 + SLACK_COLOR: 'danger'
101 + SLACK_FOOTER: ''
102 + SLACK_ICON_EMOJI: ':github-actions:'
103 + SLACK_TITLE: 'Docker build testing failed:'
104 + SLACK_USERNAME: 'GitHub Actions'
105 + SLACK_MESSAGE: >-
106 + ${{ github.repository }}: Building Docker image for ${{ matrix.platforms }} failed.
107 + CHeckout: ${{ steps.checkout.outcome }}
108 + Setup QEMU: ${{ steps.qemu.outcome }}
109 + Setup buildx: ${{ steps.buildx.outcome }}
110 + Build image: ${{ steps.build.outcome }}
111 + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
112 + if: >-
113 + ${{
114 + failure()
115 + && github.event_name != 'pull_request'
116 + && startsWith(github.ref, 'refs/heads/master')
117 + }}
118
119 docker-publish:
120 if: github.event_name == 'workflow_dispatch'
@@ -73,30 +123,39 @@ jobs:
123 runs-on: ubuntu-latest
124 steps:
125 - name: Checkout
126 + id: checkout
127 uses: actions/checkout@v2
128 with:
129 submodules: recursive
130 - name: Determine which tags to use
131 + id: release-tags
132 if: github.event.inputs.version != 'nightly'
133 run: |
82 - echo "tags=netdata/netdata:latest,netdata/netdata:stable,$(.github/scripts/gen-docker-tags.py ${{ github.event.inputs.version }})" >> $GITHUB_ENV
134 + echo "tags=netdata/netdata:latest,netdata/netdata:stable,$(.github/scripts/gen-docker-tags.py ${{ github.event.inputs.version }})" \
135 + >> "${GITHUB_ENV}"
136 - name: Determine which tags to use
137 + id: nightly-tags
138 if: github.event.inputs.version == 'nightly'
139 run: |
86 - echo "tags=netdata/netdata:latest,netdata/netdata:edge" >> $GITHUB_ENV
140 + echo "tags=netdata/netdata:latest,netdata/netdata:edge" >> "${GITHUB_ENV}"
141 - name: Mark image as official
142 + id: env
143 if: github.repository == 'netdata/netdata'
89 - run: echo "OFFICIAL_IMAGE=true" >> $GITHUB_ENV
144 + run: echo "OFFICIAL_IMAGE=true" >> "${GITHUB_ENV}"
145 - name: Setup QEMU
146 + id: qemu
147 uses: docker/setup-qemu-action@v1
148 - name: Setup Buildx
149 + id: buildx
150 uses: docker/setup-buildx-action@v1
151 - name: Docker Hub Login
152 + id: login
153 uses: docker/login-action@v1
154 with:
155 username: ${{ secrets.DOCKER_HUB_USERNAME }}
156 password: ${{ secrets.DOCKER_HUB_PASSWORD }}
157 - name: Docker Build
158 + id: build
159 uses: docker/build-push-action@v2
160 with:
161 platforms: linux/amd64,linux/i386,linux/arm/v7,linux/arm64,linux/ppc64le
@@ -111,7 +170,16 @@ jobs:
170 SLACK_ICON_EMOJI: ':github-actions:'
171 SLACK_TITLE: 'Docker Build failed:'
172 SLACK_USERNAME: 'GitHub Actions'
114 - SLACK_MESSAGE: "Docker image build failed."
173 + SLACK_MESSAGE: >-
174 + ${{ github.repository }}: Failed to build or publish Docker images.
175 + CHeckout: ${{ steps.checkout.outcome }}
176 + Generate release tags: ${{ steps.release-tags.outcome }}
177 + Generate nightly tags: ${{ steps.nightly-tags.outcome }}
178 + Setup environment: ${{ steps.env.outcome }}
179 + Setup QEMU: ${{ steps.qemu.outcome }}
180 + Setup buildx: ${{ steps.buildx.outcome }}
181 + Authenticate against DockerHub: ${{ steps.login.outcome }}
182 + Build and publish images: ${{ steps.build.outcome }}
183 SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
184 if: >-
185 ${{
.github/workflows/packaging.yml
+113 -54
@@ -12,11 +12,11 @@ on:
12 workflow_dispatch:
13 inputs:
14 type:
15 - name: Package build type
15 + description: Package build type
16 default: devel
17 required: true
18 version:
19 - name: Package version
19 + description: Package version
20 required: false
21 env:
22 DISABLE_TELEMETRY: 1
@@ -31,8 +31,10 @@ jobs:
31 matrix: ${{ steps.set-matrix.outputs.matrix }}
32 steps:
33 - name: Checkout
34 + id: checkout
35 uses: actions/checkout@v2
36 - name: Prepare tools
37 + id: prepare
38 run: |
39 sudo apt-get update && sudo apt-get install -y python3-ruamel.yaml
40 - name: Read build matrix
@@ -75,6 +77,80 @@ jobs:
77 matrix = json.dumps({'include': entries}, sort_keys=True)
78 print('Generated Matrix: ' + matrix)
79 print('::set-output name=matrix::' + matrix)
80 + - name: Failure Notification
81 + uses: rtCamp/action-slack-notify@v2
82 + env:
83 + SLACK_COLOR: 'danger'
84 + SLACK_ICON_EMOJI: ':github-actions:'
85 + SLACK_TITLE: 'Package Build matrix generation failed:'
86 + SLACK_USERNAME: 'GitHub Actions'
87 + SLACK_MESSAGE: >-
88 + ${{ github.repository }}: Failed to generate build matrix for package build.
89 + Checkout: ${{ steps.checkout.outcome }}
90 + Prepare Tools: ${{ steps.prepare.outcome }}
91 + Read Build Matrix: ${{ steps.set-matrix.outcome }}
92 + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
93 + if: >-
94 + ${{
95 + failure()
96 + && github.event_name != 'pull_request'
97 + && startsWith(github.ref, 'refs/heads/master')
98 + }}
99 +
100 + version-check:
101 + name: Version check
102 + runs-on: ubuntu-latest
103 + outputs:
104 + repo: ${{ steps.check-version.outputs.repo }}
105 + version: ${{ steps.check-version.outputs.version }}
106 + retention: ${{ steps.check-version.outputs.retention }}
107 + steps:
108 + - name: Checkout
109 + id: checkout
110 + uses: actions/checkout@v2
111 + - name: Check Version
112 + id: check-version
113 + run: |
114 + if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
115 + case "${{ github.event.inputs.type }}" in
116 + "release")
117 + echo "::set-output name=repo::${{ secrets.PACKAGE_CLOUD_REPO }}"
118 + echo "::set-output name=version::${{ github.event.inputs.version }}"
119 + echo "::set-output name=retention::365"
120 + ;;
121 + "nightly")
122 + echo "::set-output name=repo::${{ secrets.PACKAGE_CLOUD_REPO }}-edge"
123 + echo "::set-output name=version::${{ github.event.inputs.version }}"
124 + echo "::set-output name=retention::30"
125 + ;;
126 + *)
127 + echo "::set-output name=repo::${{ secrets.PACKAGE_CLOUD_REPO }}-devel"
128 + echo "::set-output name=version::0.${GITHUB_SHA}"
129 + echo "::set-output name=retention::30"
130 + ;;
131 + esac
132 + else
133 + echo "::set-output name=version::$(cut -d'-' -f 1 packaging/version | sed -e 's/^v//')"
134 + echo "::set-output name=retention::0"
135 + fi
136 + - name: Failure Notification
137 + uses: rtCamp/action-slack-notify@v2
138 + env:
139 + SLACK_COLOR: 'danger'
140 + SLACK_ICON_EMOJI: ':github-actions:'
141 + SLACK_TITLE: 'Package Build version check failed:'
142 + SLACK_USERNAME: 'GitHub Actions'
143 + SLACK_MESSAGE: >-
144 + ${{ github.repository }}: Failed to generate version information for package build.
145 + Checkout: ${{ steps.checkout.outcome }}
146 + Check Version: ${{ steps.check-version.outcome }}
147 + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
148 + if: >-
149 + ${{
150 + failure()
151 + && github.event_name != 'pull_request'
152 + && startsWith(github.ref, 'refs/heads/master')
153 + }}
154
155 build:
156 name: Build
@@ -83,6 +159,7 @@ jobs:
159 DOCKER_CLI_EXPERIMENTAL: enabled
160 needs:
161 - matrix
162 + - version-check
163 strategy:
164 matrix: ${{ fromJson(needs.matrix.outputs.matrix) }}
165 # We intentiaonally disable the fail-fast behavior so that a
@@ -91,100 +168,74 @@ jobs:
168 fail-fast: false
169 max-parallel: 8
170 steps:
94 - - name: Checkout # Checkout the repo if it’s not a tag.
95 - if: github.event_name != 'workflow_dispatch'
96 - uses: actions/checkout@v2
97 - with:
98 - fetch-depth: 0 # We need full history for versioning
99 - submodules: recursive
100 - - name: Checkout Tag # Otherwise check out the tag that triggered this.
101 - if: github.event_name == 'workflow_dispatch'
171 + - name: Checkout
172 + id: checkout
173 uses: actions/checkout@v2
174 with:
104 - ref: ${{ github.event.ref }}
175 fetch-depth: 0 # We need full history for versioning
176 submodules: recursive
107 - - name: Check Base Branch
108 - run: |
109 - if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
110 - echo "runtype=${{ github.event.inputs.type }}" >> $GITHUB_ENV
111 - case "${{ github.event.inputs.type }}" in
112 - "release")
113 - echo "repo=${{ secrets.PACKAGE_CLOUD_REPO }}" >> $GITHUB_ENV
114 - echo "pkg_version=${{ github.event.inputs.version }}" >> $GITHUB_ENV
115 - echo "pkg_retention_days=365" >> $GITHUB_ENV
116 - ;;
117 - "nightly")
118 - echo "repo=${{ secrets.PACKAGE_CLOUD_REPO }}-edge" >> $GITHUB_ENV
119 - echo "pkg_version=${{ github.event.inputs.version }}" >> $GITHUB_ENV
120 - echo "pkg_retention_days=30" >> $GITHUB_ENV
121 - ;;
122 - *)
123 - echo "repo=${{ secrets.PACKAGE_CLOUD_REPO }}-devel" >> $GITHUB_ENV
124 - echo "pkg_version=0.${GITHUB_SHA}" >> $GITHUB_ENV
125 - echo "pkg_retention_days=30" >> $GITHUB_ENV
126 - ;;
127 - esac
128 - else
129 - echo "runtype=test" >> $GITHUB_ENV
130 - echo "pkg_version=$(cut -d'-' -f 1 packaging/version | sed -e 's/^v//')" >> $GITHUB_ENV
131 - fi
177 - name: Setup QEMU
178 + id: qemu
179 if: matrix.platform != 'linux/amd64' && matrix.platform != 'linux/i386'
180 uses: docker/setup-qemu-action@v1
181 - name: Prepare Docker Environment
182 + id: docker-config
183 shell: bash
184 run: |
185 echo '{"cgroup-parent": "/actions_job", "experimental": true}' | sudo tee /etc/docker/daemon.json 2>/dev/null
186 sudo service docker restart
140 - - name: Set Base Image Version
141 - shell: bash
142 - run: |
143 - if [ -z "${{ matrix.alias }}" ] ; then
144 - echo "version=${{ matrix.version }}" >> $GITHUB_ENV
145 - else
146 - echo "version=${{ matrix.alias }}" >> $GITHUB_ENV
147 - fi
148 - - name: Fetch base image
187 + - name: Fetch images
188 + id: fetch-images
189 uses: nick-invision/retry@v2
190 with:
191 max_attempts: 3
192 retry_wait_seconds: 30
193 timeout_seconds: 900
194 command: |
155 - docker pull --platform ${{ matrix.platform }} ${{ matrix.base_image }}:${{ env.version }}
195 + docker pull --platform ${{ matrix.platform }} ${{ matrix.base_image }}:${{ matrix.version }}
196 docker pull --platform ${{ matrix.platform }} netdata/package-builders:${{ matrix.distro }}${{ matrix.version }}
197 - name: Build Packages
198 + id: build
199 shell: bash
200 run: |
160 - docker run --security-opt seccomp=unconfined -e DISABLE_TELEMETRY=1 -e VERSION=${{ env.pkg_version }} --platform=${{ matrix.platform }} -v $PWD:/netdata netdata/package-builders:${{ matrix.distro }}${{ matrix.version }}
201 + docker run --security-opt seccomp=unconfined -e DISABLE_TELEMETRY=1 -e VERSION=${{ needs.version-check.outputs.version }} \
202 + --platform=${{ matrix.platform }} -v "$PWD":/netdata netdata/package-builders:${{ matrix.distro }}${{ matrix.version }}
203 - name: Test Packages
204 + id: test
205 shell: bash
206 run: |
164 - docker run --security-opt seccomp=unconfined -e DISABLE_TELEMETRY=1 -e DISTRO=${{ matrix.distro }} -e VERSION=${{ env.pkg_version }} -e DISTRO_VERSION=${{ env.version }} --platform=${{ matrix.platform }} -v $PWD:/netdata ${{ matrix.base_image }}:${{ env.version }} /netdata/.github/scripts/pkg-test.sh
207 + docker run --security-opt seccomp=unconfined -e DISABLE_TELEMETRY=1 -e DISTRO=${{ matrix.distro }} \
208 + -e VERSION=${{ needs.version-check.outputs.version }} -e DISTRO_VERSION=${{ matrix.version }} \
209 + --platform=${{ matrix.platform }} -v "$PWD":/netdata ${{ matrix.base_image }}:${{ matrix.version }} \
210 + /netdata/.github/scripts/pkg-test.sh
211 - name: Save Packages
212 + id: artifacts
213 + continue-on-error: true
214 uses: actions/upload-artifact@v2
215 with:
216 name: ${{ matrix.distro }}-${{ matrix.version }}-${{ matrix.arch }}-packages
217 path: ${{ github.workspace }}/artifacts/*
218 - name: Upload to PackageCloud
219 + id: upload
220 if: github.event_name == 'workflow_dispatch'
221 shell: bash
222 env:
223 PKG_CLOUD_TOKEN: ${{ secrets.PACKAGE_CLOUD_API_KEY }}
224 run: |
176 - echo "Packages to upload:\n$(ls artifacts/*.${{ matrix.format }})"
225 + printf "Packages to upload:\n%s" "$(ls artifacts/*.${{ matrix.format }})"
226 for pkgfile in artifacts/*.${{ matrix.format }} ; do
178 - .github/scripts/package_cloud_wrapper.sh yank ${{ env.repo }}/${{ matrix.pkgclouddistro }} $(basename ${pkgfile}) || true
179 - .github/scripts/package_cloud_wrapper.sh push ${{ env.repo }}/${{ matrix.pkgclouddistro }} ${pkgfile}
227 + .github/scripts/package_cloud_wrapper.sh yank ${{ needs.version-check.outputs.repo }}/${{ matrix.pkgclouddistro }} \
228 + "$(basename "${pkgfile}")" || true
229 + .github/scripts/package_cloud_wrapper.sh push ${{ needs.version-check.outputs.repo }}/${{ matrix.pkgclouddistro }} "${pkgfile}"
230 done
231 - name: Clean
232 + id: cleanup
233 if: github.event_name == 'workflow_dispatch'
234 shell: bash
235 env:
185 - REPO: ${{ env.repo }}
236 + REPO: ${{ needs.version-check.outputs.repo }}
237 PKG_CLOUD_TOKEN: ${{ secrets.PACKAGE_CLOUD_API_KEY }}
187 - PACKAGE_CLOUD_RETENTION_DAYS: ${{ env.pkg_retention_days }}
238 + PACKAGE_CLOUD_RETENTION_DAYS: ${{ needs.version-check.outputs.retention }}
239 run: .github/scripts/old_package_purging.sh
240 - name: Failure Notification
241 uses: rtCamp/action-slack-notify@v2
@@ -193,7 +244,15 @@ jobs:
244 SLACK_ICON_EMOJI: ':github-actions:'
245 SLACK_TITLE: 'Package Build failed:'
246 SLACK_USERNAME: 'GitHub Actions'
196 - SLACK_MESSAGE: "${{ matrix.pkgclouddistro }} ${{ matrix.version }} package build for ${{ matrix.arch }} failed."
247 + SLACK_MESSAGE: >-
248 + ${{ github.repository }}: ${{ matrix.pkgclouddistro }} ${{ matrix.version }} package build for ${{ matrix.arch }} failed.
249 + Checkout: ${{ steps.checkout.outcome }}
250 + Setup QEMU: ${{ steps.qemu.outcome }}
251 + Setup Docker: ${{ steps.docker-config.outcome }}
252 + Fetch images: ${{ steps.fetch-images.outcome }}
253 + Build: ${{ steps.build.outcome }}
254 + Publish: ${{ steps.upload.outcome }}
255 + Cleanup: ${{ steps.cleanup.outcome }}
256 SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
257 if: >-
258 ${{
.github/workflows/repoconfig-packages.yml
+42 -9
@@ -23,8 +23,10 @@ jobs:
23 matrix: ${{ steps.set-matrix.outputs.matrix }}
24 steps:
25 - name: Checkout
26 + id: checkout
27 uses: actions/checkout@v2
28 - name: Prepare tools
29 + id: prepare
30 run: |
31 sudo apt-get update && sudo apt-get install -y python3-ruamel.yaml
32 - name: Read build matrix
@@ -55,6 +57,25 @@ jobs:
57 matrix = json.dumps({'include': entries}, sort_keys=True)
58 print('Generated Matrix: ' + matrix)
59 print('::set-output name=matrix::' + matrix)
60 + - name: Failure Notification
61 + uses: rtCamp/action-slack-notify@v2
62 + env:
63 + SLACK_COLOR: 'danger'
64 + SLACK_ICON_EMOJI: ':github-actions:'
65 + SLACK_TITLE: 'Repository Package Build matrix generation failed:'
66 + SLACK_USERNAME: 'GitHub Actions'
67 + SLACK_MESSAGE: >-
68 + ${{ github.repository }}: Failed to generate build matrix for repository package build.
69 + Checkout: ${{ steps.checkout.outcome }}
70 + Prepare Tools: ${{ steps.prepare.outcome }}
71 + Read Build Matrix: ${{ steps.set-matrix.outcome }}
72 + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
73 + if: >-
74 + ${{
75 + failure()
76 + && github.event_name != 'pull_request'
77 + && startsWith(github.ref, 'refs/heads/master')
78 + }}
79
80 build:
81 name: Build
@@ -73,9 +94,11 @@ jobs:
94 max-parallel: 8
95 steps:
96 - name: Checkout
97 + id: checkout
98 uses: actions/checkout@v2
99 # Unlike normally, we do not need a deep clone or submodules for this.
100 - name: Fetch base image
101 + id: fetch-images
102 uses: nick-invision/retry@v2
103 with:
104 max_attempts: 3
@@ -83,25 +106,30 @@ jobs:
106 timeout_seconds: 900
107 command: docker pull --platform ${{ matrix.platform }} ${{ matrix.base_image }}:${{ matrix.version }}
108 - name: Build Packages
109 + id: build
110 shell: bash
111 run: |
112 docker run --security-opt seccomp=unconfined -e DISABLE_TELEMETRY=1 --platform ${{ matrix.platform }} \
89 - -v $PWD:/netdata ${{ matrix.base_image }}:${{ matrix.version }} \
113 + -v "$PWD":/netdata ${{ matrix.base_image }}:${{ matrix.version }} \
114 /netdata/packaging/repoconfig/build-${{ matrix.format }}.sh
115 - name: Upload Packages
116 + id: publish
117 if: github.event_name != 'pull_request' && github.repository == 'netdata/netdata'
118 shell: bash
119 env:
120 PKG_CLOUD_TOKEN: ${{ secrets.PACKAGE_CLOUD_API_KEY }}
121 run: |
97 - echo "Packages to upload:\n$(ls artifacts/*.${{ matrix.format }})"
122 + printf "Packages to upload:\n%s" "$(ls artifacts/*.${{ matrix.format }})"
123 for pkgfile in artifacts/*.${{ matrix.format }} ; do
99 - .github/scripts/package_cloud_wrapper.sh yank ${{ secrets.PACKAGE_CLOUD_REPO }}/${{ matrix.pkgclouddistro }} $(basename ${pkgfile}) || true
100 - .github/scripts/package_cloud_wrapper.sh push ${{ secrets.PACKAGE_CLOUD_REPO }}/${{ matrix.pkgclouddistro }} ${pkgfile}
101 - .github/scripts/package_cloud_wrapper.sh yank ${{ secrets.PACKAGE_CLOUD_REPO }}-edge/${{ matrix.pkgclouddistro }} $(basename ${pkgfile}) || true
102 - .github/scripts/package_cloud_wrapper.sh push ${{ secrets.PACKAGE_CLOUD_REPO }}-edge/${{ matrix.pkgclouddistro }} ${pkgfile}
103 - .github/scripts/package_cloud_wrapper.sh yank ${{ secrets.PACKAGE_CLOUD_REPO }}-repoconfig/${{ matrix.pkgclouddistro }} $(basename ${pkgfile}) || true
104 - .github/scripts/package_cloud_wrapper.sh push ${{ secrets.PACKAGE_CLOUD_REPO }}-repoconfig/${{ matrix.pkgclouddistro }} ${pkgfile}
124 + .github/scripts/package_cloud_wrapper.sh yank ${{ secrets.PACKAGE_CLOUD_REPO }}/${{ matrix.pkgclouddistro }} \
125 + "$(basename "${pkgfile}")" || true
126 + .github/scripts/package_cloud_wrapper.sh push ${{ secrets.PACKAGE_CLOUD_REPO }}/${{ matrix.pkgclouddistro }} "${pkgfile}"
127 + .github/scripts/package_cloud_wrapper.sh yank ${{ secrets.PACKAGE_CLOUD_REPO }}-edge/${{ matrix.pkgclouddistro }} \
128 + "$(basename "${pkgfile}")" || true
129 + .github/scripts/package_cloud_wrapper.sh push ${{ secrets.PACKAGE_CLOUD_REPO }}-edge/${{ matrix.pkgclouddistro }} "${pkgfile}"
130 + .github/scripts/package_cloud_wrapper.sh yank ${{ secrets.PACKAGE_CLOUD_REPO }}-repoconfig/${{ matrix.pkgclouddistro }} \
131 + "$(basename "${pkgfile}")" || true
132 + .github/scripts/package_cloud_wrapper.sh push ${{ secrets.PACKAGE_CLOUD_REPO }}-repoconfig/${{ matrix.pkgclouddistro }} "${pkgfile}"
133 done
134 - name: Failure Notification
135 if: ${{ failure() }}
@@ -112,5 +140,10 @@ jobs:
140 SLACK_ICON_EMOJI: ':github-actions:'
141 SLACK_TITLE: 'Repository Package Build failed:'
142 SLACK_USERNAME: 'GitHub Actions'
115 - SLACK_MESSAGE: "${{ matrix.pkgclouddistro }} ${{ matrix.version }} repository package build failed."
143 + SLACK_MESSAGE: >-
144 + ${{ github.repository }}: ${{ matrix.pkgclouddistro }} ${{ matrix.version }} repository package build failed.
145 + Checkout: ${{ steps.checkout.outcome }}
146 + Fetch images: ${{ steps.fetch-images.outcome }}
147 + Build: ${{ steps.build.outcome }}
148 + Publish: ${{ steps.publish.outcome }}
149 SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}