Skip to content

Commit

Permalink
chore(earthly): refactor to use remote functions lib
Browse files Browse the repository at this point in the history
  • Loading branch information
rcmorano committed Aug 1, 2024
1 parent 3186ee3 commit 82b4ddb
Showing 1 changed file with 16 additions and 40 deletions.
56 changes: 16 additions & 40 deletions Earthfile
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
VERSION 0.8

IMPORT --allow-privileged github.com/cardano-foundation/cf-gha-workflows/./earthfiles/functions:main AS functions

ARG --global DOCKER_IMAGES_TARGETS="idw-keria idw-witness cred-issuance cred-issuance-ui"

ARG --global DOCKER_IMAGES_PREFIX="cf"
ARG --global DOCKER_IMAGES_EXTRA_TAGS=""
ARG --global DOCKER_REGISTRIES=""
ARG --global RELEASE_TAG=""
ARG --global PUSH=false

ARG --global KERIA_GIT_REPO_URL="https://github.com/cardano-foundation/keria.git"
ARG --global KERIA_GIT_REF=03a1b13047f91f7f287e0a03d227084835db6616

ARG --global KERI_DOCKER_IMAGE_REPO=weboftrust/keri
ARG --global KERI_DOCKER_IMAGE_TAG=1.1.6

ARG --global DOCKER_IMAGE_PREFIX="cf"
ARG --global DOCKER_IMAGES_EXTRA_TAGS=""
ARG --global DOCKER_REGISTRIES="hub.docker.com"
ARG --global HUB_DOCKER_COM_USER=cardanofoundation
ARG --global PUSH=false

all:
LOCALLY
FOR image_target IN $DOCKER_IMAGES_TARGETS
Expand All @@ -23,32 +25,6 @@ all:
docker-publish:
BUILD +all --PUSH=$PUSH

TEMPLATED_DOCKER_TAG_N_PUSH:
FUNCTION
ARG EARTHLY_GIT_SHORT_HASH
ARG PUSH # we use this as --push is not supported in LOCALLY blocks
ARG DOCKER_IMAGE_NAME
ARG DOCKER_IMAGES_EXTRA_TAGS
LOCALLY
FOR registry IN $DOCKER_REGISTRIES
FOR image_tag IN $DOCKER_IMAGES_EXTRA_TAGS
IF [ "$registry" = "hub.docker.com" ]
RUN docker tag ${DOCKER_IMAGE_NAME}:latest ${HUB_DOCKER_COM_USER}/${DOCKER_IMAGE_NAME}:${image_tag}
RUN if [ "$PUSH" = "true" ]; then docker push ${HUB_DOCKER_COM_USER}/${DOCKER_IMAGE_NAME}:${image_tag}; fi
ELSE
RUN docker tag ${DOCKER_IMAGE_NAME}:latest ${registry}/${DOCKER_IMAGE_NAME}:${image_tag}
RUN if [ "$PUSH" = "true" ]; then docker push ${registry}/${DOCKER_IMAGE_NAME}:${image_tag}; fi
END
END
IF [ "$registry" = "hub.docker.com" ]
RUN docker tag ${DOCKER_IMAGE_NAME}:latest ${HUB_DOCKER_COM_USER}/${DOCKER_IMAGE_NAME}:${EARTHLY_GIT_SHORT_HASH}
RUN if [ "$PUSH" = "true" ]; then docker push ${HUB_DOCKER_COM_USER}/${DOCKER_IMAGE_NAME}:${EARTHLY_GIT_SHORT_HASH}; fi
ELSE
RUN docker tag ${DOCKER_IMAGE_NAME}:latest ${registry}/${DOCKER_IMAGE_NAME}:${EARTHLY_GIT_SHORT_HASH}
RUN if [ "$PUSH" = "true" ]; then docker push ${registry}/${DOCKER_IMAGE_NAME}:${EARTHLY_GIT_SHORT_HASH}; fi
END
END

keria-src:
FROM alpine/git
RUN git clone $KERIA_GIT_REPO_URL /keria && \
Expand All @@ -60,7 +36,7 @@ idw-keria:
ARG EARTHLY_TARGET_NAME
ARG DOCKER_IMAGES_EXTRA_TAGS
ARG FORCE_BUILD=false
LET DOCKER_IMAGE_NAME=${DOCKER_IMAGE_PREFIX}-${EARTHLY_TARGET_NAME}
LET DOCKER_IMAGE_NAME=${DOCKER_IMAGES_PREFIX}-${EARTHLY_TARGET_NAME}

LOCALLY
IF [ "${FORCE_BUILD}" = "false" ]
Expand All @@ -79,7 +55,7 @@ idw-keria:
SAVE IMAGE ${DOCKER_IMAGE_NAME}:$KERIA_GIT_REF
SAVE IMAGE ${DOCKER_IMAGE_NAME}:latest
END
DO +TEMPLATED_DOCKER_TAG_N_PUSH \
DO functions+DOCKER_TAG_N_PUSH \
--PUSH=$PUSH \
--DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME} \
--DOCKER_IMAGES_EXTRA_TAGS="${DOCKER_IMAGES_EXTRA_TAGS} keria-${KERIA_GIT_REF}"
Expand All @@ -89,7 +65,7 @@ idw-witness:
ARG EARTHLY_TARGET_NAME
ARG DOCKER_IMAGES_EXTRA_TAGS
ARG FORCE_BUILD=false
LET DOCKER_IMAGE_NAME=${DOCKER_IMAGE_PREFIX}-${EARTHLY_TARGET_NAME}
LET DOCKER_IMAGE_NAME=${DOCKER_IMAGES_PREFIX}-${EARTHLY_TARGET_NAME}

LOCALLY
IF [ "${FORCE_BUILD}" = "false" ]
Expand All @@ -110,38 +86,38 @@ idw-witness:
SAVE IMAGE ${DOCKER_IMAGE_NAME}:keri-${KERI_DOCKER_IMAGE_TAG}
SAVE IMAGE ${DOCKER_IMAGE_NAME}:latest
END
DO +TEMPLATED_DOCKER_TAG_N_PUSH \
DO functions+DOCKER_TAG_N_PUSH \
--PUSH=$PUSH \
--DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME} \
--DOCKER_IMAGES_EXTRA_TAGS="${DOCKER_IMAGES_EXTRA_TAGS} keri-${KERI_DOCKER_IMAGE_TAG}"
END

cred-issuance:
ARG EARTHLY_TARGET_NAME
LET DOCKER_IMAGE_NAME=${DOCKER_IMAGE_PREFIX}-${EARTHLY_TARGET_NAME}
LET DOCKER_IMAGE_NAME=${DOCKER_IMAGES_PREFIX}-${EARTHLY_TARGET_NAME}

WAIT
FROM DOCKERFILE ./services/credential-server
END
WAIT
SAVE IMAGE ${DOCKER_IMAGE_NAME}
END
DO +TEMPLATED_DOCKER_TAG_N_PUSH \
DO functions+DOCKER_TAG_N_PUSH \
--PUSH=$PUSH \
--DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME} \
--DOCKER_IMAGES_EXTRA_TAGS="${DOCKER_IMAGES_EXTRA_TAGS}"

cred-issuance-ui:
ARG EARTHLY_TARGET_NAME
LET DOCKER_IMAGE_NAME=${DOCKER_IMAGE_PREFIX}-${EARTHLY_TARGET_NAME}
LET DOCKER_IMAGE_NAME=${DOCKER_IMAGES_PREFIX}-${EARTHLY_TARGET_NAME}

WAIT
FROM DOCKERFILE ./services/credential-server-ui
END
WAIT
SAVE IMAGE ${DOCKER_IMAGE_NAME}
END
DO +TEMPLATED_DOCKER_TAG_N_PUSH \
DO functions+DOCKER_TAG_N_PUSH \
--PUSH=$PUSH \
--DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME} \
--DOCKER_IMAGES_EXTRA_TAGS="${DOCKER_IMAGES_EXTRA_TAGS}"

0 comments on commit 82b4ddb

Please sign in to comment.