continuous-integration-workflow.yml 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. name: CI
  2. on:
  3. push:
  4. branches:
  5. - main
  6. schedule:
  7. - cron: '0 10 * * *' # Once per day at 10am UTC
  8. jobs:
  9. build:
  10. name: Build
  11. runs-on: ${{ matrix.os }}
  12. strategy:
  13. matrix:
  14. os: [ubuntu-latest, macos-latest, windows-latest]
  15. jdk: [8,11,12]
  16. fail-fast: false
  17. steps:
  18. - uses: actions/checkout@v2
  19. - name: Set up JDK ${{ matrix.jdk }}
  20. uses: actions/setup-java@v1
  21. with:
  22. java-version: ${{ matrix.jdk }}
  23. - name: Build with Gradle
  24. run: ./gradlew clean build
  25. snapshot_tests:
  26. name: Test against snapshots
  27. runs-on: ubuntu-latest
  28. steps:
  29. - uses: actions/checkout@v2
  30. - name: Set up JDK
  31. uses: actions/setup-java@v1
  32. with:
  33. java-version: 8
  34. - name: Test
  35. run: echo Testing against snapshots
  36. sonar:
  37. name: Static Code Analysis
  38. runs-on: ubuntu-latest
  39. steps:
  40. - uses: actions/checkout@v2
  41. - name: Set up JDK
  42. uses: actions/setup-java@v1
  43. with:
  44. java-version: 8
  45. - name: Sonar
  46. run: echo Running Sonarqube static code analysis
  47. artifacts:
  48. name: Deploy Artifacts
  49. needs: [build, snapshot_tests, sonar]
  50. runs-on: ubuntu-latest
  51. steps:
  52. - uses: actions/checkout@v2
  53. - name: Set up JDK
  54. uses: actions/setup-java@v1
  55. with:
  56. java-version: 8
  57. - name: Deploy Artifacts
  58. run: echo Deploying Artifacts
  59. docs:
  60. name: Deploy Docs
  61. needs: [build, snapshot_tests, sonar]
  62. runs-on: ubuntu-latest
  63. steps:
  64. - uses: actions/checkout@v2
  65. - name: Set up JDK
  66. uses: actions/setup-java@v1
  67. with:
  68. java-version: 8
  69. - name: Deploy Docs
  70. run: echo Deploying Docs
  71. schema:
  72. name: Deploy Schema
  73. needs: [build, snapshot_tests, sonar]
  74. runs-on: ubuntu-latest
  75. steps:
  76. - uses: actions/checkout@v2
  77. - name: Set up JDK
  78. uses: actions/setup-java@v1
  79. with:
  80. java-version: 8
  81. - name: Deploy Schema
  82. run: echo Deploying Schema