go.d add dmcache collector (#17947) #79
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# CI code for build and test on macOS | |
name: macOS Build and test | |
on: | |
push: # Master branch checks only validate the build and generate artifacts for testing. | |
branches: | |
- master | |
pull_request: null # PR checks only validate the build and generate artifacts for testing. | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
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@v44 | |
with: | |
since_last_remote_commit: ${{ github.event_name != 'pull_request' }} | |
files: | | |
**/*.c | |
**/*.cc | |
**/*.h | |
**/*.hh | |
**/*.in | |
**/*.patch | |
**/*.cmake | |
CMakeLists.txt | |
netdata-installer.sh | |
.github/workflows/build-macos.yml | |
.github/scripts/run-updater-check.sh | |
packaging/cmake/ | |
packaging/installer/ | |
packaging/*.sh | |
packaging/*.version | |
packaging/*.checksums | |
src/aclk/aclk-schemas/ | |
src/ml/dlib/ | |
src/fluent-bit/ | |
src/web/server/h2o/libh2o/ | |
files_ignore: | | |
netdata.spec.in | |
**/*.md | |
packaging/repoconfig/ | |
- name: List all changed files in pattern | |
continue-on-error: true | |
env: | |
ALL_CHANGED_FILES: ${{ steps.check-files.outputs.all_changed_files }} | |
run: | | |
for file in ${ALL_CHANGED_FILES}; do | |
echo "$file was changed" | |
done | |
- 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 | |
build-test: | |
env: | |
DISABLE_TELEMETRY: 1 | |
runs-on: ${{ matrix.runner }} | |
needs: | |
- file-check | |
strategy: | |
fail-fast: false | |
max-parallel: 3 | |
matrix: | |
include: | |
- name: macos-12 | |
runner: macos-12 | |
- name: macos-13 | |
runner: macos-13 | |
- name: macos-14-M1 | |
runner: macos-14 | |
steps: | |
- name: Skip Check | |
id: skip | |
if: needs.file-check.outputs.run != 'true' | |
run: echo "SKIPPED" | |
- uses: actions/checkout@v4 | |
id: checkout | |
if: needs.file-check.outputs.run == 'true' | |
with: | |
submodules: recursive | |
- name: Install latest bash | |
id: install-bash | |
if: needs.file-check.outputs.run == 'true' | |
run: | | |
brew install bash | |
- name: Install netdata dependencies | |
id: install-nd-dep | |
if: needs.file-check.outputs.run == 'true' | |
run: | | |
bash ./packaging/installer/install-required-packages.sh --dont-wait --non-interactive netdata-all | |
- name: Build from source | |
id: build-source | |
if: needs.file-check.outputs.run == 'true' | |
run: | | |
sudo bash ./netdata-installer.sh --install-no-prefix /usr/local/netdata --dont-wait --dont-start-it --require-cloud --one-time-build | |
- name: Test Agent start up | |
id: test-agent | |
if: needs.file-check.outputs.run == 'true' | |
run: | | |
/usr/local/netdata/usr/sbin/netdata -D > ./netdata.log 2>&1 & | |
./packaging/runtime-check.sh | |
- name: Failure Notification | |
uses: rtCamp/action-slack-notify@v2 | |
env: | |
SLACK_COLOR: 'danger' | |
SLACK_FOOTER: '' | |
SLACK_ICON_EMOJI: ':github-actions:' | |
SLACK_TITLE: 'Build & test from source macOS failed:' | |
SLACK_USERNAME: 'GitHub Actions' | |
SLACK_MESSAGE: |- | |
${{ github.repository }}: macOS Build and test. | |
Checkout: ${{ steps.checkout.outcome }} | |
Setup runner: ${{ steps.install-bash.outcome }} | |
Install netdata required packages: ${{ steps.install-nd-dep.outcome }} | |
Build from source: ${{ steps.build-source.outcome }} | |
Test Agent runtime: ${{ steps.test-agent.outcome }} | |
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }} | |
if: >- | |
${{ | |
failure() | |
&& startsWith(github.ref, 'refs/heads/master') | |
&& github.event_name != 'pull_request' | |
&& github.repository == 'netdata/netdata' | |
}} |