Europa: integrate core packages, separate universe
Signed-off-by: Solomon Hykes <solomon@dagger.io>
This commit is contained in:
36
europa-universe/alpine/alpine.cue
Normal file
36
europa-universe/alpine/alpine.cue
Normal file
@@ -0,0 +1,36 @@
|
||||
// Base package for Alpine Linux
|
||||
package alpine
|
||||
|
||||
import (
|
||||
"universe.dagger.io/docker"
|
||||
)
|
||||
|
||||
// Default Alpine version
|
||||
let defaultVersion = "3.13.5@sha256:69e70a79f2d41ab5d637de98c1e0b055206ba40a8145e7bddb55ccc04e13cf8f"
|
||||
|
||||
// Build an Alpine Linux container image
|
||||
#Build: {
|
||||
// Alpine version to install
|
||||
version: string | *defaultVersion
|
||||
|
||||
// List of packages to install
|
||||
packages: [pkgName=string]: version: string | *""
|
||||
|
||||
docker.#Build & {
|
||||
steps: [
|
||||
docker.#Pull & {
|
||||
source: "index.docker.io/alpine:\(version)"
|
||||
},
|
||||
for pkgName, pkg in packages {
|
||||
run: cmd: {
|
||||
name: "apk"
|
||||
args: ["add", "\(pkgName)\(version)"]
|
||||
flags: {
|
||||
"-U": true
|
||||
"--no-cache": true
|
||||
}
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
38
europa-universe/alpine/tests/simple/simple.cue
Normal file
38
europa-universe/alpine/tests/simple/simple.cue
Normal file
@@ -0,0 +1,38 @@
|
||||
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"
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user