From 642bc207f0d8237d8a3baf0c05a4cabf05945cc1 Mon Sep 17 00:00:00 2001 From: Taras Greben Date: Thu, 7 May 2026 17:13:05 +0300 Subject: [PATCH] Add license workflow --- .github/workflows/add-license-headers.yml | 30 +++++++++++++++++++++++ .github/workflows/cla.yml | 2 +- .licenserc.yaml | 20 +++++++++++++++ LICENSE | 4 +-- 4 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/add-license-headers.yml create mode 100644 .licenserc.yaml diff --git a/.github/workflows/add-license-headers.yml b/.github/workflows/add-license-headers.yml new file mode 100644 index 0000000..93f4dda --- /dev/null +++ b/.github/workflows/add-license-headers.yml @@ -0,0 +1,30 @@ +name: Auto Add License Headers +on: + workflow_dispatch: + +jobs: + add-headers: + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write # Needed to open the PR + + steps: + - name: Checkout Code + uses: actions/checkout@v4 + + - name: Inject Copyright Headers + uses: apache/skywalking-eyes/header@main + with: + mode: fix + config: .licenserc.yaml + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v6 + with: + token: ${{ secrets.GITHUB_TOKEN }} + commit-message: "chore: automatically enrich source files with copyright headers" + title: "chore: add missing copyright headers" + body: "This PR automatically adds the missing SPDX copyright headers to all source files." + branch: "chore/add-license-headers" + base: "main" diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml index 4fe92d7..0a4e99e 100644 --- a/.github/workflows/cla.yml +++ b/.github/workflows/cla.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: "CLA Assistant" - if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_request.pull_request + if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event.pull_request uses: cla-assistant/github-action@v2.5.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.licenserc.yaml b/.licenserc.yaml new file mode 100644 index 0000000..21ff640 --- /dev/null +++ b/.licenserc.yaml @@ -0,0 +1,20 @@ +# Copyright (c) 2025-2026 Taras Greben +# SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Commercial-pcb-retrace +# See LICENSE file for details. + +header: + license: + spdx-id: "AGPL-3.0-only" + copyright-owner: "Taras Greben" + content: | + Copyright (c) 2025-2026 Taras Greben + SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Commercial-pcb-retrace + See LICENSE file for details. + + paths-ignore: + - 'dist' + - 'node_modules' + - 'docs/CNAME' + - '**/*.md' + - 'LICENSE' + - '.github' diff --git a/LICENSE b/LICENSE index 3cd14bb..4c33f3c 100644 --- a/LICENSE +++ b/LICENSE @@ -8,7 +8,7 @@ This software is available under two different licenses: this software for free, provided that you disclose your source code and license modified versions under the same AGPLv3 terms (including network use). -2. Commercial License +2. Commercial License (LicenseRef-Commercial-pcb-retrace) If you wish to use this software in a proprietary setting, without the obligations of the AGPLv3 (such as disclosing your modifications), you must acquire a commercial license. @@ -20,7 +20,7 @@ This software is available under two different licenses: GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 -Copyright (C) 2025 Taras Greben +Copyright (C) 2025-2026 Taras Greben This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by