Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions hack/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env bash

source "$(dirname $0)/common.sh"

build_transform_jsonata_image || exit 1
23 changes: 23 additions & 0 deletions hack/common.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/usr/bin/env bash

set -euo pipefail

export TAG=${TAG:-$(git rev-parse HEAD)}

[[ ! -v REPO_ROOT_DIR ]] && REPO_ROOT_DIR="$(git rev-parse --show-toplevel)"
readonly REPO_ROOT_DIR

function build_transform_jsonata_image() {
local image="${KO_DOCKER_REPO}/transform-jsonata:${TAG}"

docker buildx build \
--platform linux/amd64,linux/arm64 \
-t "${image}" \
-f "${REPO_ROOT_DIR}/transform-jsonata/Dockerfile" \
--push \
"${REPO_ROOT_DIR}/transform-jsonata" || return $?


TRANSFORM_JSONATA_IMAGE=$(docker inspect --format '{{index .RepoDigests 0}}' "${image}")
export TRANSFORM_JSONATA_IMAGE
}
38 changes: 32 additions & 6 deletions hack/release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,10 @@

# shellcheck disable=SC1090
source "$(go run knative.dev/hack/cmd/script release.sh)"
source "$(dirname $0)/common.sh"

CONFIMAP_YAML="eventing-integrations-images.yaml"
INTEGRATION_CONFIGMAP_YAML="eventing-integrations-images.yaml"
TRANSFORMATION_CONFIGMAP_YAML="eventing-transformations-images.yaml"
IMAGES_TXT="images.txt"

function build_release() {
Expand All @@ -27,26 +29,50 @@ function build_release() {

./mvnw clean package -P knative -DskipTests || return $?

# use the function so that the exported TRANSFORM_JSONATA_IMAGE is visible after during generate_transformation_configMap
build_transform_jsonata_image || return $?

echo "Image build & push completed"

echo "Collect image shas into ConfigMap"
generate_configMap
generate_integration_configMap || return $?
generate_transformation_configMap || return $?

ARTIFACTS_TO_PUBLISH="${CONFIMAP_YAML} ${IMAGES_TXT}"
ARTIFACTS_TO_PUBLISH="${INTEGRATION_CONFIGMAP_YAML} ${TRANSFORMATION_CONFIGMAP_YAML} ${IMAGES_TXT}"
sha256sum ${ARTIFACTS_TO_PUBLISH} >checksums.txt
ARTIFACTS_TO_PUBLISH="${ARTIFACTS_TO_PUBLISH} checksums.txt"
echo "Checksum:"
cat checksums.txt
}

function generate_configMap() {


function generate_transformation_configMap() {

cat <<EOF > ${TRANSFORMATION_CONFIGMAP_YAML}
apiVersion: v1
kind: ConfigMap
metadata:
name: eventing-transformations-images
namespace: knative-eventing
labels:
app.kubernetes.io/version: "${TAG}"
data:
transform-jsonata: ${TRANSFORM_JSONATA_IMAGE}
EOF
}

function generate_integration_configMap() {
image_digests=$(find . -name "jib-image.digest")

cat <<EOF > ${CONFIMAP_YAML}
cat <<EOF > ${INTEGRATION_CONFIGMAP_YAML}
apiVersion: v1
kind: ConfigMap
metadata:
name: eventing-integrations-images
namespace: knative-eventing
labels:
app.kubernetes.io/version: "${TAG}"
data:
EOF

Expand All @@ -56,7 +82,7 @@ EOF
image=$(echo "${image_digest_path}" | cut -d "/" -f2)
image_digest=$(cat "${image_digest_path}")
# Config map with key value imageName:imageRef
echo " ${image}: ${KO_DOCKER_REPO}/${image}:${image_digest}" >>${CONFIMAP_YAML}
echo " ${image}: ${KO_DOCKER_REPO}/${image}:${image_digest}" >>${INTEGRATION_CONFIGMAP_YAML}
# Storing plain image URLs in a txt file
echo "${KO_DOCKER_REPO}/${image}:${image_digest}" >>${IMAGES_TXT}
done
Expand Down
2 changes: 2 additions & 0 deletions test/presubmit-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@
# TODO a placeholder script to CI automation.
# Can be used to execute integration tests in the future.

./hack/build.sh

true
1 change: 1 addition & 0 deletions transform-jsonata/.dockerignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
node_modules
examples
README.md
4 changes: 2 additions & 2 deletions transform-jsonata/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM registry.access.redhat.com/ubi8/nodejs-20 AS builder
FROM registry.access.redhat.com/ubi9/nodejs-20 AS builder

# Set working directory
WORKDIR /app
Expand All @@ -23,7 +23,7 @@ COPY . .
RUN pnpm build || echo "No build step found, skipping"

# Use a minimal base image for runtime
FROM registry.access.redhat.com/ubi8/nodejs-20
FROM registry.access.redhat.com/ubi9/nodejs-20

ENV NODE_ENV=production

Expand Down