name: Docker Multi-Architecture Build on: push: paths-ignore: - "**.md" branches: - master jobs: build-docker: runs-on: ubuntu-latest strategy: matrix: include: - image: 1337kavin/piped:latest,1337kavin/piped:openj9 dockerfile: ./Dockerfile.openj9.ci - image: 1337kavin/piped:hotspot dockerfile: ./Dockerfile.ci - image: 1337kavin/piped:graalvm-jvm dockerfile: ./Dockerfile.graalvm-jvm.ci steps: - uses: actions/checkout@v3 - name: Create Version File run: echo $(git log -1 --date=short --pretty=format:%cd)-$(git rev-parse --short HEAD) > VERSION - name: set up JDK 17 uses: actions/setup-java@v3 with: java-version: 17 distribution: temurin check-latest: true cache: "gradle" - name: Run Build run: ./gradlew build - run: mv "build/libs/piped-"*"-all.jar" piped.jar - name: Set up QEMU uses: docker/setup-qemu-action@v2 with: platforms: all - name: Set up Docker Buildx id: buildx uses: docker/setup-buildx-action@v2 with: version: latest - name: Login to DockerHub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Build and push uses: docker/build-push-action@v3 with: context: . file: ${{ matrix.dockerfile }} platforms: linux/amd64,linux/arm64 push: true tags: ${{ matrix.image }} cache-from: type=gha cache-to: type=gha,mode=max