reusable-assemble.yml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. name: Reusable - Assemble
  2. on:
  3. workflow_call:
  4. inputs:
  5. cache-read-only:
  6. type: boolean
  7. required: false
  8. no-build-cache:
  9. type: boolean
  10. required: false
  11. secrets:
  12. GRADLE_ENTERPRISE_ACCESS_KEY:
  13. required: false
  14. GE_CACHE_USERNAME:
  15. required: false
  16. GE_CACHE_PASSWORD:
  17. required: false
  18. jobs:
  19. assemble:
  20. runs-on: ubuntu-latest
  21. steps:
  22. - uses: actions/checkout@v3
  23. - name: Set up JDK for running Gradle
  24. uses: actions/setup-java@v3
  25. with:
  26. distribution: temurin
  27. java-version: 17
  28. - name: Start deadlock detector
  29. run: .github/scripts/deadlock-detector.sh
  30. - name: Assemble
  31. uses: gradle/gradle-build-action@v2
  32. env:
  33. GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
  34. GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
  35. GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
  36. with:
  37. # javadoc task fails sporadically fetching https://docs.oracle.com/javase/8/docs/api/
  38. arguments: assemble generateLicenseReport -x javadoc ${{ inputs.no-build-cache && '--no-build-cache' || '' }}
  39. cache-read-only: ${{ inputs.cache-read-only }}
  40. # gradle enterprise is used for the build cache
  41. gradle-home-cache-excludes: caches/build-cache-1
  42. - name: Check licenses
  43. run: |
  44. # add any untracked folders that may have been added by generateLicenseReport
  45. git add licenses
  46. # there's always going to one line difference due to the timestamp included in the report
  47. if [[ $(git diff --cached --shortstat licenses) == " 1 file changed, 1 insertion(+), 1 deletion(-)" ]]
  48. then
  49. echo "Licenses are up-to-date."
  50. else
  51. echo "Licenses are not up-to-date, please run './gradlew generateLicenseReport' locally and commit."
  52. echo
  53. echo $(git diff --cached --stat licenses)
  54. echo
  55. echo $(git diff --cached licenses)
  56. exit 1
  57. fi
  58. - name: Check for jApiCmp diffs
  59. run: |
  60. if git diff --quiet
  61. then
  62. echo "No diff detected."
  63. else
  64. echo "Diff detected - did you run './gradlew jApiCmp'?"
  65. echo $(git diff --name-only)
  66. echo $(git diff)
  67. exit 1
  68. fi
  69. - name: Upload deadlock detector artifacts if any
  70. if: always()
  71. uses: actions/upload-artifact@v3
  72. with:
  73. name: deadlock-detector-assemble
  74. path: /tmp/deadlock-detector-*
  75. if-no-files-found: ignore
  76. - name: Upload jvm crash dump files if any
  77. if: always()
  78. uses: actions/upload-artifact@v3
  79. with:
  80. name: javacore-assemble
  81. path: |
  82. **/hs_err_pid*.log
  83. **/javacore.*.txt
  84. **/Snap.*.trc
  85. **/core.*.dmp
  86. **/jitdump.*.dmp
  87. if-no-files-found: ignore