Compare commits
No commits in common. "v1" and "v1.0.0" have entirely different histories.
3 changed files with 12 additions and 44 deletions
10
Dockerfile
10
Dockerfile
|
@ -1,4 +1,4 @@
|
|||
FROM gcr.io/kaniko-project/executor:v1.23.0-debug
|
||||
FROM gcr.io/kaniko-project/executor:v1.21.0-debug
|
||||
|
||||
SHELL ["/busybox/sh", "-c"]
|
||||
|
||||
|
@ -6,12 +6,12 @@ SHELL ["/busybox/sh", "-c"]
|
|||
RUN set -eux; \
|
||||
case "$(arch)" in \
|
||||
'x86_64') \
|
||||
url='https://github.com/google/go-containerregistry/releases/download/v0.19.1/go-containerregistry_Linux_x86_64.tar.gz'; \
|
||||
sha256='5f2b43c32a901adaaabaa78755d56cea71183954de7547cb4c4bc64b9ac6b2ff'; \
|
||||
url='https://github.com/google/go-containerregistry/releases/download/v0.19.0/go-containerregistry_Linux_x86_64.tar.gz'; \
|
||||
sha256='daa629648e1d1d10fc8bde5e6ce4176cbc0cd48a32211b28c3fd806e0fa5f29b'; \
|
||||
;; \
|
||||
'aarch64') \
|
||||
url='https://github.com/google/go-containerregistry/releases/download/v0.19.1/go-containerregistry_Linux_arm64.tar.gz'; \
|
||||
sha256='9118c29cdf2197441c4a934cf517df76c021ba12a70edc14ee9dc4dc08226680'; \
|
||||
url='https://github.com/google/go-containerregistry/releases/download/v0.19.0/go-containerregistry_Linux_arm64.tar.gz'; \
|
||||
sha256='d439957c1a9d6bc0870be921e25753a7fa67bf2b2691b77ce48a6fc25bc719a0'; \
|
||||
;; \
|
||||
*) echo >&2 "error: unsupported architecture '$arch' (likely packaging update needed)"; exit 1 ;; \
|
||||
esac; \
|
||||
|
|
13
README.md
13
README.md
|
@ -218,16 +218,3 @@ Example: `thetadev256/test-actions-helloworld2:main`
|
|||
Full reference to the built image with registry and tag.
|
||||
|
||||
Example: `thetadev256/test-actions-helloworld2:main`
|
||||
|
||||
## Dockerfile build arguments
|
||||
|
||||
Action-Kaniko automatically sets build arguments to allow for different dockerfile actions
|
||||
depending on the OS and architecture the image is build for.
|
||||
|
||||
The supported arguments are:
|
||||
|
||||
- `TARGETPLATFORM` (example: linux/amd64)
|
||||
- `TARGETOS` (example: linux)
|
||||
- `TARGETARCH` (example: amd64)
|
||||
- `TARGETARCH_ALT` (alternative architecture name, x86_64 for amd64, otherwise the same as TARGETARCH)
|
||||
- `TARGETVARIANT` (third docker platform parameter like ARM version)
|
||||
|
|
|
@ -96,27 +96,7 @@ if [ -n "$INPUT_PLATFORMS" ]; then
|
|||
DESTINATION="--no-push --tarPath /kaniko/build/${platformFn}.tar --destination $IMAGE"
|
||||
DIGEST="--image-name-tag-with-digest-file=/kaniko/build/${platformFn}_image-tag-digest"
|
||||
|
||||
targetos=$(echo "$platform" | cut -d/ -f1)
|
||||
targetarch=$(echo "$platform" | cut -d/ -f2)
|
||||
targetvariant=$(echo "$platform" | cut -d/ -f3)
|
||||
|
||||
case "$targetarch" in
|
||||
'amd64') targetarchAlt="x86_64" ;;
|
||||
'arm64') targetarchAlt="aarch64" ;;
|
||||
'i386') targetarchAlt="i686" ;;
|
||||
'386') targetarchAlt="i686" ;;
|
||||
'ppc64le') targetarchAlt="powerpc64le" ;;
|
||||
'arm')
|
||||
case "$targetvariant" in
|
||||
'v5') targetarchAlt="armv5te" ;;
|
||||
'v7') targetarchAlt="armv7" ;;
|
||||
*) targetarchAlt="arm" ;;
|
||||
esac
|
||||
;;
|
||||
*) targetarchAlt="$targetarch" ;;
|
||||
esac
|
||||
|
||||
runKaniko "${ARGS} --custom-platform=${platform} --build-arg TARGETPLATFORM='${platform}' --build-arg TARGETOS='${targetos}' --build-arg TARGETARCH='${targetarch}' --build-arg TARGETARCH_ALT='${targetarchAlt}' --build-arg TARGETVARIANT='${targetvariant}' $DESTINATION $DIGEST"
|
||||
runKaniko "${ARGS} --custom-platform=${platform} $DESTINATION $DIGEST"
|
||||
|
||||
echo "✅ $platform image built: $(head -n 1 "/kaniko/build/${platformFn}_image-tag-digest")"
|
||||
done
|
||||
|
@ -133,13 +113,14 @@ if [ -n "$INPUT_PLATFORMS" ]; then
|
|||
DIGESTS="$DIGESTS -m $digest"
|
||||
done
|
||||
|
||||
manifest_cmd="crane index append -t $IMAGE $DIGESTS"
|
||||
TAGS="-t $IMAGE"
|
||||
if [ -n "$IMAGE_LATEST" ]; then
|
||||
TAGS="$TAGS -t $IMAGE_LATEST"
|
||||
fi
|
||||
|
||||
manifest_cmd="crane index append $TAGS $DIGESTS"
|
||||
echo "Building manifest: $manifest_cmd"
|
||||
IMAGE_TAG_DIGEST=$(eval "$manifest_cmd")
|
||||
|
||||
if [ -n "$IMAGE_LATEST" ]; then
|
||||
crane tag "$IMAGE" latest
|
||||
fi
|
||||
else
|
||||
# Build and push image for the default platform
|
||||
echo "⚒️ Building image $IMAGE"
|
||||
|
|
Loading…
Reference in a new issue