feat: add support for Go, Ruby, and NuGet modules with integration testing configurations

Signed-off-by: d9pouces <github@19pouces.net>
This commit is contained in:
d9pouces
2026-09-06 21:14:18 +02:00
parent bcffe11bff
commit a8143b61b1
37 changed files with 953 additions and 3 deletions
+82 -1
View File
@@ -1,5 +1,5 @@
[tox]
env_list = py313,py314,coverage,packaging,packaging-amd64,packaging-arm64,publish,module-python,module-apt,module-yum,module-apk,module-java,module-certificates,module-php,module-npm,module-rust
env_list = py313,py314,coverage,packaging,packaging-amd64,packaging-arm64,publish,module-python,module-apt,module-yum,module-apk,module-java,module-certificates,module-php,module-npm,module-rust,module-go,module-ruby,module-nuget
isolated_build = true
requires =
tox>=4
@@ -96,6 +96,7 @@ healthcheck_start_period = 1
[testenv:module-python]
package = skip
labels = end-to-end
change_dir = {tox_root}
dependency_groups = dev
docker =
@@ -121,6 +122,7 @@ healthcheck_start_period = 1
[testenv:module-apt]
package = skip
labels = end-to-end
change_dir = {tox_root}
dependency_groups = dev
docker =
@@ -144,6 +146,7 @@ healthcheck_start_period = 1
[testenv:module-yum]
package = skip
labels = end-to-end
change_dir = {tox_root}
dependency_groups = dev
docker =
@@ -167,6 +170,7 @@ healthcheck_start_period = 1
[testenv:module-apk]
package = skip
labels = end-to-end
change_dir = {tox_root}
dependency_groups = dev
docker =
@@ -199,6 +203,7 @@ healthcheck_start_period = 1
[testenv:module-java]
package = skip
labels = end-to-end
change_dir = {tox_root}
dependency_groups = dev
docker =
@@ -222,6 +227,7 @@ healthcheck_start_period = 1
[testenv:module-certificates]
package = skip
labels = end-to-end
change_dir = {tox_root}
dependency_groups = dev
docker =
@@ -250,6 +256,7 @@ healthcheck_start_period = 1
[testenv:module-php]
package = skip
labels = end-to-end
change_dir = {tox_root}
dependency_groups = dev
docker =
@@ -273,6 +280,7 @@ healthcheck_start_period = 1
[testenv:module-npm]
package = skip
labels = end-to-end
change_dir = {tox_root}
dependency_groups = dev
docker =
@@ -296,6 +304,7 @@ healthcheck_start_period = 1
[testenv:module-rust]
package = skip
labels = end-to-end
change_dir = {tox_root}
dependency_groups = dev
docker =
@@ -306,3 +315,75 @@ commands =
python3 -m id_tools test render-config {tox_root}/tests/configs/Rust.yaml.j2 {env_dir}/configs/Rust.yaml
docker buildx build --platform linux/amd64 --add-host=host.docker.internal:host-gateway --build-context generated-config={env_dir}/configs -f {tox_root}/tests/dockerfiles/Rust.Dockerfile -t id-configurator-rust .
docker rmi id-configurator-rust
[docker:go-repo]
dockerfile = {tox_root}/tests/dockerfiles/repos/go-repo.Dockerfile
expose =
GO_REPO_PORT=8443/tcp
healthcheck_cmd = wget --no-check-certificate -qO- https://127.0.0.1:8443/example.invalid/idconfiguratortestpkg/@v/list || exit 1
healthcheck_interval = 1
healthcheck_retries = 30
healthcheck_timeout = 2
healthcheck_start_period = 1
[testenv:module-go]
package = skip
labels = end-to-end
change_dir = {tox_root}
dependency_groups = dev
docker =
go-repo
allowlist_externals =
docker
commands =
python3 -m id_tools test render-config {tox_root}/tests/configs/Go.yaml.j2 {env_dir}/configs/Go.yaml
docker buildx build --platform linux/amd64 --add-host=host.docker.internal:host-gateway --build-context generated-config={env_dir}/configs -f {tox_root}/tests/dockerfiles/Go.Dockerfile -t id-configurator-go .
docker rmi id-configurator-go
[docker:ruby-repo]
dockerfile = {tox_root}/tests/dockerfiles/repos/ruby-repo.Dockerfile
expose =
RUBY_REPO_PORT=8443/tcp
healthcheck_cmd = wget --no-check-certificate -qO- https://127.0.0.1:8443/versions || exit 1
healthcheck_interval = 1
healthcheck_retries = 30
healthcheck_timeout = 2
healthcheck_start_period = 1
[testenv:module-ruby]
package = skip
labels = end-to-end
change_dir = {tox_root}
dependency_groups = dev
docker =
ruby-repo
allowlist_externals =
docker
commands =
python3 -m id_tools test render-config {tox_root}/tests/configs/Ruby.yaml.j2 {env_dir}/configs/Ruby.yaml
docker buildx build --platform linux/amd64 --add-host=host.docker.internal:host-gateway --build-context generated-config={env_dir}/configs -f {tox_root}/tests/dockerfiles/Ruby.Dockerfile -t id-configurator-ruby .
docker rmi id-configurator-ruby
[docker:nuget-repo]
dockerfile = {tox_root}/tests/dockerfiles/repos/nuget-repo.Dockerfile
expose =
NUGET_REPO_PORT=8443/tcp
healthcheck_cmd = wget --no-check-certificate -qO- https://127.0.0.1:8443/index.json || exit 1
healthcheck_interval = 1
healthcheck_retries = 30
healthcheck_timeout = 2
healthcheck_start_period = 1
[testenv:module-nuget]
package = skip
labels = end-to-end
change_dir = {tox_root}
dependency_groups = dev
docker =
nuget-repo
allowlist_externals =
docker
commands =
python3 -m id_tools test render-config {tox_root}/tests/configs/NuGet.yaml.j2 {env_dir}/configs/NuGet.yaml
docker buildx build --platform linux/amd64 --add-host=host.docker.internal:host-gateway --build-context generated-config={env_dir}/configs -f {tox_root}/tests/dockerfiles/NuGet.Dockerfile -t id-configurator-nuget .
docker rmi id-configurator-nuget