cve.yaml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. name: CVE checks docker master
  2. on:
  3. workflow_dispatch:
  4. schedule:
  5. # * is a special character in YAML so you have to quote this string
  6. - cron: '0 8 15 * *'
  7. jobs:
  8. build-and-test:
  9. runs-on: ubuntu-latest
  10. steps:
  11. - uses: actions/checkout@v3
  12. - name: Set up JDK
  13. uses: actions/setup-java@v3
  14. with:
  15. java-version: '17'
  16. distribution: 'zulu'
  17. cache: 'maven'
  18. - name: Build project
  19. id: build
  20. run: |
  21. ./mvnw -B -ntp versions:set -DnewVersion=$GITHUB_SHA
  22. ./mvnw -B -V -ntp clean package -DskipTests
  23. export VERSION=$(./mvnw -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
  24. echo "version=${VERSION}" >> $GITHUB_OUTPUT
  25. - name: Set up QEMU
  26. uses: docker/setup-qemu-action@v2
  27. - name: Set up Docker Buildx
  28. uses: docker/setup-buildx-action@v2
  29. - name: Cache Docker layers
  30. uses: actions/cache@v3
  31. with:
  32. path: /tmp/.buildx-cache
  33. key: ${{ runner.os }}-buildx-${{ github.sha }}
  34. restore-keys: |
  35. ${{ runner.os }}-buildx-
  36. - name: Build docker image
  37. uses: docker/build-push-action@v4
  38. with:
  39. builder: ${{ steps.buildx.outputs.name }}
  40. context: kafka-ui-api
  41. platforms: linux/amd64
  42. push: false
  43. load: true
  44. tags: |
  45. provectuslabs/kafka-ui:${{ steps.build.outputs.version }}
  46. build-args: |
  47. JAR_FILE=kafka-ui-api-${{ steps.build.outputs.version }}.jar
  48. cache-from: type=local,src=/tmp/.buildx-cache
  49. cache-to: type=local,dest=/tmp/.buildx-cache
  50. - name: Run CVE checks
  51. uses: aquasecurity/trivy-action@0.12.0
  52. with:
  53. image-ref: "provectuslabs/kafka-ui:${{ steps.build.outputs.version }}"
  54. format: "table"
  55. exit-code: "1"