Refactor random generation into a definition to make it reusable
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
This commit is contained in:
parent
e3ee7f2568
commit
fdb91a7332
@ -11,8 +11,10 @@ TestConfig: awsConfig: aws.#Config & {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TestECR: {
|
TestECR: {
|
||||||
|
random: #Random & {}
|
||||||
|
|
||||||
repository: "125635003186.dkr.ecr.\(TestConfig.awsConfig.region).amazonaws.com/dagger-ci"
|
repository: "125635003186.dkr.ecr.\(TestConfig.awsConfig.region).amazonaws.com/dagger-ci"
|
||||||
tag: "test-ecr-\(random)"
|
tag: "test-ecr-\(random.out)"
|
||||||
|
|
||||||
creds: ecr.#Credentials & {
|
creds: ecr.#Credentials & {
|
||||||
config: TestConfig.awsConfig
|
config: TestConfig.awsConfig
|
||||||
@ -25,7 +27,7 @@ TestECR: {
|
|||||||
op.#DockerBuild & {
|
op.#DockerBuild & {
|
||||||
dockerfile: """
|
dockerfile: """
|
||||||
FROM alpine
|
FROM alpine
|
||||||
RUN echo \(random) > /test
|
RUN echo \(random.out) > /test
|
||||||
"""
|
"""
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -61,7 +63,7 @@ TestECR: {
|
|||||||
op.#Exec & {
|
op.#Exec & {
|
||||||
always: true
|
always: true
|
||||||
args: [
|
args: [
|
||||||
"sh", "-c", "test $(cat test) = \(random)",
|
"sh", "-c", "test $(cat test) = \(random.out)",
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
@ -76,7 +78,7 @@ TestECR: {
|
|||||||
op.#DockerBuild & {
|
op.#DockerBuild & {
|
||||||
dockerfile: #"""
|
dockerfile: #"""
|
||||||
FROM \#(push.ref)
|
FROM \#(push.ref)
|
||||||
RUN test $(cat test) = \#(random)
|
RUN test $(cat test) = \#(random.out)
|
||||||
"""#
|
"""#
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
@ -1,21 +1,33 @@
|
|||||||
package ecr
|
package ecr
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"strconv"
|
||||||
|
|
||||||
"dagger.io/alpine"
|
"dagger.io/alpine"
|
||||||
"dagger.io/dagger/op"
|
"dagger.io/dagger/op"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Generate a random number
|
#Random: {
|
||||||
random: {
|
size: *12 | number
|
||||||
|
|
||||||
|
out: {
|
||||||
string
|
string
|
||||||
|
|
||||||
#up: [
|
#up: [
|
||||||
op.#Load & {from: alpine.#Image},
|
op.#Load & {from: alpine.#Image},
|
||||||
|
|
||||||
op.#Exec & {
|
op.#Exec & {
|
||||||
always: true
|
always: true
|
||||||
args: ["sh", "-c", "cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1 | tr -d '\n' > /rand"]
|
args: ["sh", "-c", #"""
|
||||||
|
tr -cd '[:alpha:]' < /dev/urandom | fold -w "$SIZE" | head -n 1 | tr '[A-Z]' '[a-z]' | tr -d '\n' > /rand
|
||||||
|
"""#,
|
||||||
|
]
|
||||||
|
env: SIZE: strconv.FormatInt(size, 10)
|
||||||
},
|
},
|
||||||
|
|
||||||
op.#Export & {
|
op.#Export & {
|
||||||
source: "/rand"
|
source: "/rand"
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,9 @@ registry: {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TestPushAndPull: {
|
TestPushAndPull: {
|
||||||
ref: "daggerio/ci-test:\(random)"
|
random: #Random & {}
|
||||||
|
|
||||||
|
ref: "daggerio/ci-test:\(random.out)"
|
||||||
|
|
||||||
// Create image
|
// Create image
|
||||||
image: docker.#ImageFromDockerfile & {
|
image: docker.#ImageFromDockerfile & {
|
||||||
|
@ -1,21 +1,33 @@
|
|||||||
package docker
|
package docker
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"strconv"
|
||||||
|
|
||||||
"dagger.io/alpine"
|
"dagger.io/alpine"
|
||||||
"dagger.io/dagger/op"
|
"dagger.io/dagger/op"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Generate a random number
|
#Random: {
|
||||||
random: {
|
size: *12 | number
|
||||||
|
|
||||||
|
out: {
|
||||||
string
|
string
|
||||||
|
|
||||||
#up: [
|
#up: [
|
||||||
op.#Load & {from: alpine.#Image},
|
op.#Load & {from: alpine.#Image},
|
||||||
|
|
||||||
op.#Exec & {
|
op.#Exec & {
|
||||||
always: true
|
always: true
|
||||||
args: ["sh", "-c", "cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1 | tr -d '\n' > /rand"]
|
args: ["sh", "-c", #"""
|
||||||
|
tr -cd '[:alpha:]' < /dev/urandom | fold -w "$SIZE" | head -n 1 | tr '[A-Z]' '[a-z]' | tr -d '\n' > /rand
|
||||||
|
"""#,
|
||||||
|
]
|
||||||
|
env: SIZE: strconv.FormatInt(size, 10)
|
||||||
},
|
},
|
||||||
|
|
||||||
op.#Export & {
|
op.#Export & {
|
||||||
source: "/rand"
|
source: "/rand"
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,11 +9,15 @@ key: dagger.#Secret @dagger(input)
|
|||||||
passphrase: dagger.#Secret @dagger(input)
|
passphrase: dagger.#Secret @dagger(input)
|
||||||
user: string @dagger(input)
|
user: string @dagger(input)
|
||||||
|
|
||||||
TestRun: run: docker.#Run & {
|
TestRun: {
|
||||||
|
random: #Random & {}
|
||||||
|
|
||||||
|
run: docker.#Run & {
|
||||||
host: "143.198.64.230"
|
host: "143.198.64.230"
|
||||||
ref: "nginx:alpine"
|
ref: "nginx:alpine"
|
||||||
"user": user
|
"user": user
|
||||||
"passphrase": passphrase
|
"passphrase": passphrase
|
||||||
name: "daggerci-test-simple-\(random)"
|
name: "daggerci-test-simple-\(random.out)"
|
||||||
"key": key
|
"key": key
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,20 +1,33 @@
|
|||||||
package docker
|
package docker
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"dagger.io/dagger/op"
|
"strconv"
|
||||||
|
|
||||||
"dagger.io/alpine"
|
"dagger.io/alpine"
|
||||||
|
"dagger.io/dagger/op"
|
||||||
)
|
)
|
||||||
|
|
||||||
random: {
|
#Random: {
|
||||||
|
size: *12 | number
|
||||||
|
|
||||||
|
out: {
|
||||||
string
|
string
|
||||||
|
|
||||||
#up: [
|
#up: [
|
||||||
op.#Load & {from: alpine.#Image},
|
op.#Load & {from: alpine.#Image},
|
||||||
|
|
||||||
op.#Exec & {
|
op.#Exec & {
|
||||||
always: true
|
always: true
|
||||||
args: ["sh", "-c", "cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1 | tr -d '\n' > /rand"]
|
args: ["sh", "-c", #"""
|
||||||
|
tr -cd '[:alpha:]' < /dev/urandom | fold -w "$SIZE" | head -n 1 | tr '[A-Z]' '[a-z]' | tr -d '\n' > /rand
|
||||||
|
"""#,
|
||||||
|
]
|
||||||
|
env: SIZE: strconv.FormatInt(size, 10)
|
||||||
},
|
},
|
||||||
|
|
||||||
op.#Export & {
|
op.#Export & {
|
||||||
source: "/rand"
|
source: "/rand"
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,20 +1,33 @@
|
|||||||
package docker
|
package docker
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"dagger.io/dagger/op"
|
"strconv"
|
||||||
|
|
||||||
"dagger.io/alpine"
|
"dagger.io/alpine"
|
||||||
|
"dagger.io/dagger/op"
|
||||||
)
|
)
|
||||||
|
|
||||||
random: {
|
#Random: {
|
||||||
|
size: *12 | number
|
||||||
|
|
||||||
|
out: {
|
||||||
string
|
string
|
||||||
|
|
||||||
#up: [
|
#up: [
|
||||||
op.#Load & {from: alpine.#Image},
|
op.#Load & {from: alpine.#Image},
|
||||||
|
|
||||||
op.#Exec & {
|
op.#Exec & {
|
||||||
always: true
|
always: true
|
||||||
args: ["sh", "-c", "cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1 | tr -d '\n' > /rand"]
|
args: ["sh", "-c", #"""
|
||||||
|
tr -cd '[:alpha:]' < /dev/urandom | fold -w "$SIZE" | head -n 1 | tr '[A-Z]' '[a-z]' | tr -d '\n' > /rand
|
||||||
|
"""#,
|
||||||
|
]
|
||||||
|
env: SIZE: strconv.FormatInt(size, 10)
|
||||||
},
|
},
|
||||||
|
|
||||||
op.#Export & {
|
op.#Export & {
|
||||||
source: "/rand"
|
source: "/rand"
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,10 +7,14 @@ import (
|
|||||||
|
|
||||||
key: dagger.#Secret @dagger(input)
|
key: dagger.#Secret @dagger(input)
|
||||||
|
|
||||||
TestRun: run: docker.#Run & {
|
TestRun: {
|
||||||
|
random: #Random & {}
|
||||||
|
|
||||||
|
run: docker.#Run & {
|
||||||
host: "143.198.64.230"
|
host: "143.198.64.230"
|
||||||
ref: "nginx:alpine"
|
ref: "nginx:alpine"
|
||||||
user: "root"
|
user: "root"
|
||||||
name: "daggerci-test-simple-\(random)"
|
name: "daggerci-test-simple-\(random.out)"
|
||||||
"key": key
|
"key": key
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,20 +1,33 @@
|
|||||||
package docker
|
package docker
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"dagger.io/dagger/op"
|
"strconv"
|
||||||
|
|
||||||
"dagger.io/alpine"
|
"dagger.io/alpine"
|
||||||
|
"dagger.io/dagger/op"
|
||||||
)
|
)
|
||||||
|
|
||||||
random: {
|
#Random: {
|
||||||
|
size: *12 | number
|
||||||
|
|
||||||
|
out: {
|
||||||
string
|
string
|
||||||
|
|
||||||
#up: [
|
#up: [
|
||||||
op.#Load & {from: alpine.#Image},
|
op.#Load & {from: alpine.#Image},
|
||||||
|
|
||||||
op.#Exec & {
|
op.#Exec & {
|
||||||
always: true
|
always: true
|
||||||
args: ["sh", "-c", "cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1 | tr -d '\n' > /rand"]
|
args: ["sh", "-c", #"""
|
||||||
|
tr -cd '[:alpha:]' < /dev/urandom | fold -w "$SIZE" | head -n 1 | tr '[A-Z]' '[a-z]' | tr -d '\n' > /rand
|
||||||
|
"""#,
|
||||||
|
]
|
||||||
|
env: SIZE: strconv.FormatInt(size, 10)
|
||||||
},
|
},
|
||||||
|
|
||||||
op.#Export & {
|
op.#Export & {
|
||||||
source: "/rand"
|
source: "/rand"
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,11 +10,15 @@ key: dagger.#Secret @dagger(input)
|
|||||||
passphrase: dagger.#Secret @dagger(input)
|
passphrase: dagger.#Secret @dagger(input)
|
||||||
user: string @dagger(input)
|
user: string @dagger(input)
|
||||||
|
|
||||||
TestRun: run: docker.#Run & {
|
TestRun: {
|
||||||
|
random: #Random & {}
|
||||||
|
|
||||||
|
run: docker.#Run & {
|
||||||
host: "143.198.64.230"
|
host: "143.198.64.230"
|
||||||
ref: "nginx:alpine"
|
ref: "nginx:alpine"
|
||||||
"user": user
|
"user": user
|
||||||
"passphrase": passphrase
|
"passphrase": passphrase
|
||||||
name: "daggerci-test-simple-\(random)"
|
name: "daggerci-test-simple-\(random.out)"
|
||||||
"key": key
|
"key": key
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,8 +9,10 @@ import (
|
|||||||
TestConfig: gcpConfig: gcp.#Config
|
TestConfig: gcpConfig: gcp.#Config
|
||||||
|
|
||||||
TestGCR: {
|
TestGCR: {
|
||||||
|
random: #Random & {}
|
||||||
|
|
||||||
repository: "gcr.io/dagger-ci/test"
|
repository: "gcr.io/dagger-ci/test"
|
||||||
tag: "test-gcr-\(random)"
|
tag: "test-gcr-\(random.out)"
|
||||||
|
|
||||||
creds: gcr.#Credentials & {
|
creds: gcr.#Credentials & {
|
||||||
config: TestConfig.gcpConfig
|
config: TestConfig.gcpConfig
|
||||||
@ -23,7 +25,7 @@ TestGCR: {
|
|||||||
op.#DockerBuild & {
|
op.#DockerBuild & {
|
||||||
dockerfile: """
|
dockerfile: """
|
||||||
FROM alpine
|
FROM alpine
|
||||||
RUN echo \(random) > /test
|
RUN echo \(random.out) > /test
|
||||||
"""
|
"""
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -59,7 +61,7 @@ TestGCR: {
|
|||||||
op.#Exec & {
|
op.#Exec & {
|
||||||
always: true
|
always: true
|
||||||
args: [
|
args: [
|
||||||
"sh", "-c", "test $(cat test) = \(random)",
|
"sh", "-c", "test $(cat test) = \(random.out)",
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
@ -74,7 +76,7 @@ TestGCR: {
|
|||||||
op.#DockerBuild & {
|
op.#DockerBuild & {
|
||||||
dockerfile: #"""
|
dockerfile: #"""
|
||||||
FROM \#(push.ref)
|
FROM \#(push.ref)
|
||||||
RUN test $(cat test) = \#(random)
|
RUN test $(cat test) = \#(random.out)
|
||||||
"""#
|
"""#
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
@ -1,20 +1,33 @@
|
|||||||
package gcr
|
package gcr
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"strconv"
|
||||||
|
|
||||||
"dagger.io/alpine"
|
"dagger.io/alpine"
|
||||||
"dagger.io/dagger/op"
|
"dagger.io/dagger/op"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Generate a random number
|
#Random: {
|
||||||
random: {
|
size: *12 | number
|
||||||
|
|
||||||
|
out: {
|
||||||
string
|
string
|
||||||
|
|
||||||
#up: [
|
#up: [
|
||||||
op.#Load & {from: alpine.#Image},
|
op.#Load & {from: alpine.#Image},
|
||||||
|
|
||||||
op.#Exec & {
|
op.#Exec & {
|
||||||
args: ["sh", "-c", "cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1 | tr -d '\n' > /rand"]
|
always: true
|
||||||
|
args: ["sh", "-c", #"""
|
||||||
|
tr -cd '[:alpha:]' < /dev/urandom | fold -w "$SIZE" | head -n 1 | tr '[A-Z]' '[a-z]' | tr -d '\n' > /rand
|
||||||
|
"""#,
|
||||||
|
]
|
||||||
|
env: SIZE: strconv.FormatInt(size, 10)
|
||||||
},
|
},
|
||||||
|
|
||||||
op.#Export & {
|
op.#Export & {
|
||||||
source: "/rand"
|
source: "/rand"
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,9 +11,11 @@ kubeconfig: dagger.#Secret @dagger(input)
|
|||||||
|
|
||||||
// Deploy user local chart
|
// Deploy user local chart
|
||||||
TestHelmSimpleChart: {
|
TestHelmSimpleChart: {
|
||||||
|
random: #Random & {}
|
||||||
|
|
||||||
// Deploy chart
|
// Deploy chart
|
||||||
deploy: helm.#Chart & {
|
deploy: helm.#Chart & {
|
||||||
name: "dagger-test-helm-simple-chart-\(random)"
|
name: "dagger-test-helm-simple-chart-\(random.out)"
|
||||||
namespace: "dagger-test"
|
namespace: "dagger-test"
|
||||||
"kubeconfig": kubeconfig
|
"kubeconfig": kubeconfig
|
||||||
chartSource: dagger.#Artifact
|
chartSource: dagger.#Artifact
|
||||||
@ -28,9 +30,11 @@ TestHelmSimpleChart: {
|
|||||||
|
|
||||||
// Deploy remote chart
|
// Deploy remote chart
|
||||||
TestHelmRepoChart: {
|
TestHelmRepoChart: {
|
||||||
|
random: #Random & {}
|
||||||
|
|
||||||
// Deploy chart
|
// Deploy chart
|
||||||
deploy: helm.#Chart & {
|
deploy: helm.#Chart & {
|
||||||
name: "dagger-test-helm-repository-\(random)"
|
name: "dagger-test-helm-repository-\(random.out)"
|
||||||
namespace: "dagger-test"
|
namespace: "dagger-test"
|
||||||
"kubeconfig": kubeconfig
|
"kubeconfig": kubeconfig
|
||||||
chart: "redis"
|
chart: "redis"
|
||||||
|
@ -1,21 +1,33 @@
|
|||||||
package helm
|
package helm
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"strconv"
|
||||||
|
|
||||||
"dagger.io/alpine"
|
"dagger.io/alpine"
|
||||||
"dagger.io/dagger/op"
|
"dagger.io/dagger/op"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Generate a random number
|
#Random: {
|
||||||
random: {
|
size: *12 | number
|
||||||
|
|
||||||
|
out: {
|
||||||
string
|
string
|
||||||
|
|
||||||
#up: [
|
#up: [
|
||||||
op.#Load & {from: alpine.#Image},
|
op.#Load & {from: alpine.#Image},
|
||||||
|
|
||||||
op.#Exec & {
|
op.#Exec & {
|
||||||
always: true
|
always: true
|
||||||
args: ["sh", "-c", "cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1 | tr -d '\n' > /rand"]
|
args: ["sh", "-c", #"""
|
||||||
|
tr -cd '[:alpha:]' < /dev/urandom | fold -w "$SIZE" | head -n 1 | tr '[A-Z]' '[a-z]' | tr -d '\n' > /rand
|
||||||
|
"""#,
|
||||||
|
]
|
||||||
|
env: SIZE: strconv.FormatInt(size, 10)
|
||||||
},
|
},
|
||||||
|
|
||||||
op.#Export & {
|
op.#Export & {
|
||||||
source: "/rand"
|
source: "/rand"
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,11 +11,13 @@ import (
|
|||||||
kubeconfig: dagger.#Secret @dagger(input)
|
kubeconfig: dagger.#Secret @dagger(input)
|
||||||
|
|
||||||
TestKubeApply: {
|
TestKubeApply: {
|
||||||
|
random: #Random & {}
|
||||||
|
|
||||||
// Pod spec
|
// Pod spec
|
||||||
kubeSrc: {
|
kubeSrc: {
|
||||||
apiVersion: "v1"
|
apiVersion: "v1"
|
||||||
kind: "Pod"
|
kind: "Pod"
|
||||||
metadata: name: "kube-test-\(random)"
|
metadata: name: "kube-test-\(random.out)"
|
||||||
spec: {
|
spec: {
|
||||||
restartPolicy: "Never"
|
restartPolicy: "Never"
|
||||||
containers: [{
|
containers: [{
|
||||||
|
@ -1,21 +1,33 @@
|
|||||||
package kubernetes
|
package kubernetes
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"strconv"
|
||||||
|
|
||||||
"dagger.io/alpine"
|
"dagger.io/alpine"
|
||||||
"dagger.io/dagger/op"
|
"dagger.io/dagger/op"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Generate a random number
|
#Random: {
|
||||||
random: {
|
size: *12 | number
|
||||||
|
|
||||||
|
out: {
|
||||||
string
|
string
|
||||||
|
|
||||||
#up: [
|
#up: [
|
||||||
op.#Load & {from: alpine.#Image},
|
op.#Load & {from: alpine.#Image},
|
||||||
|
|
||||||
op.#Exec & {
|
op.#Exec & {
|
||||||
always: true
|
always: true
|
||||||
args: ["sh", "-c", "cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1 | tr -d '\n' > /rand"]
|
args: ["sh", "-c", #"""
|
||||||
|
tr -cd '[:alpha:]' < /dev/urandom | fold -w "$SIZE" | head -n 1 | tr '[A-Z]' '[a-z]' | tr -d '\n' > /rand
|
||||||
|
"""#,
|
||||||
|
]
|
||||||
|
env: SIZE: strconv.FormatInt(size, 10)
|
||||||
},
|
},
|
||||||
|
|
||||||
op.#Export & {
|
op.#Export & {
|
||||||
source: "/rand"
|
source: "/rand"
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,10 +7,12 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
TestNetlify: {
|
TestNetlify: {
|
||||||
|
random: #Random & {}
|
||||||
|
|
||||||
// Generate a website containing the random number
|
// Generate a website containing the random number
|
||||||
html: #up: [
|
html: #up: [
|
||||||
op.#WriteFile & {
|
op.#WriteFile & {
|
||||||
content: random
|
content: random.out
|
||||||
dest: "index.html"
|
dest: "index.html"
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
@ -38,7 +40,7 @@ TestNetlify: {
|
|||||||
"pipefail",
|
"pipefail",
|
||||||
"-c",
|
"-c",
|
||||||
#"""
|
#"""
|
||||||
test "$(curl \#(deploy.deployUrl))" = "\#(random)"
|
test "$(curl \#(deploy.deployUrl))" = "\#(random.out)"
|
||||||
"""#,
|
"""#,
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -1,20 +1,33 @@
|
|||||||
package netlify
|
package netlify
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"strconv"
|
||||||
|
|
||||||
"dagger.io/alpine"
|
"dagger.io/alpine"
|
||||||
"dagger.io/dagger/op"
|
"dagger.io/dagger/op"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Generate a random number
|
#Random: {
|
||||||
random: {
|
size: *12 | number
|
||||||
|
|
||||||
|
out: {
|
||||||
string
|
string
|
||||||
|
|
||||||
#up: [
|
#up: [
|
||||||
op.#Load & {from: alpine.#Image},
|
op.#Load & {from: alpine.#Image},
|
||||||
|
|
||||||
op.#Exec & {
|
op.#Exec & {
|
||||||
args: ["sh", "-c", "cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1 | tr -d '\n' > /rand"]
|
always: true
|
||||||
|
args: ["sh", "-c", #"""
|
||||||
|
tr -cd '[:alpha:]' < /dev/urandom | fold -w "$SIZE" | head -n 1 | tr '[A-Z]' '[a-z]' | tr -d '\n' > /rand
|
||||||
|
"""#,
|
||||||
|
]
|
||||||
|
env: SIZE: strconv.FormatInt(size, 10)
|
||||||
},
|
},
|
||||||
|
|
||||||
op.#Export & {
|
op.#Export & {
|
||||||
source: "/rand"
|
source: "/rand"
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,46 +0,0 @@
|
|||||||
package netlify
|
|
||||||
|
|
||||||
import (
|
|
||||||
"dagger.io/dagger/op"
|
|
||||||
"dagger.io/alpine"
|
|
||||||
"dagger.io/netlify"
|
|
||||||
)
|
|
||||||
|
|
||||||
TestNetlify: {
|
|
||||||
// Generate a website containing the random number
|
|
||||||
html: #up: [
|
|
||||||
op.#WriteFile & {
|
|
||||||
content: random
|
|
||||||
dest: "index.html"
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
// Deploy to netlify
|
|
||||||
deploy: netlify.#Site & {
|
|
||||||
contents: html
|
|
||||||
name: "dagger-test"
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check if the deployed site has the random marker
|
|
||||||
check: #up: [
|
|
||||||
op.#Load & {
|
|
||||||
from: alpine.#Image & {
|
|
||||||
package: bash: "=~5.1"
|
|
||||||
package: curl: true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
op.#Exec & {
|
|
||||||
args: [
|
|
||||||
"/bin/bash",
|
|
||||||
"--noprofile",
|
|
||||||
"--norc",
|
|
||||||
"-eo",
|
|
||||||
"pipefail",
|
|
||||||
"-c",
|
|
||||||
#"""
|
|
||||||
test "$(curl \#(deploy.deployUrl))" = "\#(random)"
|
|
||||||
"""#,
|
|
||||||
]
|
|
||||||
},
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
package netlify
|
|
||||||
|
|
||||||
import (
|
|
||||||
"dagger.io/alpine"
|
|
||||||
"dagger.io/dagger/op"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Generate a random number
|
|
||||||
random: {
|
|
||||||
string
|
|
||||||
#up: [
|
|
||||||
op.#Load & {from: alpine.#Image},
|
|
||||||
op.#Exec & {
|
|
||||||
always: true
|
|
||||||
args: ["sh", "-c", "cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1 | tr -d '\n' > /rand"]
|
|
||||||
},
|
|
||||||
op.#Export & {
|
|
||||||
source: "/rand"
|
|
||||||
},
|
|
||||||
]
|
|
||||||
}
|
|
Reference in New Issue
Block a user