diff options
Diffstat (limited to '.github/workflows/build-dummy.yml')
-rw-r--r-- | .github/workflows/build-dummy.yml | 127 |
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' |