From 429b29679ff6cd891dda2298c257b8bc0205c82a Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Tue, 18 Jan 2022 13:17:19 -0700 Subject: [PATCH 1/7] ported alpine to europa Signed-off-by: Richard Jones --- pkg/universe.dagger.io/alpine/alpine.cue | 5 +-- .../alpine/test/image-version.cue | 22 +++++++++++ .../alpine/test/package-install.cue | 31 +++++++++++++++ .../alpine/tests/simple/simple.cue | 38 ------------------- 4 files changed, 54 insertions(+), 42 deletions(-) create mode 100644 pkg/universe.dagger.io/alpine/test/image-version.cue create mode 100644 pkg/universe.dagger.io/alpine/test/package-install.cue delete mode 100644 pkg/universe.dagger.io/alpine/tests/simple/simple.cue diff --git a/pkg/universe.dagger.io/alpine/alpine.cue b/pkg/universe.dagger.io/alpine/alpine.cue index 380a3018..c55694ab 100644 --- a/pkg/universe.dagger.io/alpine/alpine.cue +++ b/pkg/universe.dagger.io/alpine/alpine.cue @@ -5,13 +5,10 @@ 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 + version: string | *"latest" // List of packages to install packages: [pkgName=string]: version: string | *"" 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" - } - } -} From 963aa5c592060e9708291260a3dfadf6ae452065 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Wed, 19 Jan 2022 14:06:39 -0700 Subject: [PATCH 2/7] added architectures map for default versions Signed-off-by: Richard Jones --- pkg/universe.dagger.io/alpine/alpine.cue | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/universe.dagger.io/alpine/alpine.cue b/pkg/universe.dagger.io/alpine/alpine.cue index c55694ab..cbef26f3 100644 --- a/pkg/universe.dagger.io/alpine/alpine.cue +++ b/pkg/universe.dagger.io/alpine/alpine.cue @@ -5,10 +5,18 @@ import ( "universe.dagger.io/docker" ) +_arches: { + "linux/amd64": "3.15.0@sha256:e7d88de73db3d3fd9b2d63aa7f447a10fd0220b7cbf39803c803f2af9ba256b3" + "linux/arm64/v8": "3.15.0@sha256:c74f1b1166784193ea6c8f9440263b9be6cae07dfe35e32a5df7a31358ac2060" +} + // Build an Alpine Linux container image #Build: { + // Architecture to support + arch: string | *"linux/amd64" + // Alpine version to install - version: string | *"latest" + version: string | *_arches[arch] // List of packages to install packages: [pkgName=string]: version: string | *"" From c8ef46eee037120d5f4e7957d801ff3857feeb07 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Wed, 19 Jan 2022 14:09:04 -0700 Subject: [PATCH 3/7] added bats test file Signed-off-by: Richard Jones --- pkg/universe.dagger.io/alpine/test/alpine.bats | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 pkg/universe.dagger.io/alpine/test/alpine.bats 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..e96897b3 --- /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 From 9a5fcfa5c573cda020091e69ddbaca2d77daac89 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Wed, 19 Jan 2022 15:02:25 -0700 Subject: [PATCH 4/7] renamed arch -> architecture Signed-off-by: Richard Jones --- pkg/universe.dagger.io/alpine/alpine.cue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/universe.dagger.io/alpine/alpine.cue b/pkg/universe.dagger.io/alpine/alpine.cue index cbef26f3..a83584f4 100644 --- a/pkg/universe.dagger.io/alpine/alpine.cue +++ b/pkg/universe.dagger.io/alpine/alpine.cue @@ -5,7 +5,7 @@ import ( "universe.dagger.io/docker" ) -_arches: { +_architectures: { "linux/amd64": "3.15.0@sha256:e7d88de73db3d3fd9b2d63aa7f447a10fd0220b7cbf39803c803f2af9ba256b3" "linux/arm64/v8": "3.15.0@sha256:c74f1b1166784193ea6c8f9440263b9be6cae07dfe35e32a5df7a31358ac2060" } @@ -13,10 +13,10 @@ _arches: { // Build an Alpine Linux container image #Build: { // Architecture to support - arch: string | *"linux/amd64" + architecture: string | *"linux/amd64" // Alpine version to install - version: string | *_arches[arch] + version: string | *_architectures[architecture] // List of packages to install packages: [pkgName=string]: version: string | *"" From eed03d02ae13fe10dc6bbe65885f531041ab4f11 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Wed, 19 Jan 2022 16:08:52 -0700 Subject: [PATCH 5/7] architecture -> platform Signed-off-by: Richard Jones --- pkg/universe.dagger.io/alpine/alpine.cue | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkg/universe.dagger.io/alpine/alpine.cue b/pkg/universe.dagger.io/alpine/alpine.cue index a83584f4..91f865f3 100644 --- a/pkg/universe.dagger.io/alpine/alpine.cue +++ b/pkg/universe.dagger.io/alpine/alpine.cue @@ -5,18 +5,18 @@ import ( "universe.dagger.io/docker" ) -_architectures: { +_platforms: { "linux/amd64": "3.15.0@sha256:e7d88de73db3d3fd9b2d63aa7f447a10fd0220b7cbf39803c803f2af9ba256b3" "linux/arm64/v8": "3.15.0@sha256:c74f1b1166784193ea6c8f9440263b9be6cae07dfe35e32a5df7a31358ac2060" } // Build an Alpine Linux container image #Build: { - // Architecture to support - architecture: string | *"linux/amd64" + // Platform to support + platform: string | *"linux/amd64" - // Alpine version to install - version: string | *_architectures[architecture] + // Alpine version to install. Setting this will override platform. + version: string | *_platforms[platform] // List of packages to install packages: [pkgName=string]: version: string | *"" From da8bc373f95f1cea09c03c38f98d749e8abeef52 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Wed, 19 Jan 2022 16:17:39 -0700 Subject: [PATCH 6/7] removed platforms map, using multiarch digest Signed-off-by: Richard Jones --- pkg/universe.dagger.io/alpine/alpine.cue | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/pkg/universe.dagger.io/alpine/alpine.cue b/pkg/universe.dagger.io/alpine/alpine.cue index 91f865f3..6dd35979 100644 --- a/pkg/universe.dagger.io/alpine/alpine.cue +++ b/pkg/universe.dagger.io/alpine/alpine.cue @@ -5,18 +5,11 @@ import ( "universe.dagger.io/docker" ) -_platforms: { - "linux/amd64": "3.15.0@sha256:e7d88de73db3d3fd9b2d63aa7f447a10fd0220b7cbf39803c803f2af9ba256b3" - "linux/arm64/v8": "3.15.0@sha256:c74f1b1166784193ea6c8f9440263b9be6cae07dfe35e32a5df7a31358ac2060" -} - // Build an Alpine Linux container image #Build: { - // Platform to support - platform: string | *"linux/amd64" - // Alpine version to install. Setting this will override platform. - version: string | *_platforms[platform] + // Alpine version to install. + version: string | *"3.15.0@sha256:21a3deaa0d32a8057914f36584b5288d2e5ecc984380bc0118285c70fa8c9300" // List of packages to install packages: [pkgName=string]: version: string | *"" From ec8e519e1e17523a69a18a3d8a2cf8e26d796078 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Wed, 19 Jan 2022 16:19:07 -0700 Subject: [PATCH 7/7] $DAGGER -> dagger Signed-off-by: Richard Jones --- pkg/universe.dagger.io/alpine/test/alpine.bats | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/universe.dagger.io/alpine/test/alpine.bats b/pkg/universe.dagger.io/alpine/test/alpine.bats index e96897b3..05854ffa 100644 --- a/pkg/universe.dagger.io/alpine/test/alpine.bats +++ b/pkg/universe.dagger.io/alpine/test/alpine.bats @@ -5,6 +5,6 @@ setup() { } @test "alpine.#Build" { - "$DAGGER" up ./image-version.cue - "$DAGGER" up ./package-install.cue + dagger up ./image-version.cue + dagger up ./package-install.cue } \ No newline at end of file