123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- ---
- name: Checks
- on:
- push:
- branches:
- - master
- pull_request: null
- env:
- DISABLE_TELEMETRY: 1
- concurrency:
- group: checks-${{ github.ref }}
- cancel-in-progress: true
- jobs:
- file-check: # Check what files changed if we’re being run in a PR or on a push.
- name: Check Modified Files
- runs-on: ubuntu-latest
- outputs:
- run: ${{ steps.check-run.outputs.run }}
- steps:
- - name: Checkout
- id: checkout
- uses: actions/checkout@v4
- with:
- fetch-depth: 0
- submodules: recursive
- - name: Check files
- id: check-files
- uses: tj-actions/changed-files@v41
- with:
- since_last_remote_commit: ${{ github.event_name != 'pull_request' }}
- files: |
- **.c
- **.cc
- **.h
- **.hh
- **.in
- CMakeLists.txt
- .gitignore
- .github/workflows/checks.yml
- build/**
- aclk/aclk-schemas/
- ml/dlib/
- mqtt_websockets
- web/server/h2o/libh2o
- files_ignore: |
- netdata.spec.in
- **.md
- - name: Check Run
- id: check-run
- run: |
- if [ "${{ steps.check-files.outputs.any_modified }}" == "true" ] || [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
- echo 'run=true' >> "${GITHUB_OUTPUT}"
- else
- echo 'run=false' >> "${GITHUB_OUTPUT}"
- fi
- libressl-checks:
- name: LibreSSL
- needs:
- - file-check
- runs-on: ubuntu-latest
- steps:
- - name: Skip Check
- id: skip
- if: needs.file-check.outputs.run != 'true'
- run: echo "SKIPPED"
- - name: Checkout
- if: needs.file-check.outputs.run == 'true'
- uses: actions/checkout@v4
- with:
- submodules: recursive
- - name: Build
- if: needs.file-check.outputs.run == 'true'
- run: >
- docker run -v "$PWD":/netdata -w /netdata alpine:latest /bin/sh -c
- 'apk add bash;
- ./packaging/installer/install-required-packages.sh --dont-wait --non-interactive netdata;
- apk del openssl openssl-dev;
- apk add libressl libressl-dev protobuf-dev;
- ./netdata-installer.sh --disable-telemetry --dont-start-it --dont-wait --one-time-build;'
- clang-checks:
- name: Clang
- needs:
- - file-check
- runs-on: ubuntu-latest
- steps:
- - name: Skip Check
- id: skip
- if: needs.file-check.outputs.run != 'true'
- run: echo "SKIPPED"
- - name: Checkout
- if: needs.file-check.outputs.run == 'true'
- uses: actions/checkout@v4
- with:
- submodules: recursive
- - name: Build
- if: needs.file-check.outputs.run == 'true'
- run: docker build -f .github/dockerfiles/Dockerfile.clang .
- gitignore-check:
- name: .gitignore
- needs:
- - file-check
- runs-on: ubuntu-latest
- steps:
- - name: Skip Check
- id: skip
- if: needs.file-check.outputs.run != 'true'
- run: echo "SKIPPED"
- - name: Checkout
- if: needs.file-check.outputs.run == 'true'
- uses: actions/checkout@v4
- with:
- submodules: recursive
- - name: Prepare environment
- if: needs.file-check.outputs.run == 'true'
- run: ./packaging/installer/install-required-packages.sh --dont-wait --non-interactive netdata
- - name: Build netdata
- if: needs.file-check.outputs.run == 'true'
- run: ./netdata-installer.sh --dont-start-it --disable-telemetry --dont-wait --install-prefix /tmp/install --one-time-build
- - name: Check that repo is clean
- if: needs.file-check.outputs.run == 'true'
- run: |
- git status --porcelain=v1 > /tmp/porcelain
- if [ -s /tmp/porcelain ]; then
- cat /tmp/porcelain
- exit 1
- fi
|