From 8f327f37807f328b6e950cd958bf9984e4e2df34 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Mon, 5 May 2025 11:23:30 +0000 Subject: [PATCH] chore(license): add license checking configuration and workflow --- .github/workflows/licensed.yml | 74 ++++++++++++++++++++++++++++++++++ .licensed.yml | 18 +++++++++ 2 files changed, 92 insertions(+) create mode 100644 .github/workflows/licensed.yml create mode 100644 .licensed.yml diff --git a/.github/workflows/licensed.yml b/.github/workflows/licensed.yml new file mode 100644 index 0000000..81012c5 --- /dev/null +++ b/.github/workflows/licensed.yml @@ -0,0 +1,74 @@ +# This workflow checks the statuses of cached dependencies used in this action +# with the help of the Licensed tool. If any licenses are invalid or missing, +# this workflow will fail. See: https://github.com/licensee/licensed + +name: Licensed + +on: + # Uncomment the below lines to run this workflow on pull requests and pushes + # to the default branch. This is useful for checking licenses before merging + # changes into the default branch. + # pull_request: + # branches: + # - main + # push: + # branches: + # - main + workflow_dispatch: + +permissions: + contents: write + +jobs: + licensed: + name: Check Licenses + runs-on: ubuntu-latest + + steps: + - name: Checkout + id: checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + id: setup-node + uses: actions/setup-node@v4 + with: + node-version-file: .node-version + cache: npm + + - name: Install Dependencies + id: npm-ci + run: npm ci + + - name: Setup Ruby + id: setup-ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ruby + + - uses: licensee/setup-licensed@v1.3.2 + with: + version: 4.x + github_token: ${{ secrets.GITHUB_TOKEN }} + + # If this is a workflow_dispatch event, update the cached licenses. + - if: ${{ github.event_name == 'workflow_dispatch' }} + name: Update Licenses + id: update-licenses + run: licensed cache + + # Then, commit the updated licenses to the repository. + - if: ${{ github.event_name == 'workflow_dispatch' }} + name: Commit Licenses + id: commit-licenses + run: | + git config --local user.email "licensed-ci@users.noreply.github.com" + git config --local user.name "licensed-ci" + git add . + git commit -m "Auto-update license files" + git push + + # Last, check the status of the cached licenses. + - name: Check Licenses + id: check-licenses + run: licensed status diff --git a/.licensed.yml b/.licensed.yml new file mode 100644 index 0000000..91239ed --- /dev/null +++ b/.licensed.yml @@ -0,0 +1,18 @@ +# See: https://github.com/licensee/licensed/blob/main/docs/configuration.md + +sources: + npm: true + +allowed: + - apache-2.0 + - bsd-2-clause + - bsd-3-clause + - isc + - mit + - cc0-1.0 + - other + +ignored: + npm: + # Used by Rollup.js when building in GitHub Actions + - '@rollup/rollup-linux-x64-gnu'