-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplan.cue
112 lines (99 loc) · 2.36 KB
/
plan.cue
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
package main
import (
"dagger.io/dagger"
"dagger.io/dagger/core"
// "universe.dagger.io/bash"
// "universe.dagger.io/alpine"
"universe.dagger.io/docker"
// "universe.dagger.io/docker/cli"
)
dagger.#Plan & {
client: {
filesystem: ".": {
read: contents: dagger.#FS
}
env: {
DOCKER_REGISTRY: string
DOCKER_USERNAME: string
DOCKER_PASSWORD: dagger.#Secret
DOCKER_IMAGE: string
DOCKER_TAG?: string
}
network: "unix:///var/run/docker.sock": connect: dagger.#Socket
}
actions: {
src: core.#Source & {
path: "."
}
build: docker.#Build & {
steps: [
docker.#Pull & {
source: "docker:20.10.13-alpine3.15"
},
docker.#Run & {
// input: _sourceimg.output
command: {
name: "apk"
args: ["add", "git", "curl", "jq", "bash"]
flags: {
"-U": true
"--no-cache": true
}
}
},
docker.#Copy & {
// input: _customize.output
contents: client.filesystem.".".read.contents
dest: "/code"
},
]
}
versions: docker.#Run & {
input: build.output
command: {
name: "bash"
args: ["/code/get-versions.sh"]
}
}
dockerlogin: docker.#Run & {
input: versions.output
env: {
"DOCKER_USERNAME": client.env.DOCKER_USERNAME
"DOCKER_PASSWORD": client.env.DOCKER_PASSWORD
"DOCKER_REGISTRY": client.env.DOCKER_REGISTRY
}
entrypoint: []
command: {
name: "bash"
args: [
"-x",
"-c",
"echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin $DOCKER_REGISTRY"
]
}
mounts: {
docker: {
dest: "/var/run/docker.sock"
contents: client.network."unix:///var/run/docker.sock".connect
}
}
}
generator: docker.#Run & {
input: dockerlogin.output
workdir: "/code"
env: {
"IMAGE_NAME": client.env.DOCKER_IMAGE
}
command: {
name: "sh"
flags: "-c": #"""
/code/generator.sh versions.txt
"""#
}
mounts: docker: {
dest: "/var/run/docker.sock"
contents: client.network."unix:///var/run/docker.sock".connect
}
}
}
}