Skip to content

Commit 848f898

Browse files
authored
Merge branch 'netdata:master' into master
2 parents a6ac7c5 + 7d5764d commit 848f898

3,204 files changed

Lines changed: 365555 additions & 90153 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ Include "Fixes #nnn" if you are fixing an existing issue.
66

77
##### Test Plan
88

9+
- [ ] AI-generated or AI-assisted content has been manually verified (examples/instructions tested where applicable).
10+
911
<!--
1012
Provide enough detail so that your reviewer can understand which test cases you
1113
have covered, and recreate them if necessary. If our CI covers sufficient tests, then state which tests cover the change.

.github/data/distros.yml

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ include:
216216

217217
- &fedora
218218
distro: fedora
219-
version: "43"
219+
version: "44"
220220
support_type: Core
221221
notes: ''
222222
eol_check: true
@@ -225,13 +225,20 @@ include:
225225
dnf remove -y json-c-devel
226226
packages: &fedora_packages
227227
type: rpm
228-
repo_distro: fedora/43
228+
repo_distro: fedora/44
229229
builder_rev: *def_builder_rev
230230
arches:
231231
- x86_64
232232
- aarch64
233233
test:
234234
ebpf-core: true
235+
- <<: *fedora
236+
version: "43"
237+
packages:
238+
<<: *fedora_packages
239+
repo_distro: fedora/43
240+
test:
241+
ebpf-core: true
235242
- <<: *fedora
236243
version: "42"
237244
packages:
@@ -356,7 +363,7 @@ include:
356363

357364
- &ubuntu
358365
distro: ubuntu
359-
version: "24.04"
366+
version: "26.04"
360367
support_type: Core
361368
notes: ''
362369
eol_check: true
@@ -369,7 +376,7 @@ include:
369376
apt-get remove -y libjson-c-dev
370377
packages: &ubuntu_packages
371378
type: deb
372-
repo_distro: ubuntu/noble
379+
repo_distro: ubuntu/resolute
373380
builder_rev: v2
374381
arches:
375382
- amd64
@@ -383,20 +390,15 @@ include:
383390
<<: *ubuntu_packages
384391
repo_distro: ubuntu/questing
385392
- <<: *ubuntu
386-
version: "25.04"
393+
version: "24.04"
387394
packages:
388395
<<: *ubuntu_packages
389-
repo_distro: ubuntu/plucky
396+
repo_distro: ubuntu/noble
390397
- <<: *ubuntu
391398
version: "22.04"
392399
packages:
393400
<<: *ubuntu_packages
394401
repo_distro: ubuntu/jammy
395-
- <<: *ubuntu
396-
version: "20.04"
397-
packages:
398-
<<: *ubuntu_packages
399-
repo_distro: ubuntu/focal
400402
legacy: # Info for platforms we used to support and still need to handle packages for
401403
- <<: *debian
402404
version: "10"
@@ -461,6 +463,16 @@ legacy: # Info for platforms we used to support and still need to handle package
461463
packages:
462464
<<: *ubuntu_packages
463465
repo_distro: ubuntu/oracular
466+
- <<: *ubuntu
467+
version: "25.04"
468+
packages:
469+
<<: *ubuntu_packages
470+
repo_distro: ubuntu/plucky
471+
- <<: *ubuntu
472+
version: "20.04"
473+
packages:
474+
<<: *ubuntu_packages
475+
repo_distro: ubuntu/focal
464476
no_include: # Info for platforms not covered in CI
465477
- distro: docker
466478
version: "19.03 or newer"

.github/scripts/gen-matrix-packaging.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
from ruamel.yaml import YAML
77

8-
ALWAYS_RUN_ARCHES = ["amd64", "x86_64"]
8+
ALWAYS_RUN_ARCHES = ["amd64", "x86_64", 'i386', 'armhf', 'aarch64', 'arm64']
99
SHORT_RUN = sys.argv[1]
1010
yaml = YAML(typ='safe')
1111
entries = list()
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
#!/bin/bash
2+
3+
set -euo pipefail
4+
5+
url="$(cat packaging/vendor/ibm_mq.url)"
6+
sha256="$(cat packaging/vendor/ibm_mq.sha256)"
7+
file="${url##*/}"
8+
cache_dir="artifacts/cache"
9+
tmp_dir="tmp"
10+
hash_path="${tmp_dir}/hash"
11+
dl_path="${tmp_dir}/${file}"
12+
cache_path="${cache_dir}/${file}"
13+
extract_path="${tmp_dir}/ibm_mq"
14+
need_to_fetch=1
15+
16+
rm -rf "${extract_path}"
17+
mkdir -p "${tmp_dir}" "${cache_dir}" "${extract_path}"
18+
19+
hash_valid() {
20+
local path="${1}"
21+
echo "${sha256} ${path}" > "${hash_path}"
22+
if sha256sum -c "${hash_path}"; then
23+
return 0
24+
else
25+
return 1
26+
fi
27+
}
28+
29+
if [ -f "${cache_path}" ]; then
30+
if ! hash_valid "${cache_path}" ; then
31+
rm -f "${cache_path}"
32+
else
33+
need_to_fetch=0
34+
fi
35+
fi
36+
37+
if [ "${need_to_fetch}" -eq 1 ]; then
38+
rm -f "${dl_path}"
39+
curl --output "${dl_path}" \
40+
--fail \
41+
--location \
42+
--max-time 300 \
43+
--connect-timeout 90 \
44+
--retry 5 \
45+
--retry-all-errors \
46+
--retry-delay 90 \
47+
--remote-time \
48+
"${url}"
49+
50+
hash_valid "${dl_path}"
51+
52+
cp "${dl_path}" "${cache_path}"
53+
fi
54+
55+
tar -xvzf "${cache_path}" -C "${extract_path}"
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#Requires -Version 4.0
2+
3+
$ErrorActionPreference = "Stop"
4+
5+
$ndPath = "C:\Program Files\Netdata\usr\bin\netdata.exe"
6+
$lddPath = "C:\Program Files\Netdata\usr\bin\ldd.exe"
7+
8+
if (Test-Path -Path $ndPath) {
9+
Write-Output "$ndPath found, attempting to check linking"
10+
11+
if (Test-Path -Path $lddPath) {
12+
& $lddPath $ndPath | Tee-Object -Variable lddResult
13+
14+
if ($LastExitCode -ne 0) {
15+
Write-Output "Exit Code: $LastExitCode"
16+
exit 1
17+
}
18+
19+
if ($lddResult -match 'missing|not found') {
20+
Write-Output "Libraries missing from install"
21+
exit 1
22+
} else {
23+
Write-Output "Linking OK"
24+
}
25+
} else {
26+
Write-Output "$lddPath not found, unable to check linking"
27+
exit 2
28+
}
29+
} else {
30+
Write-Output "$ndPath does not exist"
31+
exit 1
32+
}

.github/workflows/build.yml

Lines changed: 80 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ jobs:
182182
- name: Store
183183
id: store
184184
if: needs.file-check.outputs.run == 'true'
185-
uses: actions/upload-artifact@v6.0.0
185+
uses: actions/upload-artifact@v7.0.0
186186
with:
187187
name: dist-tarball
188188
path: artifacts/*.tar.gz
@@ -313,7 +313,7 @@ jobs:
313313
- name: Store
314314
id: store
315315
if: needs.file-check.outputs.run == 'true'
316-
uses: actions/upload-artifact@v6.0.0
316+
uses: actions/upload-artifact@v7.0.0
317317
with:
318318
name: dist-static-${{ matrix.arch }}
319319
path: artifacts/*.gz.run
@@ -380,13 +380,13 @@ jobs:
380380
- name: Sign Agent Code
381381
id: sign-agent
382382
if: needs.file-check.outputs.run == 'true' && github.event_name != 'pull_request'
383-
uses: azure/trusted-signing-action@v0.5.11
383+
uses: azure/artifact-signing-action@v1.1.0
384384
with:
385385
azure-tenant-id: ${{ secrets.CODE_SIGNING_TENNANT_ID }}
386386
azure-client-id: ${{ secrets.CODE_SIGNING_CLIENT_ID }}
387387
azure-client-secret: ${{ secrets.CODE_SIGNING_CLIENT_SECRET }}
388388
endpoint: "https://eus.codesigning.azure.net/"
389-
trusted-signing-account-name: Netdata
389+
signing-account-name: Netdata
390390
certificate-profile-name: Netdata
391391
files-folder: ${{ github.workspace }}\build
392392
files-folder-filter: exe,dll,sys
@@ -403,13 +403,13 @@ jobs:
403403
- name: Sign Installer
404404
id: sign-installer
405405
if: needs.file-check.outputs.run == 'true' && github.event_name != 'pull_request'
406-
uses: azure/trusted-signing-action@v0.5.11
406+
uses: azure/artifact-signing-action@v1.1.0
407407
with:
408408
azure-tenant-id: ${{ secrets.CODE_SIGNING_TENNANT_ID }}
409409
azure-client-id: ${{ secrets.CODE_SIGNING_CLIENT_ID }}
410410
azure-client-secret: ${{ secrets.CODE_SIGNING_CLIENT_SECRET }}
411411
endpoint: "https://eus.codesigning.azure.net/"
412-
trusted-signing-account-name: Netdata
412+
signing-account-name: Netdata
413413
certificate-profile-name: Netdata
414414
files-folder: ${{ github.workspace }}\packaging\windows
415415
files-folder-filter: msi
@@ -418,7 +418,7 @@ jobs:
418418
timestamp-digest: SHA256
419419
- name: Upload Installer
420420
id: upload
421-
uses: actions/upload-artifact@v6.0.0
421+
uses: actions/upload-artifact@v7.0.0
422422
with:
423423
name: windows-x86_64-installer
424424
path: packaging\windows\netdata*.msi
@@ -450,6 +450,75 @@ jobs:
450450
&& needs.file-check.outputs.run == 'true'
451451
}}
452452
453+
windows-test: # Test the Windows installer
454+
name: Test Windows installer
455+
runs-on: windows-latest
456+
needs:
457+
- windows-build
458+
- file-check
459+
steps:
460+
- name: Skip Check
461+
id: skip
462+
if: needs.file-check.outputs.run != 'true'
463+
run: Write-Output "SKIPPED"
464+
- name: Checkout
465+
uses: actions/checkout@v6
466+
id: checkout
467+
if: needs.file-check.outputs.run == 'true'
468+
with:
469+
submodules: false
470+
lfs: false
471+
- name: Retrieve Windows Artifacts
472+
id: fetch-windows
473+
if: needs.file-check.outputs.run == 'true'
474+
uses: Wandalen/wretry.action@v3
475+
with:
476+
action: actions/download-artifact@v4
477+
with: |
478+
pattern: windows-*-installer
479+
path: dist-artifacts
480+
merge-multiple: true
481+
attempt_limit: 3
482+
attempt_delay: 2000
483+
- name: Install Netdata
484+
id: install-netdata
485+
if: needs.file-check.outputs.run == 'true'
486+
run: |
487+
$installerProc = Start-Process "msiexec" "/qn /i `"$PWD\dist-artifacts\netdata-x64.msi`" /l* `"$PWD\msi.log`" NDDRVINST=0" -Wait -NoNewWindow -PassThru
488+
Write-Output "Exit Code: $installerProc.ExitCode"
489+
Get-Content "$PWD\msi.log"
490+
$successCodes = @(0, 3010)
491+
if ($installerProc.ExitCode -notin $successCodes) {
492+
exit 1
493+
}
494+
- name: Check agent linking
495+
id: linker-check
496+
if: needs.file-check.outputs.run == 'true'
497+
run: ./.github/scripts/windows-linker-check.ps1
498+
- name: Failure Notification
499+
uses: rtCamp/action-slack-notify@v2
500+
env:
501+
SLACK_COLOR: 'danger'
502+
SLACK_FOOTER: ''
503+
SLACK_ICON_EMOJI: ':github-actions:'
504+
SLACK_TITLE: 'Windows install test failed:'
505+
SLACK_USERNAME: 'GitHub Actions'
506+
SLACK_MESSAGE: |-
507+
${{ github.repository }}: Windows install test failed.
508+
Checkout agent sources: ${{ steps.checkout.outcome }}
509+
Fetch Windows installers: ${{ steps.fetch-windows.outcome }}
510+
Install Netdata: ${{ steps.install-netdata.outcome }}
511+
Check agent linking: ${{ steps.linker-check.outcome }}
512+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
513+
if: >-
514+
${{
515+
failure()
516+
&& startsWith(github.ref, 'refs/heads/master')
517+
&& github.event_name != 'pull_request'
518+
&& github.repository == 'netdata/netdata'
519+
&& needs.file-check.outputs.run == 'true'
520+
}}
521+
453522
prepare-upload: # Consolidate the artifacts for uploading or releasing.
454523
name: Prepare Artifacts
455524
runs-on: ubuntu-latest
@@ -508,7 +577,7 @@ jobs:
508577
- name: Store Artifacts
509578
id: store
510579
if: needs.file-check.outputs.run == 'true'
511-
uses: actions/upload-artifact@v6.0.0
580+
uses: actions/upload-artifact@v7.0.0
512581
with:
513582
name: final-artifacts
514583
path: artifacts/*
@@ -754,6 +823,7 @@ jobs:
754823
if: github.event_name == 'workflow_dispatch' && github.event.inputs.type == 'nightly' && github.repository == 'netdata/netdata'
755824
needs:
756825
- prepare-upload
826+
- windows-test
757827
- artifact-verification-dist
758828
- artifact-verification-static
759829
steps:
@@ -889,6 +959,7 @@ jobs:
889959
needs:
890960
- artifact-verification-dist
891961
- artifact-verification-static
962+
- windows-test
892963
- normalize-tag
893964
steps:
894965
- name: Checkout
@@ -1018,7 +1089,7 @@ jobs:
10181089
submodules: recursive
10191090
- name: Setup Buildx
10201091
id: buildx
1021-
uses: docker/setup-buildx-action@v3
1092+
uses: docker/setup-buildx-action@v4
10221093
- name: Build test environment
10231094
id: build
10241095
uses: Wandalen/wretry.action@v3

.github/workflows/check-markdown.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ jobs:
5656
source ./venv/bin/activate
5757
cd netdata && python3 integrations/gen_doc_collector_page.py
5858
59+
- name: Generate src/collectors/SECRETS.md
60+
run: |
61+
source ./venv/bin/activate
62+
cd netdata && python3 integrations/gen_doc_secrets_page.py
63+
5964
- name: Run Ingest
6065
working-directory: learn
6166
run: |

0 commit comments

Comments
 (0)