Merge pull request #761 from grouville/aws_force_dependency_tests

aws: force dependency between deploy and verify
This commit is contained in:
Andrea Luzzardi 2021-06-30 16:39:54 +02:00 committed by GitHub
commit 535bbb68fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 5 deletions

View File

@ -3,6 +3,7 @@ package s3
import ( import (
"alpha.dagger.io/dagger" "alpha.dagger.io/dagger"
"alpha.dagger.io/aws" "alpha.dagger.io/aws"
"alpha.dagger.io/random"
) )
TestConfig: awsConfig: aws.#Config & { TestConfig: awsConfig: aws.#Config & {
@ -16,22 +17,30 @@ content: "A simple test sentence"
TestDirectory: dagger.#Artifact TestDirectory: dagger.#Artifact
TestS3Object: { TestS3Object: {
suffix: random.#String & {
seed: "s3"
}
target: "s3://\(bucket)/\(suffix.out)/"
deploy: #Object & { deploy: #Object & {
always: true always: true
config: TestConfig.awsConfig config: TestConfig.awsConfig
source: TestDirectory source: TestDirectory
target: "s3://\(bucket)/" "target": target
} }
verifyFile: #VerifyS3 & { verifyFile: #VerifyS3 & {
config: TestConfig.awsConfig config: TestConfig.awsConfig
target: deploy.target target: deploy.target
url: deploy.url
file: "dirFile.txt" file: "dirFile.txt"
} }
verifyDir: #VerifyS3 & { verifyDir: #VerifyS3 & {
config: TestConfig.awsConfig config: TestConfig.awsConfig
target: deploy.target target: deploy.target
url: deploy.url
file: "foo.txt" file: "foo.txt"
} }
} }

View File

@ -11,7 +11,10 @@ import (
config: aws.#Config config: aws.#Config
// Target S3 URL (e.g. s3://<bucket-name>/<path>/<sub-path>) // Target S3 URL (e.g. s3://<bucket-name>/<path>/<sub-path>)
target?: string target: string
// URL: dummy URL, used to force a dependency
url: string
contents: { contents: {
string string
@ -35,6 +38,7 @@ import (
aws s3 ls --recursive \#(target) > /contents aws s3 ls --recursive \#(target) > /contents
"""#, """#,
] ]
env: URL: url
}, },
op.#Export & { op.#Export & {
@ -49,10 +53,12 @@ import (
file: string file: string
config: aws.#Config config: aws.#Config
target: string target: string
url: string
lists: #List & { lists: #List & {
"config": config "config": config
"target": target "target": target
"url": url
} }
test: #up: [ test: #up: [