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
69 changes: 31 additions & 38 deletions .github/workflows/itest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,62 +10,55 @@ permissions:
contents: read

jobs:
bootstrap-classloader-test:
discover:
name: discover tests
runs-on: ubuntu-x64
outputs:
tests: ${{ steps.tests.outputs.tests }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Install Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
with:
go-version: 1.25.6
- run: make itest-bootstrap
shell: bash
go-version: stable
cache-dependency-path: itest/go.mod
- name: Generate test matrix
id: tests
run: echo "tests=$(make ci-matrix)" >> "$GITHUB_OUTPUT"

integration-smoke-test:
test:
name: integration-test ${{ matrix.test }} ${{ matrix.os }} Java ${{ matrix.java_version }}
needs: discover
runs-on: ubuntu-x64
strategy:
fail-fast: false
matrix:
svc:
- 'alpine-3.16-8'
- 'alpine-3.16-11'
- 'alpine-3.16-17'
- 'alpine-3.17-8'
- 'alpine-3.17-11'
- 'alpine-3.17-17'
- 'alpine-3.18-8'
- 'alpine-3.18-11'
- 'alpine-3.18-17'
- 'alpine-3.18-21'
- 'alpine-3.19-8'
- 'alpine-3.19-11'
- 'alpine-3.19-17'
- 'alpine-3.19-21'
- 'alpine-3.19-25'
- 'ubuntu-18.04-8'
- 'ubuntu-18.04-11'
- 'ubuntu-18.04-17'
- 'ubuntu-20.04-8'
- 'ubuntu-20.04-11'
- 'ubuntu-20.04-17'
- 'ubuntu-20.04-21'
- 'ubuntu-20.04-25'
- 'ubuntu-22.04-8'
- 'ubuntu-22.04-11'
- 'ubuntu-22.04-17'
- 'ubuntu-22.04-21'
- 'ubuntu-22.04-25'
test: ${{ fromJSON(needs.discover.outputs.tests) }}
os: [alpine-3.22, alpine-3.23, ubuntu-22.04, ubuntu-24.04]
java_version: ["8", "11", "17", "21", "25"]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Install Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
with:
go-version: 1.25.6
- run: make itest
shell: bash
go-version: stable
cache-dependency-path: itest/go.mod
- name: Resolve OS matrix entry
id: os
run: |
os="${{ matrix.os }}"
distro="${os%%-*}"
version="${os#*-}"
echo "dockerfile=${distro}-test.Dockerfile" >> "$GITHUB_OUTPUT"
echo "image_version=${version}" >> "$GITHUB_OUTPUT"
- name: Run integration test
run: go test -v -timeout 15m -count=1 -run '^${{ matrix.test }}$$' .
working-directory: itest
env:
ITEST_SERVICE: ${{ matrix.svc }}
DOCKERFILE: ${{ steps.os.outputs.dockerfile }}
IMAGE_VERSION: ${{ steps.os.outputs.image_version }}
JAVA_VERSION: ${{ matrix.java_version }}
14 changes: 7 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,14 @@ docker-example-expt: build
docker compose -f examples/docker-compose-expt.yml build
docker compose -f examples/docker-compose-expt.yml up

ITEST_SERVICE ?=
.PHONY: ci-matrix
ci-matrix:
@cd itest && go test -list . -json . | jq -sc '[.[] | select(.Action=="output") | .Output | rtrimstr("\n") | select(startswith("Test"))]'

.PHONY: itest
itest:
docker compose -f docker-compose-itest.yaml up --build --force-recreate -d pyroscope $(ITEST_SERVICE)
cd itest/query && go run . $(ITEST_SERVICE)
docker compose -f docker-compose-itest.yaml down pyroscope $(ITEST_SERVICE)
cd itest && go test -v -timeout 15m -count=1 ./...

.PHONY: itest-bootstrap
itest-bootstrap:
cd itest/bootstrap && go test -v -timeout 20m -count=1 -run '^TestBootstrapClassloader$$' ./...
.PHONY: itest/%
itest/%:
cd itest && go test -v -timeout 15m -count=1 -run '^$*$$' ./...
260 changes: 0 additions & 260 deletions docker-compose-itest.yaml

This file was deleted.

2 changes: 2 additions & 0 deletions itest/CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
## Go dependencies
- Prefer to not add go dependencies
Loading
Loading