github.com/freiheit-com/kuberpult@v1.24.2-0.20240328135542-315d5630abe6/services/cd-service/Earthfile (about) 1 VERSION --use-function-keyword 0.7 2 IMPORT ../../infrastructure/earthly/go AS go-build 3 4 LOCALLY 5 ARG --global service=$(basename $PWD) 6 ARG --global src_files=$(find pkg -type f ! -name "*_test.go") 7 ARG --global cgo_enabled=1 8 9 deps: 10 FROM ../../+deps 11 DO go-build+DEPS --service=$service --src_files=$src_files 12 WORKDIR services/$service 13 14 artifacts: 15 FROM +deps 16 SAVE ARTIFACT /etc/ssl/certs/ca-certificates.crt 17 SAVE ARTIFACT /usr/share/zoneinfo 18 SAVE ARTIFACT pkg 19 20 compile: 21 FROM +deps 22 ARG USERARCH 23 24 DO go-build+COMPILE --cgo_enabled=$cgo_enabled 25 26 unit-test: 27 FROM +compile 28 ARG GO_TEST_ARGS 29 DO go-build+UNIT_TEST --GO_TEST_ARGS=$GO_TEST_ARGS 30 31 lint: 32 FROM +deps 33 DO go-build+LINT --skip_lint_errors=false 34 35 docker: 36 FROM alpine:3.18 37 ARG UID=1000 38 ARG registry="europe-west3-docker.pkg.dev/fdc-public-docker-registry/kuberpult" 39 ARG tag="local" 40 ARG use_datadog=false 41 COPY gitconfig /etc/gitconfig 42 DO go-build+DOCKER --UID=$UID --image_tag=$registry/kuberpult-$service:$tag --cgo_enabled=$cgo_enabled --entry_point=/main --service=$service --use_datadog=$use_datadog 43 44 release: 45 FROM +docker 46 ARG registry="europe-west3-docker.pkg.dev/fdc-public-docker-registry/kuberpult" 47 ARG --required tag 48 DO go-build+RELEASE --image_tag=$registry/kuberpult-$service:$tag 49 50 build-pr: 51 ARG --required tag 52 ARG registry="ghcr.io/freiheit-com/kuberpult" 53 ARG mirror="false" 54 ARG mirror_registry="europe-west3-docker.pkg.dev/fdc-public-docker-registry/kuberpult" 55 56 DO +BUILD_ALL --tag=$tag --registry=$registry --mirror=$mirror --mirror_registry=$mirror_registry 57 58 build-main: 59 ARG --required tag 60 ARG registry="ghcr.io/freiheit-com/kuberpult" 61 ARG mirror="false" 62 ARG mirror_registry="europe-west3-docker.pkg.dev/fdc-public-docker-registry/kuberpult" 63 64 DO +BUILD_ALL --tag=$tag --registry=$registry --mirror=$mirror --mirror_registry=$mirror_registry --dd_release=true 65 66 BUILD_ALL: 67 FUNCTION 68 ARG --required tag 69 ARG --required registry 70 ARG mirror_registry="europe-west3-docker.pkg.dev/fdc-public-docker-registry/kuberpult" 71 ARG mirror="" 72 ARG dd_release=false 73 74 FROM +deps 75 BUILD +lint 76 BUILD +unit-test 77 BUILD +release --registry=$registry --tag=$tag 78 IF [ "$mirror" = "true" ] 79 BUILD +release --registry=$mirror_registry --tag=$tag 80 END 81 IF [ "$dd_release" = "true" ] 82 BUILD +release --registry=$mirror_registry --tag="${tag}-datadog" --use_datadog=true 83 END