summaryrefslogtreecommitdiffstats
path: root/.github/workflows/build-dummy.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/build-dummy.yml')
-rw-r--r--.github/workflows/build-dummy.yml127
1 files changed, 127 insertions, 0 deletions
diff --git a/.github/workflows/build-dummy.yml b/.github/workflows/build-dummy.yml
new file mode 100644
index 00000000..6bf327e2
--- /dev/null
+++ b/.github/workflows/build-dummy.yml
@@ -0,0 +1,127 @@
+---
+# Ci code for building release artifacts.
+#
+# This workflow exists so we can require these checks to pass, but skip
+# them on PRs that have nothing to do with the source code.
+name: Build
+on:
+ pull_request: # PR checks only validate the build and generate artifacts for testing.
+ paths-ignore: # This MUST be kept in-sync with the paths-ignore key for the build-dummy.yml workflow.
+ - '**.c'
+ - '**.cc'
+ - '**.h'
+ - '**.hh'
+ - '**.in'
+ - '!netdata.spec.in'
+ - 'configure.ac'
+ - 'netdata-installer.sh'
+ - '**/Makefile*'
+ - 'Makefile*'
+ - '.github/workflows/build.yml'
+ - '.github/scripts/build-static.sh'
+ - '.github/scripts/get-static-cache-key.sh'
+ - '.github/scripts/gen-matrix-build.py'
+ - '.github/scripts/run-updater-check.sh'
+ - 'build/**'
+ - 'packaging/makeself/**'
+ - 'packaging/installer/**'
+ - 'aclk/aclk-schemas/'
+ - 'ml/dlib/'
+ - 'mqtt_websockets'
+ - 'web/server/h2o/libh2o'
+ - '!**.md'
+concurrency: # This keeps multiple instances of the job from running concurrently for the same ref and event type.
+ group: build-${{ github.ref }}-${{ github.event_name }}
+ cancel-in-progress: true
+jobs:
+ build-dist: # Build the distribution tarball and store it as an artifact.
+ name: Build Distribution Tarball
+ runs-on: ubuntu-latest
+ steps:
+ - run: echo 'NOT REQUIRED'
+
+ build-static: # Build the static binary archives, and store them as artifacts.
+ name: Build Static
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ arch:
+ - x86_64
+ - armv7l
+ - aarch64
+ - ppc64le
+ steps:
+ - run: echo 'NOT REQUIRED'
+
+ matrix: # Generate the shared build matrix for our build tests.
+ name: Prepare Build Matrix
+ runs-on: ubuntu-latest
+ outputs:
+ matrix: ${{ steps.set-matrix.outputs.matrix }}
+ steps:
+ - name: Checkout
+ id: checkout
+ uses: actions/checkout@v3
+ - name: Prepare tools
+ id: prepare
+ run: |
+ sudo apt-get update && sudo apt-get install -y python3-ruamel.yaml
+ - name: Read build matrix
+ id: set-matrix
+ run: |
+ matrix="$(.github/scripts/gen-matrix-build.py)"
+ echo "Generated matrix: ${matrix}"
+ echo "matrix=${matrix}" >> "${GITHUB_OUTPUT}"
+
+ prepare-test-images: # Prepare the test environments for our build checks. This also checks dependency handling code for each tested environment.
+ name: Prepare Test Environments
+ runs-on: ubuntu-latest
+ needs:
+ - matrix
+ env:
+ RETRY_DELAY: 300
+ strategy:
+ fail-fast: false
+ matrix: ${{ fromJson(needs.matrix.outputs.matrix) }}
+ steps:
+ - run: echo 'NOT REQUIRED'
+
+ source-build: # Test various source build arrangements.
+ name: Test Source Build
+ runs-on: ubuntu-latest
+ needs:
+ - matrix
+ strategy:
+ fail-fast: false
+ matrix: ${{ fromJson(needs.matrix.outputs.matrix) }}
+ steps:
+ - run: echo 'NOT REQUIRED'
+
+ updater-check: # Test the generated dist archive using the updater code.
+ name: Test Generated Distfile and Updater Code
+ runs-on: ubuntu-latest
+ needs:
+ - matrix
+ strategy:
+ fail-fast: false
+ matrix: ${{ fromJson(needs.matrix.outputs.matrix) }}
+ steps:
+ - run: echo 'NOT REQUIRED'
+
+ prepare-upload: # Consolidate the artifacts for uploading or releasing.
+ name: Prepare Artifacts
+ runs-on: ubuntu-latest
+ steps:
+ - run: echo 'NOT REQUIRED'
+
+ artifact-verification-dist: # Verify the regular installer works with the consolidated artifacts.
+ name: Test Consolidated Artifacts (Source)
+ runs-on: ubuntu-latest
+ steps:
+ - run: echo 'NOT REQUIRED'
+
+ artifact-verification-static: # Verify the static installer works with the consolidated artifacts.
+ name: Test Consolidated Artifacts (Static)
+ runs-on: ubuntu-latest
+ steps:
+ - run: echo 'NOT REQUIRED'