Merge pull request #1449 from talentedmrjones/europa-port-universe-alpine

[WIP]: ported alpine to europa
This commit is contained in:
Richard Jones 2022-01-19 16:49:50 -07:00 committed by GitHub
commit 3dab092924
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 66 additions and 43 deletions

View File

@ -5,13 +5,11 @@ import (
"universe.dagger.io/docker" "universe.dagger.io/docker"
) )
// Default Alpine version
let defaultVersion = "3.13.5@sha256:69e70a79f2d41ab5d637de98c1e0b055206ba40a8145e7bddb55ccc04e13cf8f"
// Build an Alpine Linux container image // Build an Alpine Linux container image
#Build: { #Build: {
// Alpine version to install
version: string | *defaultVersion // Alpine version to install.
version: string | *"3.15.0@sha256:21a3deaa0d32a8057914f36584b5288d2e5ecc984380bc0118285c70fa8c9300"
// List of packages to install // List of packages to install
packages: [pkgName=string]: version: string | *"" packages: [pkgName=string]: version: string | *""

View File

@ -0,0 +1,10 @@
setup() {
load '../../bats_helpers'
common_setup
}
@test "alpine.#Build" {
dagger up ./image-version.cue
dagger up ./package-install.cue
}

View File

@ -0,0 +1,22 @@
package test
import (
"dagger.io/dagger"
"dagger.io/dagger/engine"
"universe.dagger.io/alpine"
)
dagger.#Plan & {
actions: {
build: alpine.#Build & {
// install an old version on purpose
version: "3.10.9"
}
check: engine.#Readfile & {
input: build.output.rootfs
path: "/etc/alpine-release"
contents: "3.10.9\n"
}
}
}

View File

@ -0,0 +1,31 @@
package test
import (
"dagger.io/dagger"
"universe.dagger.io/alpine"
"universe.dagger.io/docker"
)
dagger.#Plan & {
actions: {
build: alpine.#Build & {
packages: {
jq: {}
curl: {}
}
}
check: docker.#Run & {
image: build.output
script: """
jq --version > /jq-version.txt
curl --version > /curl-version.txt
"""
export: files: {
"/jq-version.txt": contents: =~"^jq"
"/curl-version.txt": contents: =~"^curl"
}
}
}
}

View File

@ -1,38 +0,0 @@
package alpine
import (
"universe.dagger.io/docker"
)
TestImageVersion: {
build: #Build & {
// install an old version on purpose
version: "3.10.9"
}
check: docker.#Run & {
image: build.output
output: files: "/etc/alpine-release": contents: "3.10.9"
}
}
TestPackageInstall: {
build: #Build & {
packages: {
jq: {}
curl: {}
}
}
check: docker.#Run & {
script: """
jq --version > /jq-version.txt
curl --version > /curl-version.txt
"""
output: files: {
"/jq-version.txt": contents: "FIXME"
"/curl-version.txt": contents: "FIXME"
}
}
}