Add experimental way to set a target platform when building

Add an --experimental-platform flag to the do command to allow
overriding the default auto-detected build platform until we find the
time to think about the definitive multi-platform builds UX

Signed-off-by: Marcos Lilljedahl <marcosnils@gmail.com>
This commit is contained in:
Marcos Lilljedahl
2022-04-05 18:17:33 -03:00
parent 7d2f279c59
commit d80acf805b
9 changed files with 44 additions and 116 deletions

View File

@@ -1,33 +0,0 @@
package main
import (
"dagger.io/dagger"
"dagger.io/dagger/core"
)
dagger.#Plan & {
platform: "linux/unknown"
actions: {
image: core.#Pull & {
source: "alpine:3.15.0"
}
writeArch: core.#Exec & {
input: image.output
always: true
args: [
"sh", "-c", #"""
echo -n $(uname -m) >> /arch.txt
"""#,
]
}
verify: core.#ReadFile & {
input: writeArch.output
path: "/arch.txt"
} & {
contents: "s390x"
}
}
}

View File

@@ -1,33 +0,0 @@
package main
import (
"dagger.io/dagger"
"dagger.io/dagger/core"
)
dagger.#Plan & {
platform: "linux/amd64"
actions: {
image: core.#Pull & {
source: "alpine:3.15.0"
}
writeArch: core.#Exec & {
input: image.output
always: true
args: [
"sh", "-c", #"""
echo -n $(uname -m) >> /arch.txt
"""#,
]
}
verify: core.#ReadFile & {
input: writeArch.output
path: "/arch.txt"
} & {
contents: "x86_64"
}
}
}

View File

@@ -1,33 +0,0 @@
package main
import (
"dagger.io/dagger"
"dagger.io/dagger/core"
)
dagger.#Plan & {
platform: "linux/arm64"
actions: {
image: core.#Pull & {
source: "alpine:3.15.0"
}
writeArch: core.#Exec & {
input: image.output
always: true
args: [
"sh", "-c", #"""
echo -n $(uname -m) >> /arch.txt
"""#,
]
}
verify: core.#ReadFile & {
input: writeArch.output
path: "/arch.txt"
} & {
contents: "aarch64"
}
}
}

View File

@@ -0,0 +1,12 @@
package main
import (
"dagger.io/dagger"
"dagger.io/dagger/core"
)
dagger.#Plan & {
actions: test: image: core.#Pull & {
source: "alpine:3.15.0"
}
}