summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authorAustin S. Hemmelgarn <austin@netdata.cloud>2023-03-28 10:05:03 -0400
committerGitHub <noreply@github.com>2023-03-28 10:05:03 -0400
commitb19d9076d883167c9df572dc88b05c07abafa516 (patch)
tree66b6e1cc4b1524d3109d90cb88afb8e4ca37ac8b /.github
parent8a036f0b244a15252a009524fef4702e7e000c50 (diff)
Fix failure logic for publishing packages. (#14720)
- Don’t fail jobs if publishing to PackageCloud fails (it’s expected to fail in a number of circumstances). - Do fail jobs if we can’t publish to our own hosting infrastructure.
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/packaging.yml31
-rw-r--r--.github/workflows/repoconfig-packages.yml43
2 files changed, 36 insertions, 38 deletions
diff --git a/.github/workflows/packaging.yml b/.github/workflows/packaging.yml
index 470b0fd60f..a8d5028476 100644
--- a/.github/workflows/packaging.yml
+++ b/.github/workflows/packaging.yml
@@ -193,10 +193,23 @@ jobs:
-e VERSION=${{ needs.version-check.outputs.version }} -e DISTRO_VERSION=${{ matrix.version }} \
--platform=${{ matrix.platform }} -v "$PWD":/netdata ${{ matrix.base_image }} \
/netdata/.github/scripts/pkg-test.sh
+ - name: Upload to PackageCloud
+ id: upload
+ if: github.event_name == 'workflow_dispatch' && github.repository == 'netdata/netdata'
+ continue-on-error: true
+ shell: bash
+ env:
+ PKG_CLOUD_TOKEN: ${{ secrets.PACKAGE_CLOUD_API_KEY }}
+ run: |
+ printf "Packages to upload:\n%s" "$(ls artifacts/*.${{ matrix.format }})"
+ for pkgfile in artifacts/*.${{ matrix.format }} ; do
+ .github/scripts/package_cloud_wrapper.sh yank ${{ needs.version-check.outputs.repo }}/${{ matrix.repo_distro }} \
+ "$(basename "${pkgfile}")" || true
+ .github/scripts/package_cloud_wrapper.sh push ${{ needs.version-check.outputs.repo }}/${{ matrix.repo_distro }} "${pkgfile}"
+ done
- name: SSH setup
id: ssh-setup
if: github.event_name == 'workflow_dispatch' && github.repository == 'netdata/netdata'
- continue-on-error: true
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.NETDATABOT_PACKAGES_SSH_KEY }}
@@ -204,7 +217,6 @@ jobs:
known_hosts: ${{ secrets.PACKAGES_KNOWN_HOSTS }}
- name: Upload to packages.netdata.cloud
id: package-upload
- continue-on-error: true
if: github.event_name == 'workflow_dispatch' && github.repository == 'netdata/netdata'
run: |
.github/scripts/package-upload.sh \
@@ -212,19 +224,6 @@ jobs:
${{ matrix.arch }} \
${{ matrix.format }} \
${{ needs.version-check.outputs.repo }}
- - name: Upload to PackageCloud
- id: upload
- if: github.event_name == 'workflow_dispatch' && github.repository == 'netdata/netdata'
- shell: bash
- env:
- PKG_CLOUD_TOKEN: ${{ secrets.PACKAGE_CLOUD_API_KEY }}
- run: |
- printf "Packages to upload:\n%s" "$(ls artifacts/*.${{ matrix.format }})"
- for pkgfile in artifacts/*.${{ matrix.format }} ; do
- .github/scripts/package_cloud_wrapper.sh yank ${{ needs.version-check.outputs.repo }}/${{ matrix.repo_distro }} \
- "$(basename "${pkgfile}")" || true
- .github/scripts/package_cloud_wrapper.sh push ${{ needs.version-check.outputs.repo }}/${{ matrix.repo_distro }} "${pkgfile}"
- done
- name: Failure Notification
uses: rtCamp/action-slack-notify@v2
env:
@@ -240,9 +239,9 @@ jobs:
Fetch images: ${{ steps.fetch-images.outcome }}
Build: ${{ steps.build.outcome }}
Test: ${{ steps.test.outcome }}
+ Publish to PackageCloud: ${{ steps.upload.outcome }}
Import SSH Key: ${{ steps.ssh-setup.outcome }}
Publish to packages.netdata.cloud: ${{ steps.package-upload.outcome }}
- Publish to PackageCloud: ${{ steps.upload.outcome }}
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
if: >-
${{
diff --git a/.github/workflows/repoconfig-packages.yml b/.github/workflows/repoconfig-packages.yml
index 886fb563cc..e2b41570fa 100644
--- a/.github/workflows/repoconfig-packages.yml
+++ b/.github/workflows/repoconfig-packages.yml
@@ -94,10 +94,29 @@ jobs:
docker run --security-opt seccomp=unconfined -e DISABLE_TELEMETRY=1 --platform ${{ matrix.platform }} \
-v "$PWD":/netdata ${{ matrix.base_image }} \
/netdata/packaging/repoconfig/build-${{ matrix.format }}.sh
+ - name: Upload Packages
+ id: publish
+ if: github.event_name != 'pull_request' && github.repository == 'netdata/netdata'
+ continue-on-error: true
+ shell: bash
+ env:
+ PKG_CLOUD_TOKEN: ${{ secrets.PACKAGE_CLOUD_API_KEY }}
+ run: |
+ printf "Packages to upload:\n%s" "$(ls artifacts/*.${{ matrix.format }})"
+ for pkgfile in artifacts/*.${{ matrix.format }} ; do
+ .github/scripts/package_cloud_wrapper.sh yank "${REPO_PREFIX}/${{ matrix.pkgclouddistro }}" \
+ "$(basename "${pkgfile}")" || true
+ .github/scripts/package_cloud_wrapper.sh push "${REPO_PREFIX}/${{ matrix.pkgclouddistro }}" "${pkgfile}"
+ .github/scripts/package_cloud_wrapper.sh yank "${REPO_PREFIX}-edge/${{ matrix.pkgclouddistro }}" \
+ "$(basename "${pkgfile}")" || true
+ .github/scripts/package_cloud_wrapper.sh push "${REPO_PREFIX}-edge/${{ matrix.pkgclouddistro }}" "${pkgfile}"
+ .github/scripts/package_cloud_wrapper.sh yank "${REPO_PREFIX}-repoconfig/${{ matrix.pkgclouddistro }}" \
+ "$(basename "${pkgfile}")" || true
+ .github/scripts/package_cloud_wrapper.sh push "${REPO_PREFIX}-repoconfig/${{ matrix.pkgclouddistro }}" "${pkgfile}"
+ done
- name: SSH setup
id: ssh-setup
if: github.event_name != 'pull_request' && github.repository == 'netdata/netdata'
- continue-on-error: true
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.NETDATABOT_PACKAGES_SSH_KEY }}
@@ -105,7 +124,6 @@ jobs:
known_hosts: ${{ secrets.PACKAGES_KNOWN_HOSTS }}
- name: Upload to packages.netdata.cloud
id: package-upload
- continue-on-error: true
if: github.event_name != 'pull_request' && github.repository == 'netdata/netdata'
run: |
for arch in ${{ matrix.arches }}; do
@@ -117,25 +135,6 @@ jobs:
netdata/netdata${suffix}
done
done
- - name: Upload Packages
- id: publish
- if: github.event_name != 'pull_request' && github.repository == 'netdata/netdata'
- shell: bash
- env:
- PKG_CLOUD_TOKEN: ${{ secrets.PACKAGE_CLOUD_API_KEY }}
- run: |
- printf "Packages to upload:\n%s" "$(ls artifacts/*.${{ matrix.format }})"
- for pkgfile in artifacts/*.${{ matrix.format }} ; do
- .github/scripts/package_cloud_wrapper.sh yank "${REPO_PREFIX}/${{ matrix.pkgclouddistro }}" \
- "$(basename "${pkgfile}")" || true
- .github/scripts/package_cloud_wrapper.sh push "${REPO_PREFIX}/${{ matrix.pkgclouddistro }}" "${pkgfile}"
- .github/scripts/package_cloud_wrapper.sh yank "${REPO_PREFIX}-edge/${{ matrix.pkgclouddistro }}" \
- "$(basename "${pkgfile}")" || true
- .github/scripts/package_cloud_wrapper.sh push "${REPO_PREFIX}-edge/${{ matrix.pkgclouddistro }}" "${pkgfile}"
- .github/scripts/package_cloud_wrapper.sh yank "${REPO_PREFIX}-repoconfig/${{ matrix.pkgclouddistro }}" \
- "$(basename "${pkgfile}")" || true
- .github/scripts/package_cloud_wrapper.sh push "${REPO_PREFIX}-repoconfig/${{ matrix.pkgclouddistro }}" "${pkgfile}"
- done
- name: Failure Notification
if: ${{ failure() && github.repository == 'netdata/netdata' }}
uses: rtCamp/action-slack-notify@v2
@@ -150,7 +149,7 @@ jobs:
Checkout: ${{ steps.checkout.outcome }}
Fetch images: ${{ steps.fetch-images.outcome }}
Build: ${{ steps.build.outcome }}
+ Publish to PackageCloud: ${{ steps.publish.outcome }}
Import SSH Key: ${{ steps.ssh-setup.outcome }}
Publish to packages.netdata.cloud: ${{ steps.package-upload.outcome }}
- Publish to PackageCloud: ${{ steps.publish.outcome }}
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}