| name: Generate FOSSA report |
| |
| on: |
| push: |
| branches: |
| - "master" |
| - "[0-9].[0-9]*" |
| |
| jobs: |
| config: |
| runs-on: "ubuntu-22.04" |
| outputs: |
| has-secrets: ${{ steps.check.outputs.has-secrets }} |
| steps: |
| - name: "Check for secrets" |
| id: check |
| shell: bash |
| run: | |
| if [ -n "${{ (secrets.FOSSA_API_KEY != '' ) || '' }}" ]; then |
| echo "has-secrets=1" >> "$GITHUB_OUTPUT" |
| fi |
| |
| license_check: |
| needs: config |
| if: needs.config.outputs.has-secrets |
| name: Generate Report |
| runs-on: ubuntu-22.04 |
| steps: |
| - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" |
| uses: actions/checkout@v4 |
| with: |
| persist-credentials: false |
| submodules: recursive |
| - name: Setup Java |
| uses: actions/setup-java@v4 |
| with: |
| distribution: "temurin" |
| java-version: "11" |
| - name: Generate fossa report |
| env: |
| FOSSA_API_KEY: ${{ secrets.FOSSA_API_KEY }} |
| run: | |
| set -eo pipefail |
| if [[ "${{github.event_name}}" != "pull_request" ]]; then |
| ./scripts/fossa.sh |
| exit 0 |
| fi |
| |
| URL="https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/files" |
| FILES=$(curl -s -X GET -G $URL | jq -r '.[] | .filename') |
| |
| cat<<EOF |
| CHANGED FILES: |
| $FILES |
| |
| EOF |
| |
| if [[ "${FILES}" =~ (.*package*\.json|requirements\/[a-z_-]+\.txt|setup\.py) ]]; then |
| echo "Detected dependency changes... running fossa check" |
| |
| ./scripts/fossa.sh |
| else |
| echo "No dependency changes... skiping fossa check" |
| fi |
| shell: bash |