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 }}