@@ -622,100 +622,14 @@ jobs:
622622 uses : pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
623623
624624
625- deploy-docker :
625+ docker-build :
626+ name : " Docker Build and Deploy"
626627 needs : [ build-linux, build-macos, build-windows, docs-check, mypy-version-check, pre-commit ]
627- runs-on : ubuntu-22.04
628-
629628 if : (github.event_name == 'push' || github.event_name == 'schedule' || github.event_name == 'release') && github.repository == 'freqtrade/freqtrade'
630-
631- steps :
632- - uses : actions/checkout@v4
633- with :
634- persist-credentials : false
635-
636- - name : Set up Python
637- uses : actions/setup-python@v5
638- with :
639- python-version : " 3.12"
640-
641- - name : Extract branch name
642- id : extract-branch
643- run : |
644- echo "GITHUB_REF='${GITHUB_REF}'"
645- echo "branch=${GITHUB_REF##*/}" >> "$GITHUB_OUTPUT"
646-
647- - name : Dockerhub login
648- env :
649- DOCKER_PASSWORD : ${{ secrets.DOCKER_PASSWORD }}
650- DOCKER_USERNAME : ${{ secrets.DOCKER_USERNAME }}
651- run : |
652- echo "${DOCKER_PASSWORD}" | docker login --username ${DOCKER_USERNAME} --password-stdin
653-
654- # We need docker experimental to pull the ARM image.
655- - name : Switch docker to experimental
656- run : |
657- docker version -f '{{.Server.Experimental}}'
658- echo $'{\n "experimental": true\n}' | sudo tee /etc/docker/daemon.json
659- sudo systemctl restart docker
660- docker version -f '{{.Server.Experimental}}'
661-
662- - name : Set up QEMU
663- uses : docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
664-
665- - name : Set up Docker Buildx
666- id : buildx
667- uses : docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
668-
669- - name : Available platforms
670- run : echo ${PLATFORMS}
671- env :
672- PLATFORMS : ${{ steps.buildx.outputs.platforms }}
673-
674- - name : Build and test and push docker images
675- env :
676- BRANCH_NAME : ${{ steps.extract-branch.outputs.branch }}
677- run : |
678- build_helpers/publish_docker_multi.sh
679-
680- deploy-arm :
681- name : " Deploy Docker"
629+ uses : ./.github/workflows/docker-build.yml
682630 permissions :
683631 packages : write
684- needs : [ deploy-docker ]
685- # Only run on 64bit machines
686- runs-on : [self-hosted, linux, ARM64]
687- if : (github.event_name == 'push' || github.event_name == 'schedule' || github.event_name == 'release') && github.repository == 'freqtrade/freqtrade'
688-
689- steps :
690- - uses : actions/checkout@v4
691- with :
692- persist-credentials : false
693-
694- - name : Extract branch name
695- id : extract-branch
696- run : |
697- echo "GITHUB_REF='${GITHUB_REF}'"
698- echo "branch=${GITHUB_REF##*/}" >> "$GITHUB_OUTPUT"
699-
700- - name : Dockerhub login
701- env :
702- DOCKER_PASSWORD : ${{ secrets.DOCKER_PASSWORD }}
703- DOCKER_USERNAME : ${{ secrets.DOCKER_USERNAME }}
704- run : |
705- echo "${DOCKER_PASSWORD}" | docker login --username ${DOCKER_USERNAME} --password-stdin
706-
707- - name : Build and test and push docker images
708- env :
709- BRANCH_NAME : ${{ steps.extract-branch.outputs.branch }}
710- GHCR_USERNAME : ${{ github.actor }}
711- GHCR_TOKEN : ${{ secrets.GITHUB_TOKEN }}
712- run : |
713- build_helpers/publish_docker_arm64.sh
714-
715- - name : Discord notification
716- uses : rjstone/discord-webhook-notify@1399c1b2d57cc05894d506d2cfdc33c5f012b993 # v1.1.1
717- if : always() && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false) && (github.event_name != 'schedule')
718- with :
719- severity : info
720- details : Deploy Succeeded!
721- webhookUrl : ${{ secrets.DISCORD_WEBHOOK }}
632+ secrets :
633+ DOCKER_PASSWORD : ${{ secrets.DOCKER_PASSWORD }}
634+ DOCKER_USERNAME : ${{ secrets.DOCKER_USERNAME }}
635+ DISCORD_WEBHOOK : ${{ secrets.DISCORD_WEBHOOK }}
0 commit comments