name: Test and Build multi-architecture on: pull_request: branches: [ master ] types: [assigned, opened, synchronize, labeled] paths-ignore: - "*.md" - "docs/**" - "examples/**" jobs: build: strategy: fail-fast: false matrix: variant: - java17 - java17-alpine include: # JAVA 17: - variant: java17 # jammy doesn't work until minecraft updates to https://github.com/netty/netty/issues/12343 baseImage: eclipse-temurin:17-jre-focal platforms: linux/amd64,linux/arm/v7,linux/arm64 mcVersion: 1.18.2 - variant: java17-alpine baseImage: eclipse-temurin:17-jre-alpine platforms: linux/amd64 mcVersion: 1.18.2 env: IMAGE_TO_TEST: ${{ github.repository_owner }}/minecraft-server:test-${{ matrix.variant }}-${{ github.run_id }} runs-on: ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v3 with: # for build-files step fetch-depth: 0 - name: Setup Docker Buildx uses: docker/setup-buildx-action@v2 - name: Build for test uses: docker/build-push-action@v3.1.0 with: platforms: linux/amd64 tags: ${{ env.IMAGE_TO_TEST }} # ensure latest base image is used pull: true # load into daemon for test usage in next step load: true push: false build-args: | BASE_IMAGE=${{ matrix.baseImage }} cache-from: type=gha,scope=${{ matrix.variant }} - name: Run tests env: MINECRAFT_VERSION: ${{ matrix.mcVersion }} VARIANT: ${{ matrix.variant }} MODS_FORGEAPI_KEY: ${{ secrets.MODS_FORGEAPI_KEY }} run: | tests/test.sh