reusable-smoke-test-images.yml 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. name: PR build fake backend images for smoke tests
  2. on:
  3. workflow_call:
  4. inputs:
  5. project:
  6. type: string
  7. required: true
  8. publish:
  9. type: boolean
  10. required: false
  11. cache-read-only:
  12. type: boolean
  13. required: false
  14. skip-java-8:
  15. type: boolean
  16. required: false
  17. skip-java-17:
  18. type: boolean
  19. required: false
  20. skip-java-18:
  21. type: boolean
  22. required: false
  23. skip-java-19:
  24. type: boolean
  25. required: false
  26. jobs:
  27. build:
  28. runs-on: ubuntu-latest
  29. steps:
  30. - uses: actions/checkout@v3
  31. - name: Set up JDK for running Gradle
  32. uses: actions/setup-java@v3
  33. with:
  34. distribution: temurin
  35. java-version: 17
  36. - name: Login to GitHub package registry
  37. if: ${{ inputs.publish }}
  38. uses: docker/login-action@v2
  39. with:
  40. registry: ghcr.io
  41. username: ${{ github.repository_owner }}
  42. password: ${{ secrets.GITHUB_TOKEN }}
  43. - name: Set tag
  44. run: echo "TAG=$(date '+%Y%m%d').$GITHUB_RUN_ID" >> $GITHUB_ENV
  45. - name: Set up Gradle cache
  46. uses: gradle/gradle-build-action@v2
  47. with:
  48. cache-read-only: ${{ inputs.cache-read-only }}
  49. - name: Build Java 8 Docker image
  50. if: ${{ !inputs.skip-java-8 }}
  51. run: ./gradlew ${{ inputs.project }}:${{ inputs.publish && 'jib' || 'jibDockerBuild' }} -Ptag=${{ env.TAG }} -PtargetJDK=8 -Djib.httpTimeout=120000 -Djib.console=plain
  52. - name: Build Java 11 Docker image
  53. run: ./gradlew ${{ inputs.project }}:${{ inputs.publish && 'jib' || 'jibDockerBuild' }} -Ptag=${{ env.TAG }} -PtargetJDK=11 -Djib.httpTimeout=120000 -Djib.console=plain
  54. - name: Build Java 17 Docker image
  55. if: ${{ !inputs.skip-java-17 }}
  56. run: ./gradlew ${{ inputs.project }}:${{ inputs.publish && 'jib' || 'jibDockerBuild' }} -Ptag=${{ env.TAG }} -PtargetJDK=17 -Djib.httpTimeout=120000 -Djib.console=plain
  57. # TODO (trask) remove Java 18 test once Java 19 is GA
  58. - name: Build Java 18 Docker image
  59. if: ${{ !inputs.skip-java-18 }}
  60. run: ./gradlew ${{ inputs.project }}:${{ inputs.publish && 'jib' || 'jibDockerBuild' }} -Ptag=${{ env.TAG }} -PtargetJDK=18 -Djib.httpTimeout=120000 -Djib.console=plain
  61. - name: Build Java 19 Docker image
  62. if: ${{ !inputs.skip-java-19 }}
  63. run: ./gradlew ${{ inputs.project }}:${{ inputs.publish && 'jib' || 'jibDockerBuild' }} -Ptag=${{ env.TAG }} -PtargetJDK=19 -Djib.httpTimeout=120000 -Djib.console=plain