name: ci on: push: - '!master' pull_request: jobs: buildx: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Prepare id: prep run: | DOCKER_IMAGE=${{ github.event.repository.full_name }} TAGS="${DOCKER_IMAGE}:edge" echo ::set-output name=tags::${TAGS} echo ::set-output name=docker_image::${DOCKER_IMAGE} echo ::set-output name=build_date::$(date -u +'%Y-%m-%dT%H:%M:%SZ') - name: Set up QEMU uses: docker/setup-qemu-action@master with: platforms: all - name: Set up Docker Buildx id: buildx uses: docker/setup-buildx-action@master with: version: latest - name: Cache Docker layers uses: actions/cache@v2 env: cache-name: buildx id: cache with: path: /tmp/.buildx-cache key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}-${{ github.sha }} restore-keys: | ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} ${{ runner.os }}-${{ env.cache-name }}- ${{ runner.os }}- - name: Login to DockerHub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Build and push uses: docker/build-push-action@v2 with: push: false builder: ${{ steps.buildx.outputs.name }} context: . file: ./Dockerfile platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/386,linux/ppc64le,linux/s390x tags: ${{ steps.prep.outputs.tags }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache build-args: | BUILD_DATE=${{ steps.prep.outputs.build_date }} REVISION=${{ github.sha }} buildx-web: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Prepare id: prep run: | DOCKER_IMAGE=ttshivers/syncloungeweb TAGS="${DOCKER_IMAGE}:edge" echo ::set-output name=tags::${TAGS} echo ::set-output name=docker_image::${DOCKER_IMAGE} echo ::set-output name=build_date::$(date -u +'%Y-%m-%dT%H:%M:%SZ') - name: Set up QEMU uses: docker/setup-qemu-action@master with: platforms: all - name: Set up Docker Buildx id: buildx uses: docker/setup-buildx-action@master with: version: latest - name: Cache Docker layers uses: actions/cache@v2 env: cache-name: buildx-web id: cache with: path: /tmp/.buildx-cache key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}-${{ github.sha }} restore-keys: | ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} ${{ runner.os }}-${{ env.cache-name }}- ${{ runner.os }}- - name: Login to DockerHub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Build and push uses: docker/build-push-action@v2 with: push: false builder: ${{ steps.buildx.outputs.name }} context: . file: ./Dockerfile.web platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/386,linux/ppc64le,linux/s390x tags: ${{ steps.prep.outputs.tags }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache build-args: | BUILD_DATE=${{ steps.prep.outputs.build_date }} REVISION=${{ github.sha }}