Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 48 additions & 5 deletions .github/workflows/component-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,10 @@ on:
required: true
default: 'latest'
STORAGE_REF:
description: 'Branch/tag/commit of k8sstormcenter/storage to use (leave empty to keep go.mod default)'
description: 'Commit SHA of k8sstormcenter/storage to use (leave empty to resolve current main HEAD at runtime)'
type: string
required: false
default: 'a042ebaa0ec9280d69eac81b5eeaa4d0dfd1c558'
default: ''

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand Down Expand Up @@ -138,11 +138,50 @@ jobs:
echo "Installing IG version: ${IG_VERSION}"
curl -sL https://github.com/inspektor-gadget/inspektor-gadget/releases/download/${IG_VERSION}/ig-linux-${IG_ARCH}-${IG_VERSION}.tar.gz | sudo tar -C /usr/local/bin -xzf - ig
sudo chmod +x /usr/local/bin/ig

# Resolve the storage commit SHA once and use the same one for the
# image build AND the test runner (output downstream). Without this,
# the docker image and the test binary can compile against different
# storage versions when their go.mod replace directives drift.
- name: Resolve storage ref
id: resolve-storage
env:
STORAGE_REF_INPUT: ${{ inputs.STORAGE_REF }}
run: |
STORAGE_REF="${STORAGE_REF_INPUT}"
if [ -z "${STORAGE_REF}" ]; then
STORAGE_REF=$(git ls-remote https://github.com/k8sstormcenter/storage refs/heads/main | awk '{print $1}')
echo "Resolved k8sstormcenter/storage main to: ${STORAGE_REF}"
else
echo "Using supplied STORAGE_REF: ${STORAGE_REF}"
fi
echo "storage_ref=${STORAGE_REF}" >> "$GITHUB_OUTPUT"
echo "storage_short=${STORAGE_REF:0:7}" >> "$GITHUB_OUTPUT"

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: "1.25"

- name: Pin storage version for image build
env:
STORAGE_REF: ${{ steps.resolve-storage.outputs.storage_ref }}
GOFLAGS: ""
run: |
echo "Replacing github.com/kubescape/storage with github.com/k8sstormcenter/storage@${STORAGE_REF}"
go mod edit -replace "github.com/kubescape/storage=github.com/k8sstormcenter/storage@${STORAGE_REF}"
go mod tidy
echo "Resolved storage version:"
grep "k8sstormcenter/storage" go.sum | head -1

- name: Build the Image and Push to GHCR
id: build-and-push-image
run: |
COMMIT_HASH=$(git rev-parse --short HEAD)
export IMAGE_TAG=test-${COMMIT_HASH}
STORAGE_SHORT="${{ steps.resolve-storage.outputs.storage_short }}"
# Image tag encodes both node-agent and storage SHAs so the same
# source pair always produces the same artifact and can be cached.
export IMAGE_TAG=test-${COMMIT_HASH}-s${STORAGE_SHORT}
export IMAGE_REPO=ghcr.io/${{ github.repository_owner }}/node-agent
echo "image_repo=${IMAGE_REPO}" >> "$GITHUB_OUTPUT"
export IMAGE_NAME=ghcr.io/${{ github.repository_owner }}/node-agent:${IMAGE_TAG}
Expand All @@ -151,6 +190,7 @@ jobs:
outputs:
image_tag: ${{ steps.build-and-push-image.outputs.image_tag }}
image_repo: ${{ steps.build-and-push-image.outputs.image_repo }}
storage_ref: ${{ steps.resolve-storage.outputs.storage_ref }}

# -------------------------------------------------------------------
# Component tests.
Expand Down Expand Up @@ -274,12 +314,15 @@ jobs:
run: |
sudo sh -c "ulimit -l unlimited"
- name: Update storage dependency
#if: ${{ inputs.STORAGE_REF != '' && inputs.STORAGE_REF != 'latest' }}
env:
STORAGE_REF: ${{ inputs.STORAGE_REF || 'a042ebaa0ec9280d69eac81b5eeaa4d0dfd1c558' }}
STORAGE_REF: ${{ needs.build-and-push-image.outputs.storage_ref || inputs.STORAGE_REF }}
GONOSUMCHECK: "*"
GOFLAGS: ""
run: |
if [ -z "${STORAGE_REF}" ]; then
STORAGE_REF=$(git ls-remote https://github.com/k8sstormcenter/storage refs/heads/main | awk '{print $1}')
echo "Resolved k8sstormcenter/storage main to: ${STORAGE_REF}"
fi
echo "Replacing github.com/kubescape/storage with github.com/k8sstormcenter/storage@${STORAGE_REF}"
go mod edit -replace "github.com/kubescape/storage=github.com/k8sstormcenter/storage@${STORAGE_REF}"
go mod tidy
Expand Down
28 changes: 14 additions & 14 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ require (
github.com/Masterminds/semver/v3 v3.4.0
github.com/anchore/syft v1.32.0
github.com/aquilax/truncate v1.0.0
github.com/armosec/armoapi-go v0.0.694
github.com/armosec/armoapi-go v0.0.696
github.com/armosec/utils-k8s-go v0.0.35
github.com/cenkalti/backoff v2.2.1+incompatible
github.com/cenkalti/backoff/v4 v4.3.0
Expand All @@ -25,7 +25,7 @@ require (
github.com/go-openapi/strfmt v0.26.0
github.com/golang-jwt/jwt/v5 v5.3.0
github.com/google/cel-go v0.26.1
github.com/google/go-containerregistry v0.20.7
github.com/google/go-containerregistry v0.21.2
github.com/google/uuid v1.6.0
github.com/goradd/maps v1.3.0
github.com/grafana/pyroscope-go v1.2.2
Expand Down Expand Up @@ -71,7 +71,7 @@ require (
k8s.io/cri-api v0.35.0
k8s.io/kubectl v0.34.1
k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2
modernc.org/sqlite v1.38.2
modernc.org/sqlite v1.46.1
oras.land/oras-go/v2 v2.6.0
sigs.k8s.io/yaml v1.6.0
)
Expand Down Expand Up @@ -161,7 +161,7 @@ require (
github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb // indirect
github.com/blang/semver v3.5.1+incompatible // indirect
github.com/blang/semver/v4 v4.0.0 // indirect
github.com/bmatcuk/doublestar/v4 v4.9.1 // indirect
github.com/bmatcuk/doublestar/v4 v4.10.0 // indirect
github.com/bodgit/plumbing v1.3.0 // indirect
github.com/bodgit/sevenzip v1.6.1 // indirect
github.com/bodgit/windows v1.0.1 // indirect
Expand Down Expand Up @@ -190,7 +190,7 @@ require (
github.com/containerd/log v0.1.0 // indirect
github.com/containerd/nri v0.9.0 // indirect
github.com/containerd/platforms v0.2.1 // indirect
github.com/containerd/stargz-snapshotter/estargz v0.18.1 // indirect
github.com/containerd/stargz-snapshotter/estargz v0.18.2 // indirect
github.com/containerd/ttrpc v1.2.7 // indirect
github.com/containerd/typeurl/v2 v2.2.3 // indirect
github.com/containers/common v0.64.2 // indirect
Expand All @@ -203,10 +203,10 @@ require (
github.com/digitorus/timestamp v0.0.0-20231217203849-220c5c2851b7 // indirect
github.com/diskfs/go-diskfs v1.7.0 // indirect
github.com/distribution/reference v0.6.0 // indirect
github.com/docker/cli v29.2.0+incompatible // indirect
github.com/docker/cli v29.3.0+incompatible // indirect
github.com/docker/distribution v2.8.3+incompatible // indirect
github.com/docker/docker v28.5.2+incompatible // indirect
github.com/docker/docker-credential-helpers v0.9.4 // indirect
github.com/docker/docker-credential-helpers v0.9.5 // indirect
github.com/docker/go-connections v0.6.0 // indirect
github.com/docker/go-events v0.0.0-20250114142523-c867878c5e32 // indirect
github.com/docker/go-units v0.5.0 // indirect
Expand All @@ -224,9 +224,9 @@ require (
github.com/francoispqt/gojay v1.2.13 // indirect
github.com/fsnotify/fsnotify v1.9.0 // indirect
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
github.com/gabriel-vasile/mimetype v1.4.11 // indirect
github.com/gabriel-vasile/mimetype v1.4.13 // indirect
github.com/gammazero/deque v1.0.0 // indirect
github.com/github/go-spdx/v2 v2.3.3 // indirect
github.com/github/go-spdx/v2 v2.4.0 // indirect
github.com/go-asn1-ber/asn1-ber v1.5.7 // indirect
github.com/go-chi/chi/v5 v5.2.5 // indirect
github.com/go-errors/errors v1.5.1 // indirect
Expand Down Expand Up @@ -266,7 +266,7 @@ require (
github.com/godbus/dbus/v5 v5.2.0 // indirect
github.com/gofrs/flock v0.13.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/gohugoio/hashstructure v0.5.0 // indirect
github.com/gohugoio/hashstructure v0.6.0 // indirect
github.com/golang-jwt/jwt/v4 v4.5.2 // indirect
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
Expand Down Expand Up @@ -341,7 +341,7 @@ require (
github.com/muesli/termenv v0.16.0 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
github.com/ncruces/go-strftime v0.1.9 // indirect
github.com/ncruces/go-strftime v1.0.0 // indirect
github.com/ncw/directio v1.0.5 // indirect
github.com/nix-community/go-nix v0.0.0-20250101154619-4bdde671e0a1 // indirect
github.com/notaryproject/notation-core-go v1.3.0 // indirect
Expand Down Expand Up @@ -430,7 +430,7 @@ require (
github.com/vishvananda/netlink v1.3.1 // indirect
github.com/vishvananda/netns v0.0.5 // indirect
github.com/wagoodman/go-partybus v0.0.0-20230516145632-8ccac152c651 // indirect
github.com/wagoodman/go-progress v0.0.0-20230925121702-07e42b3cdba0 // indirect
github.com/wagoodman/go-progress v0.0.0-20260303201901-10176f79b2c0 // indirect
github.com/x448/float16 v0.8.4 // indirect
github.com/xanzy/ssh-agent v0.3.3 // indirect
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
Expand Down Expand Up @@ -491,7 +491,7 @@ require (
k8s.io/klog/v2 v2.130.1 // indirect
k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 // indirect
k8s.io/kubelet v0.35.0 // indirect
modernc.org/libc v1.66.3 // indirect
modernc.org/libc v1.67.6 // indirect
modernc.org/mathutil v1.7.1 // indirect
modernc.org/memory v1.11.0 // indirect
sigs.k8s.io/controller-runtime v0.21.0 // indirect
Expand All @@ -507,4 +507,4 @@ replace github.com/inspektor-gadget/inspektor-gadget => github.com/matthyx/inspe

replace github.com/cilium/ebpf => github.com/matthyx/ebpf v0.0.0-20260421101317-8a32d06def6c

replace github.com/kubescape/storage => github.com/k8sstormcenter/storage v0.0.240-0.20260426191622-cdbf491b5bd8
replace github.com/kubescape/storage => github.com/k8sstormcenter/storage v0.0.240-0.20260426191622-cdbf491b5bd8
Loading
Loading