diff --git a/pkg/universe.dagger.io/alpine/alpine.cue b/pkg/universe.dagger.io/alpine/alpine.cue index 380a3018..6dd35979 100644 --- a/pkg/universe.dagger.io/alpine/alpine.cue +++ b/pkg/universe.dagger.io/alpine/alpine.cue @@ -5,13 +5,11 @@ 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 + + // Alpine version to install. + version: string | *"3.15.0@sha256:21a3deaa0d32a8057914f36584b5288d2e5ecc984380bc0118285c70fa8c9300" // List of packages to install packages: [pkgName=string]: version: string | *"" diff --git a/pkg/universe.dagger.io/alpine/test/alpine.bats b/pkg/universe.dagger.io/alpine/test/alpine.bats new file mode 100644 index 00000000..05854ffa --- /dev/null +++ b/pkg/universe.dagger.io/alpine/test/alpine.bats @@ -0,0 +1,10 @@ +setup() { + load '../../bats_helpers' + + common_setup +} + +@test "alpine.#Build" { + dagger up ./image-version.cue + dagger up ./package-install.cue +} \ No newline at end of file diff --git a/pkg/universe.dagger.io/alpine/test/image-version.cue b/pkg/universe.dagger.io/alpine/test/image-version.cue new file mode 100644 index 00000000..2a912ff6 --- /dev/null +++ b/pkg/universe.dagger.io/alpine/test/image-version.cue @@ -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" + } + } +} diff --git a/pkg/universe.dagger.io/alpine/test/package-install.cue b/pkg/universe.dagger.io/alpine/test/package-install.cue new file mode 100644 index 00000000..a4f31c5e --- /dev/null +++ b/pkg/universe.dagger.io/alpine/test/package-install.cue @@ -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" + } + } + } +} diff --git a/pkg/universe.dagger.io/alpine/tests/simple/simple.cue b/pkg/universe.dagger.io/alpine/tests/simple/simple.cue deleted file mode 100644 index 5c4f047f..00000000 --- a/pkg/universe.dagger.io/alpine/tests/simple/simple.cue +++ /dev/null @@ -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" - } - } -}