CI/CD
GitLab CI integration
Wire AEON conformance campaigns into .gitlab-ci.yml with masked variables, JUnit reports in merge requests, and scheduled nightly pipelines.
5 min read
.gitlab-ci.ymlyaml
stages: [build, conformance]
variables:
AEON_VERSION: "1.12.3"
.aeon: &aeon
image: ghcr.io/aeon-cloud/cli:1.12.3
before_script: [ "aeon whoami" ]
conformance:smoke:
<<: *aeon
stage: conformance
script:
- aeon builds push ./dist/ue.tar.gz --tag "$CI_COMMIT_SHA"
- aeon exec run --campaign smoke --build "$CI_COMMIT_SHA" --wait --exit-code --quiet
- aeon reports get --build "$CI_COMMIT_SHA" --format junit --output junit.xml
artifacts:
when: always
reports:
junit: junit.xml
conformance:nightly:
<<: *aeon
stage: conformance
rules: [ { if: '$CI_PIPELINE_SOURCE == "schedule"' } ]
script:
- aeon exec run --campaign nightly --build main --lanes 8 --wait --quietnoteStore AEON_TOKEN as a masked, protected CI/CD variable. Never echo it in a script step.
Run this against a real SDR lane
The tester is a service, not a box. Push a build, reserve a lane, get a verdict.