diff --git a/.github/.licenserc.yaml b/.github/.licenserc.yaml deleted file mode 100644 index 35c9500c..00000000 --- a/.github/.licenserc.yaml +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 2024-present Alibaba Inc. -# -# Licensed 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: - license: - spdx-id: Apache-2.0 - copyright-owner: Alibaba Inc. - - paths: - - '**' - - paths-ignore: - - '**/.gitignore' - - '.github/**' - - 'test/test_data/**' - - 'LICENSE' - - 'NOTICE' - - 'third_party/**' - - '**/*.svg' - - '**/*.diff' - - comment: on-failure diff --git a/.github/.rat-excludes b/.github/.rat-excludes new file mode 100644 index 00000000..b1fb2b8c --- /dev/null +++ b/.github/.rat-excludes @@ -0,0 +1,14 @@ +build/* +build-debug/* +build-release/* +test_data/* +third_party/* +build_support/* +scripts/* +cmake_modules/* +.codespell_ignore +.gitignore +rat-report.txt +requirements.txt +.gitattributes +.*\.svg$ diff --git a/.github/workflows/license_check.yaml b/.github/workflows/license_check.yaml new file mode 100644 index 00000000..803dd691 --- /dev/null +++ b/.github/workflows/license_check.yaml @@ -0,0 +1,53 @@ +# Copyright 2025-present Alibaba Inc. +# +# Licensed 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. + +name: License Check + +on: + pull_request: + push: + branches: + - main + +jobs: + rat-check: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Java + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '17' + + - name: Download Apache Rat jar + run: | + wget https://repo1.maven.org/maven2/org/apache/rat/apache-rat/0.16.1/apache-rat-0.16.1.jar -O rat.jar + + - name: Run Apache Rat + run: | + java -jar rat.jar -E .github/.rat-excludes -d . > rat-report.txt + - name: Check for Unapproved Licenses + run: | + if grep "Files with unapproved licenses" rat-report.txt; then + echo "❌ Found files with unapproved licenses!" + cat rat-report.txt + exit 1 + else + echo "✅ All files have approved licenses." + cat rat-report.txt + fi diff --git a/README.md b/README.md index 987ef5e9..ba7d5faa 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Paimon C++ is a high-performance C++ implementation of [Apache Paimon](https://p * Memory pool interfaces and a default implementation. * Thread pool executor interfaces and a default implementation. * Compatible with Java Paimon format and communication protocol (e.g., commit message, data splits, manifests). -* Only support x86 platform. +* Note: The current implementation only supports the x86_64 architecture. ## Write And Commit Example @@ -127,6 +127,16 @@ $ cd build $ cmake .. $ make ``` +## Contributing + +Paimon-cpp is an active open-source project and we welcome people who want to contribute or share good ideas! +Before contributing, you are encouraged to check out our [documentation](https://alibaba.github.io/paimon-cpp/). + +If you have suggestions, feedback, want to report a bug or request a feature, please open an [issue](https://github.com/alibaba/paimon-cpp/issues/new). +Pull requests are also very welcome! + +We value respectful and open collaboration, and appreciate everyone who helps make paimon-cpp better. Thank you for your support! + ### Linting Install the python package `pre-commit` and run once `pre-commit install`.