owasp-dependency-check-daily.yml 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. # the benefit of this over dependabot is that this also analyzes transitive dependencies
  2. # while dependabot (at least currently) only analyzes top-level dependencies
  3. name: OWASP dependency check (daily)
  4. on:
  5. schedule:
  6. # daily at 1:30 UTC
  7. - cron: "30 1 * * *"
  8. workflow_dispatch:
  9. jobs:
  10. analyze:
  11. runs-on: ubuntu-latest
  12. steps:
  13. - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
  14. - name: Free disk space
  15. run: .github/scripts/gha-free-disk-space.sh
  16. - name: Set up JDK for running Gradle
  17. uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
  18. with:
  19. distribution: temurin
  20. java-version: 17.0.6
  21. - name: Increase gradle daemon heap size
  22. run: |
  23. sed -i "s/org.gradle.jvmargs=/org.gradle.jvmargs=-Xmx3g /" gradle.properties
  24. - uses: gradle/actions/setup-gradle@750cdda3edd6d51b7fdfc069d2e2818cf3c44f4c # v3.3.1
  25. with:
  26. arguments: ":javaagent:dependencyCheckAnalyze"
  27. env:
  28. NVD_API_KEY: ${{ secrets.NVD_API_KEY }}
  29. - name: Upload report
  30. if: always()
  31. uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4.3.2
  32. with:
  33. path: javaagent/build/reports
  34. workflow-notification:
  35. needs:
  36. - analyze
  37. if: always()
  38. uses: ./.github/workflows/reusable-workflow-notification.yml
  39. with:
  40. success: ${{ needs.analyze.result == 'success' }}