# Every workflow that includes this must also include the following to make sure that it # is triggered when a new JDK is added to the matrix: #on: # push: # paths: # - ".github/workflows/reusable-smoke-test-images.yml" name: PR build fake backend images for smoke tests on: workflow_call: inputs: project: type: string required: true publish: type: boolean required: false cache-read-only: type: boolean required: false skip-java-8: type: boolean required: false skip-java-17: type: boolean required: false skip-java-21: type: boolean required: false permissions: contents: read jobs: build: runs-on: ubuntu-latest permissions: packages: write # for publishing docker image to github packages steps: - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - name: Free disk space run: .github/scripts/gha-free-disk-space.sh - name: Set up JDK for running Gradle uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1 with: distribution: temurin java-version-file: .java-version - name: Login to GitHub package registry if: inputs.publish uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - name: Set tag run: echo "TAG=$(date '+%Y%m%d').$GITHUB_RUN_ID" >> $GITHUB_ENV - name: Set up Gradle cache uses: gradle/actions/setup-gradle@db19848a5fa7950289d3668fb053140cf3028d43 # v3.3.2 with: cache-read-only: ${{ inputs.cache-read-only }} - name: Build Java 8 Docker image if: "!inputs.skip-java-8" run: ./gradlew ${{ inputs.project }}:${{ inputs.publish && 'jib' || 'jibDockerBuild' }} -Ptag=${{ env.TAG }} -PtargetJDK=8 -Djib.httpTimeout=120000 -Djib.console=plain - name: Build Java 11 Docker image run: ./gradlew ${{ inputs.project }}:${{ inputs.publish && 'jib' || 'jibDockerBuild' }} -Ptag=${{ env.TAG }} -PtargetJDK=11 -Djib.httpTimeout=120000 -Djib.console=plain - name: Build Java 17 Docker image if: "!inputs.skip-java-17" run: ./gradlew ${{ inputs.project }}:${{ inputs.publish && 'jib' || 'jibDockerBuild' }} -Ptag=${{ env.TAG }} -PtargetJDK=17 -Djib.httpTimeout=120000 -Djib.console=plain - name: Build Java 21 Docker image if: "!inputs.skip-java-21" run: ./gradlew ${{ inputs.project }}:${{ inputs.publish && 'jib' || 'jibDockerBuild' }} -Ptag=${{ env.TAG }} -PtargetJDK=21 -Djib.httpTimeout=120000 -Djib.console=plain