libp2p-test-plans/ping/_compositions/go-cross-versions.toml
Laurent Senta fb5c863d88
testground: cross-version interoperability (#23)
* plan/ping: fix test & use go 1.17

* plan/ping: fix dedup path

* ping-interop: prepare base module and build script

* ping-interop/go-v0.11: introduce legacy ping test (fix original)

* ci: add interop reusable workflow

* ci: add testground endpoint config

* ping-interop: rewrite with new testground build config feature

* ping-interop: add v0.20 version

* ping-interop: fix build parameters

* ci: add ping-interop-go runner

* ci: use self hosted runner

* ping-interop: name with the current git branch

* ping-interop: use external proxy & drop build cache

* ping-interop: support dependencies changes in go master

* ping-interop: using longer timeout with regulars runners

* ping-interop: move to ping

* README: add ping/go update intructions

* ci: rename compatibility test

* ci: add support for forks

* ping: add doc

* REMOVEME: use a test setup

* ping: update libp2p versions

* ping: add security compat

* ping: smaller compat surface
2022-07-01 09:32:16 +02:00

102 lines
2.5 KiB
TOML

[metadata]
name = "go-cross-versions {{ .Env.Reference }}"
[global]
plan = "libp2p/ping/go"
case = "ping"
total_instances = {{ if .Env.GitReference }}6{{ else }}5{{ end }}
builder = "docker:go"
runner = "local:docker"
[global.build_config]
enable_go_build_cache = false # see https://github.com/testground/testground/issues/1361
# disable testground's goproxy which hangs on github runners.
go_proxy_mode = "remote"
go_proxy_url = "https://proxy.golang.org"
[[groups]]
id = "v0.11"
instances = { count = 1 }
[groups.build]
selectors = ['v0.11']
[groups.build_config]
build_base_image = 'golang:1.14-buster'
modfile = "go.v0.11.mod"
[[groups]]
id = "v0.17"
instances = { count = 1 }
[groups.build]
selectors = ['v0.17']
[groups.build_config]
build_base_image = 'golang:1.16-buster'
modfile = "go.v0.17.mod"
[[groups]]
id = "v0.19"
instances = { count = 1 }
[groups.build]
selectors = ['v0.19']
[groups.build_config]
build_base_image = 'golang:1.17-buster'
modfile = "go.v0.19.mod"
[[groups]]
id = "v0.20"
instances = { count = 1 }
[groups.build]
selectors = ['v0.20']
[groups.build_config]
build_base_image = 'golang:1.17-buster'
modfile = "go.v0.20.mod"
[[groups]]
id = "master"
instances = { count = 1 }
[groups.build]
selectors = ['v0.20']
[[groups.build.dependencies]]
module = "github.com/libp2p/go-libp2p"
version = "master"
[groups.build_config]
build_base_image = 'golang:1.17-buster'
modfile = "go.v0.20.mod"
[groups.build_config.dockerfile_extensions]
# deal with dependency changes in master until we create the new vx.y.z instance
pre_build = "RUN cd ${PLAN_DIR} && go mod download github.com/libp2p/go-libp2p && go mod tidy"
{{ if .Env.GitReference }}
[[groups]]
id = "custom"
instances = { count = 1 }
[groups.build]
selectors = ['v0.20']
[[groups.build.dependencies]]
module = "github.com/libp2p/go-libp2p"
version = "{{ .Env.GitReference }}"
{{ if .Env.GitTarget }}
target = "{{ .Env.GitTarget }}"
{{ end }}
[groups.build_config]
build_base_image = 'golang:1.17-buster'
modfile = "go.v0.20.mod"
[groups.build_config.dockerfile_extensions]
# deal with dependency changes in master until we create the new vx.y.z instance
pre_build = "RUN cd ${PLAN_DIR} && go mod download github.com/libp2p/go-libp2p && go mod tidy"
{{ end }}