name: Docker build on push env: DOCKER_CLI_EXPERIMENTAL: enabled on: push jobs: build: runs-on: ubuntu-18.04 name: Build and push all the stuff defined in this repo steps: - name: Set env variables run: echo "::set-env name=BRANCH::$(echo ${GITHUB_REF#refs/heads/} | sed 's/\//-/g')" - name: Show set env variables run: | printf " BRANCH: %s\n" "$BRANCH" - name: Login to Docker Hub run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin - name: Checkout project uses: actions/checkout@v2 - name: Setup Docker buildx action uses: crazy-max/ghaction-docker-buildx@v1 id: buildx with: buildx-version: latest qemu-version: latest - name: Show available Docker buildx platforms run: echo ${{ steps.buildx.outputs.platforms }} - name: Cache Docker layers uses: actions/cache@v2 id: cache with: path: /tmp/.buildx-cache key: ${{ runner.os }}-buildx-${{ github.sha }} restore-keys: | ${{ runner.os }}-buildx- - name: Run Docker buildx against the current branch (neutrino-switcher) run: | docker buildx build \ --cache-from "type=local,src=/tmp/.buildx-cache" \ --cache-to "type=local,dest=/tmp/.buildx-cache" \ --platform linux/amd64,linux/arm64,linux/arm/v7 \ --tag ${{ secrets.DOCKER_HUB_USER }}/neutrino-switcher:branch-$BRANCH \ --output "type=registry" . - name: build neutrino-switcher against latest (neutrino-switcher) run: | docker buildx build \ --cache-from "type=local,src=/tmp/.buildx-cache" \ --cache-to "type=local,dest=/tmp/.buildx-cache" \ --platform linux/amd64,linux/arm64,linux/arm/v7 \ --tag ${{ secrets.DOCKER_HUB_USER }}/lnd-unlock:latest \ --output "type=registry" .