Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
162 commits
Select commit Hold shift + click to select a range
bc57cf0
ial: add metrics registry infrastructure
savery42 May 11, 2026
b706079
build(deps): bump the otel-collector group
dependabot[bot] May 12, 2026
50b5d31
build(deps): bump the otel-collector group
dependabot[bot] May 12, 2026
cf27bcf
build(deps): bump the otel-collector group
dependabot[bot] May 12, 2026
ed64056
xpumd/tools: bump opentelemetry-collector to v0.152.0
marquiz May 13, 2026
2579cb7
xpumd: bump opentelemetry-collector to v0.152.0
marquiz May 13, 2026
1c4aacd
xpumd: update auto-generated code
marquiz May 13, 2026
588cf4e
xpumd/receiver: replace deprecated DefaultMetricsBuilderConfig
marquiz May 13, 2026
f2e66d7
xpumd/exporter: ignore ENOENT when removing existing socket
marquiz May 13, 2026
6baa458
hal/core: route diagnostic output (ERR/INFO/DBG/TRACE) to stderr
winstonzhang-intel May 12, 2026
ed91982
ial/oal: Include NIC topology in topology matrix
savery42 May 13, 2026
6a1882b
ial/api: remove C API
aravindksg May 15, 2026
7fc4d3f
build: remove install_headers option and HAL header install targets
aravindksg May 15, 2026
0bfd301
hal: Implement power usage and limits data from Exp APIs
nrt99045 May 7, 2026
f9d2ad5
validation/lib: add csv, stderr and combined-output validators
winstonzhang-intel May 12, 2026
59cfffc
ial/cmn: add identity metrics group
savery42 May 15, 2026
5da5ba0
ial/cmn: Adjust unsupported feature handling
michaelslshan May 13, 2026
3f5fc64
ial/cmn: add Temperature metrics group
savery42 May 18, 2026
5fa19f1
xpumd/receiver: power attribs -> attributes
eero-t May 19, 2026
ac04fb6
xpumd/level-zero-go: refactor sysman unit tests
marquiz Apr 14, 2026
7093748
xpumd/tools: add script to auto-generated tools.go
marquiz May 13, 2026
88a5644
xpumd/tools: add auto-generated tools.go
marquiz May 13, 2026
eaac1f1
build(deps): bump the otel-collector group
dependabot[bot] May 19, 2026
c2032b0
build(deps): bump the otel-collector group
dependabot[bot] May 19, 2026
0e988c2
build(deps): bump the otel-collector group
dependabot[bot] May 19, 2026
fd4bb18
xpumd/tools: bump opentelemetry-collector to v0.152.1
marquiz May 21, 2026
0ebe671
xpumd/level-zero-go: remove redundant stub driver code (void) casts
eero-t May 20, 2026
9d86de0
xpumd/level-zero-go: avoid error outputs with default test config
eero-t May 21, 2026
5b28fbb
xpumd/level-zero-go: refactor unit tests
marquiz May 21, 2026
e2ff6ba
ci: add OS-agnostic test + coverage runner with doctest support
winstonzhang-intel May 20, 2026
a80990d
hal:Implement querying amc log types through inband
nrt99045 May 19, 2026
9e6814e
ial/cli: fix discovery --dump help listing all 48 properties
aravindksg May 21, 2026
d92b539
ial/cmn: Adjust unsupported feature handling
michaelslshan May 13, 2026
ffab78f
xpumd/level-zero-go: replace gopkg.in/yaml with go.yaml.in/yaml
marquiz May 22, 2026
c235cb3
xpumd/receiver: max PCI BW is attrib, not state variable
eero-t May 19, 2026
8fe0970
xpumd/exporter: refactor code
marquiz May 12, 2026
bf3064f
xpumd/level-zero-go: fix experimental API exclusion for bindings
eero-t May 20, 2026
50a48bb
xpumd/level-zero-go: add testing for uncorrectable RAS counters
eero-t May 19, 2026
533e095
xpumd/receiver: add RAS category metrics support
eero-t May 12, 2026
deb2ddb
xpumd/receiver/sysman: split PCI state to its own struct
eero-t Apr 30, 2026
422b5d1
build(deps): bump docker/build-push-action from 6.19.2 to 7.2.0
dependabot[bot] May 22, 2026
7b72967
build(deps): bump google.golang.org/grpc in /xpumd/exporter
dependabot[bot] May 22, 2026
1ae1f62
xpumd/exporter: go mod tidy
marquiz May 27, 2026
d0bb296
xpumd/dockerfile: bump compute-runtime to v26.18.38308.1
marquiz May 26, 2026
1b9210a
ial/cmn: add PCI metrics group
savery42 May 18, 2026
a6f8cac
ial/cmn: add EU Array metrics group
savery42 May 18, 2026
ef2bafc
xpumd: fix scripts/make-dockerized.sh
marquiz May 27, 2026
67e8fab
xpumd/exporter: rename variables and functions
marquiz May 19, 2026
46d0d1b
xpumd/exporter: add config option to report all health states
marquiz May 19, 2026
8139f7e
xpumd/exporter: add unit test for metricsTranslator.updateDeviceHealt…
marquiz May 27, 2026
6d7e8d8
xpumd/receiver: rescan device on device-attach event
marquiz May 21, 2026
22a14a6
xpumd/level-zero-go: move code to xpumd root dir
marquiz May 26, 2026
12f0b15
xpumd: adapt to new location of level-zero-go
marquiz May 26, 2026
b8fa09a
ci/xpumd/level-zero-go: adapt to new location of bindings
marquiz May 26, 2026
52217ad
ial/cmn: add EU Array metrics group
savery42 May 18, 2026
6adb024
build(deps): bump the otel-collector group
dependabot[bot] May 26, 2026
f52d9e1
build(deps): bump the otel-collector group
dependabot[bot] May 26, 2026
4211b53
build(deps): bump the otel-collector group
dependabot[bot] May 26, 2026
f878f92
xpumd/tools: bump opentelemtry-collector to v0.153.0
marquiz May 27, 2026
8374ef5
xpumd/receiver: update auto-generated code
marquiz May 27, 2026
97b70ee
xpumd: bump opentelemetry-collector to v0.153.0
marquiz May 27, 2026
5979b5c
build(deps): bump docker/setup-buildx-action from 4.0.0 to 4.1.0
dependabot[bot] May 25, 2026
c781ce9
xpumd/level-zero-go: experimental RAS API stub driver support
eero-t May 20, 2026
6182fff
xpumd/level-zero-go: experimental RAS API bindings support
eero-t May 20, 2026
98790cb
xpumd/level-zero-go: use legacy API when zesRasGetStateExp is unsuppo…
eero-t May 27, 2026
8419681
xpumd/receiver: switch to experimental RAS API
eero-t May 26, 2026
905862a
xpumd/processor: move code to processor/intelxpustatus
marquiz May 27, 2026
48bd331
xpumd: adapt to moved processor code
marquiz May 27, 2026
3ce5511
build(deps): bump aquasecurity/trivy-action from 0.35.0 to 0.36.0
dependabot[bot] Apr 27, 2026
e58a081
ial/cmn: add ECC/RAS metrics group
savery42 May 25, 2026
25aa150
xpumd/level-zero-go: implement sysman event register fallback
marquiz May 18, 2026
5f91406
xpumd/level-zero-go: enable survivability event in the example app
marquiz May 18, 2026
e24f3d0
xpumd/receiver: adapt to level-zero-go API change
marquiz May 18, 2026
c202a49
ial/cmn: add clock metrics group
savery42 May 15, 2026
c4e5adf
xpumd/exporter: move code to exporter/intelxpuinfo
marquiz May 27, 2026
acf512c
xpumd: adapt to moved exporter code
marquiz May 27, 2026
d30a3c1
xpumd/chart: add new config options
marquiz Mar 20, 2026
c39ac89
xpumd: add initial integration tests
marquiz Mar 20, 2026
a4b8074
ci/xpumd: enable integration tests
marquiz May 11, 2026
d6d7426
xpumd: use Helm sdk in the integration tests
marquiz May 12, 2026
7c37f69
xpumd: use k8s client-go in the integration tests
marquiz May 13, 2026
d4b7940
ci/xpumd: change runner for integration tests
marquiz May 15, 2026
2bd1166
ci/xpumd: add http proxy env variables to image build
marquiz May 22, 2026
05d9388
xpumd/receiver: move code to receiver/intelxpu
marquiz May 25, 2026
0434eeb
xpumd: adapt to moved receiver code
marquiz May 27, 2026
4725e07
ial/cmn: migrate argument parsing from getopt to CLI11
savery42 Apr 10, 2026
3ada489
security: Address security assessment report findings
raiyanla May 18, 2026
62230ab
xpumd: add filter processor
marquiz Apr 29, 2026
6b8e211
xpumd/build: appends patch version to go versions
AshwinKumarKulkarni May 25, 2026
d9f81b0
signing: Updated Signfile tool to comply with EDSS 4.0
sagarsum595 May 22, 2026
9975113
xpumd: add crashlog receiver skeleton
marquiz May 25, 2026
5e92d20
xpumd/crashlog: implement crashlog receiver
marquiz May 25, 2026
f3ad757
xpumd/intelcrashlog: update example config and Helm chart
marquiz May 26, 2026
37c81a5
xpumd/crashlog: add README
marquiz May 26, 2026
ac948b3
xpumd/crashlog: add unit tests
marquiz May 28, 2026
abd955d
xpumd/makefile: fix search of go modfiles (#1739)
marquiz May 29, 2026
f44ec87
ial/diag: remove diagnostic tests
aravindksg May 22, 2026
8c95d12
docs: update README and BUILDING for diag removal and CLI11 dependency
aravindksg May 29, 2026
7ed205b
hal: fix null pointer dereference for fabric ports
raiyanla Jun 1, 2026
e1fb08c
temperature/hal: convert LPDDR5 MR4 thermal code to Celsius
winstonzhang-intel May 28, 2026
d9b2590
xpumd/level-zero-go: flatten the stub driver state structure
marquiz Apr 14, 2026
7ba95a3
xpumd/level-zero-go: add cyaml schema generator script
marquiz Mar 27, 2026
2385659
xpumd/level-zero-go: annotate stub structs to help generator script
marquiz Apr 14, 2026
39c26b1
xpumd/level-zero-go: add auto-generated stub driver code
marquiz Apr 14, 2026
3bebb21
xpumd/level-zero: add stub unit test for the UnsupporteFeatures fields
marquiz May 6, 2026
7b2bd93
xpumd/level-zero-go/examples: PIE + full RELRO, drop all symbols
eero-t May 29, 2026
da95d56
xpumd/build: PIE + full RELRO, drop all symbols
eero-t May 29, 2026
0251fc2
xpumd/level-zero-go: minor improvent to stub driver Makefile
eero-t Jun 2, 2026
efcfc98
xpumd/docs: move subset of docs under docs/ subdirectory
eero-t Jun 2, 2026
70ec36c
xpumd/docs: add alerting examples for GPU metrics
eero-t Mar 24, 2026
b6f64c3
xpumd/build: drop stale .gitignore "/level-zero-go" line
eero-t May 29, 2026
8dc8bdd
xpumd/level-zero-go: sync examples Dockerfile driver stack with xpumd
eero-t May 29, 2026
dcdd48a
xpumd/level-zero-go: verify Git tag hashes & use specific MeTee version
eero-t May 29, 2026
92bfaaa
xpumd/level-zero-go: verify driver stack DEB file checksums
eero-t May 29, 2026
3c1f1e1
xpumd/build: verify Git tag hashes & use specific MeTee version
eero-t May 29, 2026
df5c1ca
xpumd/build: verify checksums for the directly downloaded DEB packages
eero-t May 29, 2026
45997cf
xpumd/build: verify checksum for the downloaded protoc ZIP file
eero-t May 29, 2026
78da1c6
xpumd/scripts: handle shellcheck warnings
eero-t May 29, 2026
76a6d96
xpumd/scripts: document scripts & dep update process
eero-t May 29, 2026
2f419ce
ial: Use named metrics in cmd_dump. Add query-gpu
savery42 May 29, 2026
438f9d6
ial: Remove unused legacy daemon commands
savery42 Jun 1, 2026
f61e3a9
ial: Use long-form flags for device-id
savery42 Jun 2, 2026
73085bd
ial: cleanup issues in VGPU help message
raiyanla Jun 3, 2026
8d92ab9
hal: fix potential null pointer dereference in getTemp
raiyanla Jun 3, 2026
1f7f972
build(deps): bump github.com/losisin/helm-values-schema-json/v2
dependabot[bot] Jun 4, 2026
929bf85
build(deps): bump github.com/golangci/golangci-lint/v2 in /xpumd/tools
dependabot[bot] Jun 4, 2026
7b7c9e7
ci/xpumd: always run cosign-installer and setup-helm actions
marquiz Jun 3, 2026
d6ad219
ci/xpumd: separate runner config for build-and-push
marquiz Jun 3, 2026
08d7315
ci/xpumd: load image into docker on PR CI flow
marquiz Jun 4, 2026
ffab2e9
ci/xpumd: add fallback runner selector
marquiz Jun 4, 2026
5b50c68
build(deps): bump google.golang.org/grpc/cmd/protoc-gen-go-grpc
dependabot[bot] Jun 4, 2026
9fb9375
xpumd: update auto-generated code
marquiz Jun 4, 2026
369796a
xpumd: bump protobuf to v35.0
marquiz Jun 4, 2026
8d8096d
xpumd/receiver/intelxpu: drop the log_level settings
marquiz May 22, 2026
f9b0a1e
utility: Make clean/borderless output the TableBuilder default Previo…
savery42 Jun 3, 2026
09b940b
ial/oal: improve topology JSON output and fix UMA NUMA detection
savery42 Jun 3, 2026
9667b18
xpumd/exporter: harden unix socket handling
eero-t Jun 3, 2026
0d36faa
xpumd/receiver: improve Sysman / startup logging
eero-t Jun 3, 2026
e746f61
xpumd/docs: semantic doc fine-tuning
eero-t Jun 1, 2026
02d0281
xpumd/config: disable crashlog by default to avoid startup fails
eero-t Jun 4, 2026
08522c3
xpumd/docs: update XPUM v1.x vs v2.x changes list
eero-t Jun 4, 2026
3674f04
xpumd/helm: support new GPU plugin monitoring resource
eero-t Jun 4, 2026
be973f0
xpumd: create a dpkg database in the final container image
marquiz Jun 4, 2026
cefd8bd
ci/xpumd: upload image SBOM as a build artifact
marquiz Jun 4, 2026
ca75cd9
xpumd/dockerfile: add synthetic dpkg entry for libmetee
marquiz Jun 5, 2026
5f7da09
ci/xpumd: use default cosign version from the action
marquiz Jun 5, 2026
4107bca
ial/hal: make -t optional for config frequency/scheduler; drop perfor…
aravindksg Jun 6, 2026
47cc683
build: Default to release builds
savery42 Jun 8, 2026
14f74d7
cli/ial/fix: correct CLI error handling and JSON schema conformance
Jun 8, 2026
fb5e315
ial/cmn: re-harden config power-limit / pcie-downgrade parsing
Jun 8, 2026
6edbe8d
xpumd/receiver: use allocatable size as memory size fallback
eero-t Jun 9, 2026
f667023
xpumd/docs: add crashlog to README arch diagram + fix links
eero-t Jun 8, 2026
3d6672c
xpumd/docs: TODO -> OTel + Prometheus / Grafana notes
eero-t Jun 8, 2026
1e5b2a5
xpumd/config: improve default config endpoint security handling
eero-t Jun 8, 2026
0630c03
xpumd/config: drop release TODO comments
eero-t Jun 9, 2026
0210f12
build(deps): bump actions/checkout from 6.0.2 to 6.0.3
dependabot[bot] Jun 9, 2026
16d8e92
hal/logger: default log level to INFO regardless of NDEBUG
aravindksg Jun 9, 2026
c85c85d
ial/health: Fix health help text
aravindksg Jun 9, 2026
97f5ce6
ial/cmn: remove unsupported fw types from updatefw help
raiyanla Jun 9, 2026
62e1bc3
docs: add Sphinx documentation for xpu-smi 2.x
aravindksg Jun 9, 2026
33afa12
ci: add GitHub Actions workflow to deploy Sphinx docs to GitHub Pages
aravindksg Jun 9, 2026
3db658b
build(deps): bump github.com/losisin/helm-values-schema-json/v2
dependabot[bot] Jun 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
36 changes: 36 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
Checks: '*, -abseil-*, -altera-*, -android-*, -fuchsia-*, -google-*, -llvm*, -modernize-use-trailing-return-type,
-zircon-*, -readability-else-after-return, -readability-static-accessed-through-instance,
-readability-avoid-const-params-in-decls, -cppcoreguidelines-non-private-member-variables-in-classes,
-misc-non-private-member-variables-in-classes, -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
-hicpp-no-array-decay, -readability-identifier-length'
WarningsAsErrors: ''
HeaderFilterRegex: subprojects/**
FormatStyle: file
CheckOptions:
- key: readability-identifier-naming.VariableCase
value: camelBack
- key: readability-identifier-naming.GlobalConstantCase
value: UPPER_CASE
- key: readability-identifier-naming.FunctionCase
value: camelBack
- key: readability-identifier-naming.ClassCase
value: CamelCase
- key: readability-identifier-naming.MethodCase
value: camelBack
- key: readability-identifier-naming.ParameterCase
value: camelBack
- key: readability-identifier-naming.MemberCase
value: camelBack
- key: readability-identifier-naming.StructCase
value: CamelCase
- key: readability-identifier-naming.StructIgnoredRegexp
value: .*_t$
- key: readability-identifier-naming.TypedefCase
value: CamelCase
- key: readability-identifier-naming.TypedefIgnoredRegexp
value: .*_t$
- key: readability-identifier-naming.TypedefCase
value: CamelCase
- key: readability-identifier-naming.TypedefIgnoredRegexp
value: .*_t$
9 changes: 5 additions & 4 deletions .conan/conan.lock
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
{
"version": "0.5",
"requires": [
"zlib/1.3.1#cac0f6daea041b0ccf42934163defb20%1765284699.337",
"zlib/1.3.2#1cb806da49011867778ffb6ac7190fcb%1777558780.503",
"openssl/3.6.1#2e0be4a996c7ca91feb31b7fe65117b9%1769599203.736",
"nlohmann_json/3.10.2#f7dd8a726eb4ae419cab43476be84ed1%1700513007.299",
"metee/6.0.0#a4a1918ceb5d5b2f4d0dc8e126fbeed6%1772475347.8847659",
"metee/6.0.0#a4a1918ceb5d5b2f4d0dc8e126fbeed6%1779892754.9902008",
"libcurl/8.5.0#9117c8494e898cf70bbd965658a925bc%1745508826.006",
"level-zero/1.27.0#168f0bc338b3f1097f4f98209af7f59a%1773056912.6524134",
"igsc/0.9.6#88127b6d017a24466f581aa0adc094b5%1772475350.695227",
"level-zero/1.27.0#168f0bc338b3f1097f4f98209af7f59a%1779892818.0372772",
"igsc/0.9.6#88127b6d017a24466f581aa0adc094b5%1779892761.5102684",
"hwloc/2.9.3#11acb96cf1e611d293bf90172fadff7d%1717065022.873",
"doctest/2.4.11#a4211dfc329a16ba9f280f9574025659%1681601797.282",
"cli11/2.6.2#312ccb795ff5b571d9f4b1a3637b1eee%1776949795.774",
"boost-ext-ut/2.1.0#aec3873a3273d96f85093971c6c8b206%1749912871.352"
],
"build_requires": [
Expand Down
73 changes: 73 additions & 0 deletions .github/workflows/docs-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Deploy Docs to gh-pages

on:
push:
branches: [main, dev, v1.3.x]
paths:
- 'docs/sphinx/**'
- '.github/workflows/docs-deploy.yml'
workflow_dispatch:

permissions:
contents: write

concurrency:
group: gh-pages
cancel-in-progress: true

jobs:
build-and-deploy:
runs-on: ubuntu-24.04
steps:
- name: Checkout main/dev branch (2.x docs)
uses: actions/checkout@v4
with:
path: src/2.x

- name: Checkout v1.3.x branch (1.x docs)
id: checkout_1x
continue-on-error: true
uses: actions/checkout@v4
with:
ref: v1.3.x
path: src/1.x

- uses: actions/setup-python@v5
with:
python-version: '3.12'

- name: Install dependencies
run: pip install -r src/2.x/docs/sphinx/requirements.txt

- name: Strip 1.x from version switcher (no v1.3.x branch)
if: steps.checkout_1x.outcome != 'success'
run: |
sed -i "/'<option value=\"1.x\">/d" \
src/2.x/docs/sphinx/_templates/layout.html

- name: Build 2.x docs
run: make -C src/2.x/docs/sphinx build
# Output: src/2.x/docs/sphinx/_build/html/2.0/

- name: Build 1.x docs
if: steps.checkout_1x.outcome == 'success'
run: make -C src/1.x/docs/sphinx build
# Output: src/1.x/docs/sphinx/_build/html/1.x/

- name: Assemble combined site
run: |
mkdir -p _site
cp -r src/2.x/docs/sphinx/_build/html/2.0 _site/2.0
if [ -d src/1.x/docs/sphinx/_build/html/1.x ]; then
cp -r src/1.x/docs/sphinx/_build/html/1.x _site/1.x
fi
cp src/2.x/docs/sphinx/root_index.html _site/index.html
touch _site/.nojekyll

- name: Deploy to gh-pages branch
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: _site
publish_branch: gh-pages
force_orphan: true
6 changes: 3 additions & 3 deletions .github/workflows/merge-simulation-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
runs-on: ${{ fromJson(vars.RUNS_ON) }}
steps:
- name: Checkout base branch (simulating post-merge state)
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
ref: ${{ github.base_ref }}
fetch-depth: 0
Expand Down Expand Up @@ -73,7 +73,7 @@ jobs:
contains(github.event.pull_request.files.*.filename, 'meson.build')
steps:
- name: Checkout base branch
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
ref: ${{ github.base_ref }}
fetch-depth: 0
Expand Down Expand Up @@ -105,7 +105,7 @@ jobs:
contains(github.event.pull_request.files.*.filename, 'go.sum')
steps:
- name: Checkout base branch
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
ref: ${{ github.base_ref }}
fetch-depth: 0
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/xpumd-ci-checks-go-bindings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ jobs:
- events-sysman
steps:
- name: Check out code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3

- name: Build examples
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
with:
context: ./xpumd/receiver/internal/level-zero-go
file: ./xpumd/receiver/internal/level-zero-go/examples/Dockerfile
context: ./xpumd/level-zero-go
file: ./xpumd/level-zero-go/examples/Dockerfile
build-args: APP=${{ matrix.app }}
14 changes: 7 additions & 7 deletions .github/workflows/xpumd-ci-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
runs-on: ${{ fromJson(vars.RUNS_ON) }}
steps:
- name: Check out code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3

- name: Check modfiles
run: ./xpumd/scripts/make-dockerized.sh check-modfiles
Expand All @@ -43,11 +43,11 @@ jobs:
runs-on: ${{ fromJson(vars.RUNS_ON) }}
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3

- name: Run Trivy Fs Scan
continue-on-error: true
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # v0.35.0
uses: aquasecurity/trivy-action@ed142fd0673e97e23eac54620cfb913e5ce36c25 # v0.36.0
with:
exit-code: 1
scan-type: fs
Expand All @@ -58,15 +58,15 @@ jobs:
output: trivy-report.json

- name: Print Trivy report in human-readable format
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # v0.35.0
uses: aquasecurity/trivy-action@ed142fd0673e97e23eac54620cfb913e5ce36c25 # v0.36.0
with:
scan-type: convert
scanners: vuln,secret
image-ref: trivy-report.json
format: table

- name: Convert Trivy report to CSV format
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # v0.35.0
uses: aquasecurity/trivy-action@ed142fd0673e97e23eac54620cfb913e5ce36c25 # v0.36.0
with:
scan-type: convert
image-ref: trivy-report.json
Expand All @@ -84,7 +84,7 @@ jobs:
runs-on: ${{ fromJson(vars.RUNS_ON) }}
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3

- name: Set up Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
Expand All @@ -95,7 +95,7 @@ jobs:
run: ./xpumd/scripts/trivy-warmup.sh

- name: Run Trivy License Scan
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # v0.35.0
uses: aquasecurity/trivy-action@ed142fd0673e97e23eac54620cfb913e5ce36c25 # v0.36.0
env:
TRIVY_IGNORED_LICENSES: MPL-2.0
with:
Expand Down
87 changes: 75 additions & 12 deletions .github/workflows/xpumd-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,23 +26,19 @@ permissions:

jobs:
build-and-push:
runs-on: ${{ fromJson(vars.RUNS_ON) }}
runs-on: ${{ fromJson(vars.RUNS_ON_BUILD_AND_PUSH || vars.RUNS_ON) }}
permissions:
contents: read
packages: write
id-token: write
steps:
- name: Check out code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3

- name: Install cosign
if: github.event_name == 'push'
uses: sigstore/cosign-installer@6f9f17788090df1f26f669e9d70d6ae9567deba6 # v4.1.2
with:
cosign-release: 'v2.6.1'

- name: Setup Helm
if: github.event_name == 'push'
uses: azure/setup-helm@dda3372f752e03dde6b3237bc9431cdc2f7a02a2 # v5.0.0

- name: Docker login
Expand Down Expand Up @@ -71,19 +67,30 @@ jobs:
echo "CHART_APP_VERSION=${tag}" >> $GITHUB_ENV

- name: Set up Docker Buildx
if: vars.NO_SETUP_BUILDX != 'true'
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
if: vars.NO_SETUP_BUILDX_BUILD_AND_PUSH != 'true'
uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0
with:
driver-opts: |
"env.http_proxy=${{ vars.HTTP_PROXY }}"
"env.https_proxy=${{ vars.HTTPS_PROXY }}"
"env.no_proxy=${{ vars.NO_PROXY }}"


- name: Build and push image
id: build_and_push
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
with:
context: ./xpumd
file: ./xpumd/Dockerfile
push: ${{ github.event_name == 'push' }}
load: ${{ github.event_name == 'pull_request' }}
tags: ${{ env.IMAGE_TAG }}
cache-from: type=gha
cache-to: type=gha,mode=max
build-args: |
http_proxy=${{ vars.HTTP_PROXY }}
https_proxy=${{ vars.HTTPS_PROXY }}
no_proxy=${{ vars.NO_PROXY }}

- name: Sign image
if: ${{ github.event_name == 'push' }}
Expand All @@ -92,22 +99,22 @@ jobs:
run: cosign sign --yes ${{ env.IMAGE_TAG }}@${{ steps.build_and_push.outputs.digest }}

- name: Run Trivy image scan
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # v0.35.0
uses: aquasecurity/trivy-action@ed142fd0673e97e23eac54620cfb913e5ce36c25 # v0.36.0
with:
image-ref: ${{ env.IMAGE_TAG }}
list-all-pkgs: true
format: json
output: trivy-report.json

- name: Print Trivy report in human-readable format
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # v0.35.0
uses: aquasecurity/trivy-action@ed142fd0673e97e23eac54620cfb913e5ce36c25 # v0.36.0
with:
scan-type: convert
image-ref: trivy-report.json
format: table

- name: Convert Trivy report to CSV format
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # v0.35.0
uses: aquasecurity/trivy-action@ed142fd0673e97e23eac54620cfb913e5ce36c25 # v0.36.0
with:
scan-type: convert
image-ref: trivy-report.json
Expand All @@ -121,6 +128,19 @@ jobs:
name: trivy-xpumd-image-report
path: trivy-xpumd-image-report.csv

- name: Generate SBOM
uses: aquasecurity/trivy-action@ed142fd0673e97e23eac54620cfb913e5ce36c25 # v0.36.0
with:
image-ref: ${{ env.IMAGE_TAG }}
format: cyclonedx
output: sbom-xpumd-image.cdx.json

- name: Upload SBOM as artifact
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: sbom-xpumd-image
path: sbom-xpumd-image.cdx.json

- name: Helm login
if: github.event_name == 'push'
run: echo "${{ secrets.GITHUB_TOKEN }}" | helm registry login ghcr.io -u ${{ github.actor }} --password-stdin
Expand All @@ -133,3 +153,46 @@ jobs:
- name: Push Helm chart
if: github.event_name == 'push'
run: helm push xpumd-*.tgz oci://ghcr.io/${{ github.repository }}/charts/

integration-test:
runs-on: ${{ fromJson(vars.RUNS_ON_INTEGRATION_TEST || vars.RUNS_ON) }}
timeout-minutes: 20
steps:
- name: Check out code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3

- name: Set up Docker Buildx
if: vars.NO_SETUP_BUILDX_INTEGRATION_TEST != 'true'
uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0
with:
driver-opts: |
"env.http_proxy=${{ vars.HTTP_PROXY }}"
"env.https_proxy=${{ vars.HTTPS_PROXY }}"
"env.no_proxy=${{ vars.NO_PROXY }}"

- name: Build image
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
with:
context: ./xpumd
file: ./xpumd/Dockerfile
load: true
tags: xpumd:integration-test
cache-from: type=gha
cache-to: type=gha,mode=max
build-args: |
http_proxy=${{ vars.HTTP_PROXY }}
https_proxy=${{ vars.HTTPS_PROXY }}
no_proxy=${{ vars.NO_PROXY }}

- name: Set up Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: xpumd/test/integration/go.mod

- name: Run integration tests
working-directory: xpumd
run: |
scripts/run-integration-tests.sh \
--image-repository=xpumd \
--image-tag=integration-test \
--kind-load-image
Loading
Loading