summaryrefslogtreecommitdiffstats
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build.yml53
-rw-r--r--.github/workflows/checks.yml4
-rw-r--r--.github/workflows/docker.yml18
-rw-r--r--.github/workflows/packaging.yml16
-rw-r--r--.github/workflows/tests.yml2
5 files changed, 55 insertions, 38 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index a50f9df5a..16196342b 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -88,10 +88,10 @@ jobs:
strategy:
matrix:
arch:
- - 'x86_64'
- - 'armv7l'
- - 'aarch64'
- - 'ppc64le'
+ - x86_64
+ - armv7l
+ - aarch64
+ - ppc64le
steps:
- name: Checkout
id: checkout
@@ -104,9 +104,26 @@ jobs:
if: github.event_name == 'workflow_dispatch' && github.event.inputs.type != 'nightly'
run: |
sed -i 's/^RELEASE_CHANNEL="nightly" *#/RELEASE_CHANNEL="stable" #/' netdata-installer.sh packaging/makeself/install-or-update.sh
+ - name: Get Cache Key
+ id: cache-key
+ run: .github/scripts/get-static-cache-key.sh ${{ matrix.arch }}
+ - name: Cache
+ id: cache
+ uses: actions/cache@v3
+ with:
+ path: artifacts/cache
+ key: ${{ steps.cache-key.outputs.key }}
- name: Build
- id: build
+ if: github.event_name != 'workflow_dispatch' # Don’t use retries on PRs.
run: .github/scripts/build-static.sh ${{ matrix.arch }}
+ - name: Build
+ if: github.event_name == 'workflow_dispatch'
+ id: build
+ uses: nick-fields/retry@v2
+ with:
+ timeout_minutes: 180
+ retries: 3
+ command: .github/scripts/build-static.sh ${{ matrix.arch }}
- name: Store
id: store
uses: actions/upload-artifact@v3
@@ -210,10 +227,10 @@ jobs:
uses: actions/checkout@v3
- name: Setup Buildx
id: buildx
- uses: docker/setup-buildx-action@v1
+ uses: docker/setup-buildx-action@v2
- name: Build test environment
id: build1
- uses: docker/build-push-action@v2
+ uses: docker/build-push-action@v3
continue-on-error: true # We retry 3 times at 5 minute intervals if there is a failure here.
with:
push: false
@@ -226,12 +243,12 @@ jobs:
outputs: type=oci,dest=/tmp/image.tar
tags: test:${{ matrix.artifact_key }}
- name: Retry delay
- if: ${{ steps.build1.outcome }} == 'failure'
+ if: ${{ steps.build1.outcome == 'failure' }}
run: sleep "${RETRY_DELAY}"
- name: Build test environment (attempt 2)
- if: ${{ steps.build1.outcome }} == 'failure'
+ if: ${{ steps.build1.outcome == 'failure' }}
id: build2
- uses: docker/build-push-action@v2
+ uses: docker/build-push-action@v3
continue-on-error: true # We retry 3 times at 5 minute intervals if there is a failure here.
with:
push: false
@@ -244,12 +261,12 @@ jobs:
outputs: type=oci,dest=/tmp/image.tar
tags: test:${{ matrix.artifact_key }}
- name: Retry delay
- if: ${{ steps.build1.outcome }} == 'failure' && ${{ steps.build2.outcome }} == 'failure'
+ if: ${{ steps.build1.outcome == 'failure' && steps.build2.outcome == 'failure' }}
run: sleep "${RETRY_DELAY}"
- name: Build test environment (attempt 3)
- if: ${{ steps.build1.outcome }} == 'failure' && ${{ steps.build2.outcome }} == 'failure'
+ if: ${{ steps.build1.outcome == 'failure' && steps.build2.outcome == 'failure' }}
id: build3
- uses: docker/build-push-action@v2
+ uses: docker/build-push-action@v3
with:
push: false
load: false
@@ -321,23 +338,23 @@ jobs:
id: build-basic
run: |
docker run --security-opt seccomp=unconfined -w /netdata sha256:${{ steps.load.outputs.image }} \
- /bin/sh -c 'autoreconf -ivf && ./configure && make -j2'
+ /bin/sh -c 'autoreconf -ivf && ./configure --disable-dependency-tracking && make -j2'
- name: netdata-installer on ${{ matrix.distro }}, disable cloud
id: build-no-cloud
run: |
docker run --security-opt seccomp=unconfined -w /netdata sha256:${{ steps.load.outputs.image }} \
- /bin/sh -c './netdata-installer.sh --dont-wait --dont-start-it --disable-cloud'
+ /bin/sh -c './netdata-installer.sh --dont-wait --dont-start-it --disable-cloud --one-time-build'
- name: netdata-installer on ${{ matrix.distro }}, require cloud
id: build-cloud
run: |
docker run --security-opt seccomp=unconfined -w /netdata sha256:${{ steps.load.outputs.image }} \
- /bin/sh -c './netdata-installer.sh --dont-wait --dont-start-it --require-cloud'
+ /bin/sh -c './netdata-installer.sh --dont-wait --dont-start-it --require-cloud --one-time-build'
- name: netdata-installer on ${{ matrix.distro }}, require cloud, no JSON-C
id: build-no-jsonc
if: matrix.jsonc_removal != ''
run: |
docker run --security-opt seccomp=unconfined -w /netdata sha256:${{ steps.load.outputs.image }} \
- /bin/sh -c '/rmjsonc.sh && ./netdata-installer.sh --dont-wait --dont-start-it --require-cloud'
+ /bin/sh -c '/rmjsonc.sh && ./netdata-installer.sh --dont-wait --dont-start-it --require-cloud --one-time-build'
- name: Failure Notification
uses: rtCamp/action-slack-notify@v2
env:
@@ -627,7 +644,7 @@ jobs:
export_default_credentials: true
- name: Upload Artifacts
id: upload
- uses: google-github-actions/upload-cloud-storage@v0.9.0
+ uses: google-github-actions/upload-cloud-storage@v0.10.2
with:
destination: ${{ secrets.GCP_NIGHTLY_STORAGE_BUCKET }}
gzip: false
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
index 5f9a9c8c6..65ad6acbc 100644
--- a/.github/workflows/checks.yml
+++ b/.github/workflows/checks.yml
@@ -27,7 +27,7 @@ jobs:
apk del openssl openssl-dev;
apk add libressl libressl-dev;
autoreconf -ivf;
- ./configure;
+ ./configure --disable-dependency-tracking;
make;'
clang-checks:
name: Clang
@@ -51,7 +51,7 @@ jobs:
- name: Prepare environment
run: ./packaging/installer/install-required-packages.sh --dont-wait --non-interactive netdata
- name: Build netdata
- run: ./netdata-installer.sh --dont-start-it --disable-telemetry --dont-wait --install /tmp/install
+ run: ./netdata-installer.sh --dont-start-it --disable-telemetry --dont-wait --install /tmp/install --one-time-build
- name: Check that repo is clean
run: |
git status --porcelain=v1 > /tmp/porcelain
diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
index 10d7093ad..b1df95c33 100644
--- a/.github/workflows/docker.yml
+++ b/.github/workflows/docker.yml
@@ -28,10 +28,10 @@ jobs:
submodules: recursive
- name: Setup Buildx
id: prepare
- uses: docker/setup-buildx-action@v1
+ uses: docker/setup-buildx-action@v2
- name: Test Build
id: build
- uses: docker/build-push-action@v2
+ uses: docker/build-push-action@v3
with:
load: true
push: false
@@ -82,13 +82,13 @@ jobs:
- name: Setup QEMU
id: qemu
if: matrix.platforms != 'linux/i386'
- uses: docker/setup-qemu-action@v1
+ uses: docker/setup-qemu-action@v2
- name: Setup Buildx
id: buildx
- uses: docker/setup-buildx-action@v1
+ uses: docker/setup-buildx-action@v2
- name: Build
id: build
- uses: docker/build-push-action@v2
+ uses: docker/build-push-action@v3
with:
platforms: ${{ matrix.platforms }}
load: false
@@ -162,19 +162,19 @@ jobs:
run: echo "OFFICIAL_IMAGE=true" >> "${GITHUB_ENV}"
- name: Setup QEMU
id: qemu
- uses: docker/setup-qemu-action@v1
+ uses: docker/setup-qemu-action@v2
- name: Setup Buildx
id: buildx
- uses: docker/setup-buildx-action@v1
+ uses: docker/setup-buildx-action@v2
- name: Docker Hub Login
id: login
- uses: docker/login-action@v1
+ uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
- name: Docker Build
id: build
- uses: docker/build-push-action@v2
+ uses: docker/build-push-action@v3
with:
platforms: linux/amd64,linux/i386,linux/arm/v7,linux/arm64,linux/ppc64le
push: true
diff --git a/.github/workflows/packaging.yml b/.github/workflows/packaging.yml
index dbf334d59..d793d48a8 100644
--- a/.github/workflows/packaging.yml
+++ b/.github/workflows/packaging.yml
@@ -176,7 +176,7 @@ jobs:
- name: Setup QEMU
id: qemu
if: matrix.platform != 'linux/amd64' && matrix.platform != 'linux/i386'
- uses: docker/setup-qemu-action@v1
+ uses: docker/setup-qemu-action@v2
- name: Prepare Docker Environment
id: docker-config
shell: bash
@@ -199,6 +199,13 @@ jobs:
run: |
docker run --security-opt seccomp=unconfined -e DISABLE_TELEMETRY=1 -e VERSION=${{ needs.version-check.outputs.version }} \
--platform=${{ matrix.platform }} -v "$PWD":/netdata netdata/package-builders:${{ matrix.distro }}${{ matrix.version }}
+ - name: Save Packages
+ id: artifacts
+ continue-on-error: true
+ uses: actions/upload-artifact@v3
+ with:
+ name: ${{ matrix.distro }}-${{ matrix.version }}-${{ matrix.arch }}-packages
+ path: ${{ github.workspace }}/artifacts/*
- name: Test Packages
id: test
shell: bash
@@ -207,13 +214,6 @@ jobs:
-e VERSION=${{ needs.version-check.outputs.version }} -e DISTRO_VERSION=${{ matrix.version }} \
--platform=${{ matrix.platform }} -v "$PWD":/netdata ${{ matrix.base_image }}:${{ matrix.version }} \
/netdata/.github/scripts/pkg-test.sh
- - name: Save Packages
- id: artifacts
- continue-on-error: true
- uses: actions/upload-artifact@v3
- with:
- name: ${{ matrix.distro }}-${{ matrix.version }}-${{ matrix.arch }}-packages
- path: ${{ github.workspace }}/artifacts/*
- name: Upload to PackageCloud
id: upload
if: github.event_name == 'workflow_dispatch'
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 7e53c4979..6272a6d68 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -57,7 +57,7 @@ jobs:
- name: Configure
run: |
autoreconf -ivf
- ./configure --disable-ml
+ ./configure --disable-ml --disable-dependency-tracking
# XXX: Work-around for bug with libbson-1.0 in Ubuntu 18.04
# See: https://bugs.launchpad.net/ubuntu/+source/libmongoc/+bug/1790771
# https://jira.mongodb.org/browse/CDRIVER-2818