Europa: integrate core packages, separate universe

Signed-off-by: Solomon Hykes <solomon@dagger.io>
This commit is contained in:
Solomon Hykes
2021-12-14 00:16:12 +00:00
parent dd4c360a7b
commit c1c585bcd5
57 changed files with 612 additions and 142 deletions

View 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
}
}
},
]
}
}

View 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"
}
}
}