diff --git a/.github/workflows/docker-images.yml b/.github/workflows/docker-images.yml new file mode 100644 index 000000000..29302e2db --- /dev/null +++ b/.github/workflows/docker-images.yml @@ -0,0 +1,59 @@ +name: Docker Image CI + +on: + push: + branches: [ main, develop ] + tags: + - "v*.*.*" + pull_request: + branches: [ main, develop ] + +jobs: + multi_arch: + runs-on: ubuntu-latest + steps: + - + name: Checkout + uses: actions/checkout@v2 + - + name: Prepare + id: prep + run: | + #Creating Tag list + echo "Working on GITHUB_REF: \"${GITHUB_REF}\"" + DOCKER_IMAGE=aviadra/freqtrade + VERSION=edge + if [[ $GITHUB_REF == refs/tags/* ]]; then + VERSION=${GITHUB_REF#refs/tags/} + fi + TAGS="${DOCKER_IMAGE}:${VERSION}" + if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + TAGS="$TAGS,${DOCKER_IMAGE}:latest" + fi + + TAGS="$TAGS,${DOCKER_IMAGE}:cache" + echo "Final TAG list: \"${TAGS}\"" + echo ::set-output name=tags::${TAGS} + - + name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - + name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - + name: Build and push + uses: docker/build-push-action@v2 + with: + context: . + file: ./Dockerfile + platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/ppc64le,linux/s390x + push: true + tags: ${{ steps.prep.outputs.tags }} + cache-from: type=registry,ref=aviadra/freqtrade:cache + cache-to: type=inline \ No newline at end of file