mirror of
https://github.com/osixia/container-openldap.git
synced 2026-11-06 20:48:18 -04:00
Build and test each arch on its own runner (ubuntu-latest and ubuntu-24.04-arm) instead of under QEMU, with osixia/dagger-build OCI archives: on tags, build jobs export them as artifacts, and the publish job deploys them as a single multi-arch image per tag. Integration scenarios now run on every built image, so on arm64 too: each runner builds its own arch, so the engine platform filter never skipped anything. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CI/CD tool
Built with osixia/dagger-build.
Get Help
go run main.go --help
Run Tests
go mod vendor
go run main.go job test ../Dockerfile
Limit a local run with --arches amd64. Pass the arch of the host: scenarios run on every
built image, and other arches would be emulated. The CI builds and tests each arch on its
own native runner, then publishes them together from their OCI archives
(--oci-export-to, --oci-import-from).
After the shared version check, tests/ runs integration scenarios on each built image:
- default bootstrap;
- alternative schemas (
nis,virtualMail); - all features with 3 replicated nodes: all compatible modules and schemas, TLS required, readonly users, monitor, ppolicy, unique, refint, memberof and multi-provider replication;
openldap-ctlbackup and restore;- upgrade: pre-upgrade backup on a simulated N-1 image, restore on N, downgrade refused;
- upgrade from previous published releases (
previousReleasesintests/upgrade.go).
Scenarios are written in Go and run their LDAP checks with the scripts in
tests/testdata/. Replication nodes run with root capabilities in derived test containers,
to get their hostname (see tests/testdata/node.sh).