name: PR to update SPDX license list on: schedule: - cron: "0 6 * * 1" # every monday at 6 AM UTC workflow_dispatch: permissions: contents: read env: SLACK_NOTIFICATIONS: true jobs: upgrade-spdx-license-list: runs-on: ubuntu-latest if: github.repository == 'anchore/syft' # only run for main repo steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2 with: persist-credentials: false - name: Bootstrap environment uses: ./.github/actions/bootstrap - run: | make generate-license-list - uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a #v2.1.0 id: generate-token with: app_id: ${{ secrets.TOKEN_APP_ID }} private_key: ${{ secrets.TOKEN_APP_PRIVATE_KEY }} - uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 #v8.0.0 with: signoff: true delete-branch: true branch: auto/latest-spdx-license-list labels: dependencies commit-message: "chore(deps): update SPDX license list" title: "chore(deps): update SPDX license list" body: | Update SPDX license list based on the latest available list from spdx.org token: ${{ steps.generate-token.outputs.token }} - name: Notify Slack on failure uses: slackapi/slack-github-action@91efab103c0de0a537f72a35f6b8cda0ee76bf0a #v2.1.1 with: webhook: ${{ secrets.SLACK_TOOLBOX_WEBHOOK_URL }} webhook-type: incoming-webhook payload: | text: "Syft SPDX license list update failed" blocks: - type: section text: type: mrkdwn text: | *Syft SPDX license list update failed* • Workflow: `${{ github.workflow }}` • Event: `${{ github.event_name }}` • Job Status: `${{ job.status }}` • <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Run> if: ${{ failure() && env.SLACK_NOTIFICATIONS == 'true' }}