From 7d38963c61d7082330c64c8ed24c584fbdd2a4a6 Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 2 Sep 2025 19:32:15 +0200 Subject: [PATCH] chore(ci): extract environment parts to ci file --- .github/workflows/docker-build.yml | 34 +++++++++++++++++++++++++++ build_helpers/publish_docker_multi.sh | 20 ++-------------- 2 files changed, 36 insertions(+), 18 deletions(-) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index a781dbd17..2ef681e17 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -24,6 +24,7 @@ env: IMAGE_NAME: "freqtradeorg/freqtrade" CACHE_IMAGE: "freqtradeorg/freqtrade_cache" GHCR_IMAGE_NAME: "ghcr.io/freqtrade/freqtrade" + PI_PLATFORM: "linux/arm/v7" jobs: deploy-docker: @@ -50,9 +51,37 @@ jobs: else BRANCH_NAME="${GITHUB_REF##*/}" fi + + # Replace / with _ to create a valid tag + TAG=$(echo "${BRANCH_NAME}" | sed -e "s/\//_/g") + TAG_PLOT=${TAG}_plot + TAG_FREQAI=${TAG}_freqai + TAG_FREQAI_RL=${TAG_FREQAI}rl + TAG_PI="${TAG}_pi" + + CACHE_TAG_PI=${CACHE_IMAGE}:${TAG_PI}_cache + echo "GITHUB_REF='${GITHUB_REF}'" echo "BRANCH_NAME='${BRANCH_NAME}'" + echo "TAG='${TAG}'" + echo "TAG_PLOT='${TAG_PLOT}'" + echo "TAG_FREQAI='${TAG_FREQAI}'" + echo "TAG_FREQAI_RL='${TAG_FREQAI_RL}'" + echo "TAG_PI='${TAG_PI}'" + echo "BRANCH_NAME=${BRANCH_NAME}" >> "$GITHUB_ENV" + echo "TAG=${TAG}" >> "$GITHUB_ENV" + echo "TAG_PLOT=${TAG_PLOT}" >> "$GITHUB_ENV" + echo "TAG_FREQAI=${TAG_FREQAI}" >> "$GITHUB_ENV" + echo "TAG_FREQAI_RL=${TAG_FREQAI_RL}" >> "$GITHUB_ENV" + echo "TAG_PI=${TAG_PI}" >> "$GITHUB_ENV" + + echo "CACHE_TAG_PI=${CACHE_TAG_PI}" >> "$GITHUB_ENV" + + - name: Save commit SHA to file + # Add commit to docker container + run: | + echo "${GITHUB_SHA}" > freqtrade_commit - name: Login to Docker Hub uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0 @@ -104,6 +133,11 @@ jobs: echo "BRANCH_NAME='${BRANCH_NAME}'" echo "BRANCH_NAME=${BRANCH_NAME}" >> "$GITHUB_ENV" + - name: Save commit SHA to file + # Add commit to docker container + run: | + echo "${GITHUB_SHA}" > freqtrade_commit + - name: Login to Docker Hub uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0 with: diff --git a/build_helpers/publish_docker_multi.sh b/build_helpers/publish_docker_multi.sh index 52dbe7244..188f84689 100755 --- a/build_helpers/publish_docker_multi.sh +++ b/build_helpers/publish_docker_multi.sh @@ -1,28 +1,12 @@ #!/bin/sh -# The below assumes a correctly setup docker buildx environment - -# Replace / with _ to create a valid tag -TAG=$(echo "${BRANCH_NAME}" | sed -e "s/\//_/g") -TAG_PLOT=${TAG}_plot -TAG_FREQAI=${TAG}_freqai -TAG_FREQAI_RL=${TAG_FREQAI}rl -TAG_PI="${TAG}_pi" - -PI_PLATFORM="linux/arm/v7" -echo "Running for ${TAG}" -CACHE_TAG=${CACHE_IMAGE}:${TAG_PI}_cache - -# Add commit and commit_message to docker container -echo "${GITHUB_SHA}" > freqtrade_commit - if [ "${GITHUB_EVENT_NAME}" = "schedule" ]; then echo "event ${GITHUB_EVENT_NAME}: full rebuild - skipping cache" # Build regular image docker build -t freqtrade:${TAG} . # Build PI image docker buildx build \ - --cache-to=type=registry,ref=${CACHE_TAG} \ + --cache-to=type=registry,ref=${CACHE_TAG_PI} \ -f docker/Dockerfile.armhf \ --platform ${PI_PLATFORM} \ -t ${IMAGE_NAME}:${TAG_PI} \ @@ -39,7 +23,7 @@ else # docker pull --platform ${PI_PLATFORM} ${IMAGE_NAME}:${TAG} # disable provenance due to https://github.com/docker/buildx/issues/1509 docker buildx build \ - --cache-from=type=registry,ref=${CACHE_TAG} \ + --cache-from=type=registry,ref=${CACHE_TAG_PI} \ --cache-to=type=registry,ref=${CACHE_TAG} \ -f docker/Dockerfile.armhf \ --platform ${PI_PLATFORM} \