From 29e3d7ea30cb9a113441329ee6e6c8e28b3d8feb Mon Sep 17 00:00:00 2001 From: Zonglei Dong Date: Sat, 26 Nov 2022 15:40:11 +0800 Subject: [PATCH 1/2] Feat: add license checker for CI. --- .github/workflows/licence-checker.yml | 23 +++++++ .licenserc.yaml | 93 +++++++++++++++++++++++++++ pom.xml | 16 +++++ 3 files changed, 132 insertions(+) create mode 100644 .github/workflows/licence-checker.yml create mode 100644 .licenserc.yaml diff --git a/.github/workflows/licence-checker.yml b/.github/workflows/licence-checker.yml new file mode 100644 index 0000000000..40c2b6f924 --- /dev/null +++ b/.github/workflows/licence-checker.yml @@ -0,0 +1,23 @@ +name: License checker + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + check-license: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Check License Header + uses: apache/skywalking-eyes@main + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + log: info + config: .licenserc.yaml diff --git a/.licenserc.yaml b/.licenserc.yaml new file mode 100644 index 0000000000..953dad4f02 --- /dev/null +++ b/.licenserc.yaml @@ -0,0 +1,93 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +header: # `header` section is configurations for source codes license header. + license: + spdx-id: Apache-2.0 # the spdx id of the license, it's convenient when your license is standard SPDX license. + copyright-owner: Apache Software Foundation # the copyright owner to replace the [owner] in the `spdx-id` template. + content: | # `license` will be used as the content when `fix` command needs to insert a license header. + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + # `pattern` is optional regexp if all the file headers are the same as `license` or the license of `spdx-id` and `copyright-owner`. + pattern: | + Licensed to the Apache Software Foundation under one or more contributor + license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright + ownership. The Apache Software Foundation licenses this file to you under + the Apache License, Version 2.0 \(the "License"\); you may + not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + paths: # `paths` are the path list that will be checked (and fixed) by license-eye, default is ['**']. + - '**' + + paths-ignore: # `paths-ignore` are the path list that will be ignored by license-eye. + - '.gitignore' + - 'LICENSE' + - '**/*.versionsBackup' + - '**/*.versionsBackup' + - '**/*.proto' + - '**/*.log' + - '**/*.txt' + - '**/*.json' + - '**/*.conf' + - '**/*.map' + - '**/*.properties' + - '**/RaftRequests.java' + - 'dist/**/*' + - 'hugegraph-dist' + - '**/assembly/static/bin/hugegraph.service' + - 'scripts/dev/reviewers' + - 'scripts/dev/reviewers' + - '**/*.md' + - '**/dependency-reduced-pom.xml' + - '**/logs/*.log' + - '**/META-INF/**/*' + - '**/target/*' + - 'style/*' + - 'ChangeLog' + - 'CONFIG.ini' + - 'GROUPS' + - 'OWNERS' + - '.github/**/*' + - '**/*.iml' + - '**/*.iws' + - '**/*.ipr' + - '**/META-INF/MANIFEST.MF' + - '.repository/**' + - '**/.flattened-pom.xml' + comment: on-failure # on what condition license-eye will comment on the pull request, `on-failure`, `always`, `never`. + + # license-location-threshold specifies the index threshold where the license header can be located, + # after all, a "header" cannot be TOO far from the file start. + license-location-threshold: 80 diff --git a/pom.xml b/pom.xml index f70abdddcc..4ad8e54f09 100644 --- a/pom.xml +++ b/pom.xml @@ -1,4 +1,20 @@ + 4.0.0 From 03e113f627b06d717d9aa9436ddcfa8e09921072 Mon Sep 17 00:00:00 2001 From: imbajin Date: Sat, 26 Nov 2022 16:31:41 +0800 Subject: [PATCH 2/2] Update licence-checker.yml --- .github/workflows/licence-checker.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/licence-checker.yml b/.github/workflows/licence-checker.yml index 40c2b6f924..9e595c31c9 100644 --- a/.github/workflows/licence-checker.yml +++ b/.github/workflows/licence-checker.yml @@ -4,15 +4,14 @@ on: push: branches: - master + - /^v[0-9]\..*$/ pull_request: - branches: - - master jobs: check-license: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Check License Header uses: apache/skywalking-eyes@main