backend.yml 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. name: "Backend: PR/master build & test"
  2. on:
  3. push:
  4. branches:
  5. - master
  6. pull_request_target:
  7. types: ["opened", "edited", "reopened", "synchronize"]
  8. paths:
  9. - "kafka-ui-api/**"
  10. - "pom.xml"
  11. permissions:
  12. checks: write
  13. pull-requests: write
  14. jobs:
  15. build-and-test:
  16. runs-on: ubuntu-latest
  17. steps:
  18. - uses: actions/checkout@v3
  19. with:
  20. fetch-depth: 0
  21. ref: ${{ github.event.pull_request.head.sha }}
  22. - name: Set up JDK
  23. uses: actions/setup-java@v3
  24. with:
  25. java-version: '17'
  26. distribution: 'zulu'
  27. cache: 'maven'
  28. - name: Cache SonarCloud packages
  29. uses: actions/cache@v3
  30. with:
  31. path: ~/.sonar/cache
  32. key: ${{ runner.os }}-sonar
  33. restore-keys: ${{ runner.os }}-sonar
  34. - name: Build and analyze pull request target
  35. if: ${{ github.event_name == 'pull_request' }}
  36. env:
  37. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  38. SONAR_TOKEN: ${{ secrets.SONAR_TOKEN_BACKEND }}
  39. HEAD_REF: ${{ github.head_ref }}
  40. BASE_REF: ${{ github.base_ref }}
  41. run: |
  42. ./mvnw -B -ntp versions:set -DnewVersion=${{ github.event.pull_request.head.sha }}
  43. ./mvnw -B -V -ntp verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \
  44. -Dsonar.projectKey=com.provectus:kafka-ui_backend \
  45. -Dsonar.pullrequest.key=${{ github.event.pull_request.number }} \
  46. -Dsonar.pullrequest.branch=$HEAD_REF \
  47. -Dsonar.pullrequest.base=$BASE_REF
  48. - name: Build and analyze push master
  49. if: ${{ github.event_name == 'push' }}
  50. env:
  51. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  52. SONAR_TOKEN: ${{ secrets.SONAR_TOKEN_BACKEND }}
  53. run: |
  54. ./mvnw -B -ntp versions:set -DnewVersion=$GITHUB_SHA
  55. ./mvnw -B -V -ntp verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \
  56. -Dsonar.projectKey=com.provectus:kafka-ui_backend