Add new test to docker that push to 2 registry in one plan
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
This commit is contained in:
93
stdlib/docker/tests/push-multi-registry/push.cue
Normal file
93
stdlib/docker/tests/push-multi-registry/push.cue
Normal file
@@ -0,0 +1,93 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"alpha.dagger.io/aws"
|
||||
"alpha.dagger.io/aws/ecr"
|
||||
"alpha.dagger.io/dagger"
|
||||
"alpha.dagger.io/dagger/op"
|
||||
"alpha.dagger.io/random"
|
||||
"alpha.dagger.io/alpine"
|
||||
)
|
||||
|
||||
//
|
||||
// /!\ README /!\
|
||||
// The objective is to push an image on multiple registries to verify
|
||||
// that we correctly handle that kind of configuration
|
||||
//
|
||||
|
||||
TestResources: {
|
||||
// Generate a random string
|
||||
// Seed is used to force buildkit execution and not simply use a previous generated string.
|
||||
suffix: random.#String & {seed: "docker multi registry"}
|
||||
|
||||
image: #ImageFromDockerfile & {
|
||||
dockerfile: """
|
||||
FROM alpine
|
||||
RUN echo "test" > /test.txt
|
||||
"""
|
||||
context: ""
|
||||
}
|
||||
}
|
||||
|
||||
TestRemoteAWS: {
|
||||
awsConfig: aws.#Config
|
||||
|
||||
ecrCreds: ecr.#Credentials & {
|
||||
config: awsConfig
|
||||
}
|
||||
|
||||
target: "125635003186.dkr.ecr.\(awsConfig.region).amazonaws.com/dagger-ci:test-ecr-\(TestResources.suffix.out)"
|
||||
|
||||
remoteImg: #Push & {
|
||||
"target": target
|
||||
source: TestResources.image
|
||||
auth: {
|
||||
username: ecrCreds.username
|
||||
secret: ecrCreds.secret
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#TestGetSecret: {
|
||||
secret: dagger.#Artifact
|
||||
|
||||
out: {
|
||||
string
|
||||
|
||||
#up: [
|
||||
op.#Load & {from: alpine.#Image},
|
||||
|
||||
op.#Exec & {
|
||||
always: true
|
||||
args: ["sh", "-c", "cp /input/secret /secret"]
|
||||
mount: "/input/secret": "secret": secret
|
||||
},
|
||||
|
||||
op.#Export & {
|
||||
source: "/secret"
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
TestRemoteDocker: {
|
||||
dockerConfig: {
|
||||
username: string & dagger.#Input
|
||||
secret: dagger.#Secret & dagger.#Input
|
||||
}
|
||||
|
||||
secret: #TestGetSecret & {
|
||||
secret: dockerConfig.secret
|
||||
}
|
||||
|
||||
target: "daggerio/ci-test:test-docker-\(TestResources.suffix.out)"
|
||||
|
||||
remoteImg: #Push & {
|
||||
"target": target
|
||||
source: TestResources.image
|
||||
auth: {
|
||||
username: dockerConfig.username
|
||||
"secret": secret.out
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user