Improve #docker.Push definition :

- Push to private registry
- Output ref and digest
- Update doc
- Add tests to universe.bats

Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
This commit is contained in:
Tom Chauveau
2021-06-12 17:11:27 +02:00
parent 535bbb68fb
commit b1ed40ffed
12 changed files with 297 additions and 13 deletions

View File

@@ -0,0 +1,63 @@
package docker
import (
"dagger.io/dagger/op"
"dagger.io/dagger"
"dagger.io/docker"
"dagger.io/alpine"
"dagger.io/random"
)
TestRegistry: {
username: string @dagger(input)
secret: dagger.#Secret @dagger(input)
}
#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"
},
]
}
}
TestPush: {
tag: random.#String & {seed: "docker push and pull"}
name: "daggerio/ci-test:\(tag.out)"
secret: #TestGetSecret & {
secret: TestRegistry.secret
}
image: docker.#ImageFromDockerfile & {
dockerfile: """
FROM alpine
RUN echo "test" > /test.txt
"""
context: ""
}
push: docker.#Push & {
"name": name
source: image
registry: {
username: TestRegistry.username
"secret": secret.out
}
}
}