Skip to content

Fix incorrect column number in funcTupleDesc initialization. #491

Fix incorrect column number in funcTupleDesc initialization.

Fix incorrect column number in funcTupleDesc initialization. #491

# --------------------------------------------------------------------
#
# 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.
#
# --------------------------------------------------------------------
# Apache Rat Audit Workflow
# Checks if all files comply with Apache licensing requirements
# This workflow is based on the Apache Rat tool, you can run it locally
# using the command: `mvn clean verify -Drat.consoleOutput=true`
# --------------------------------------------------------------------
name: Apache Rat License Check
on:
push:
branches: [main]
pull_request:
branches: [main]
types: [opened, synchronize, reopened, edited]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
rat-check:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Set up Java and Maven
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '11'
cache: maven
- name: Run Apache Rat check
run: |
echo "Running Apache Rat license check..."
mvn clean verify -Drat.consoleOutput=true | tee rat-output.log
# Check for build failure
if grep -q "\[INFO\] BUILD FAILURE" rat-output.log; then
echo "rat_failed=true" >> $GITHUB_OUTPUT
echo "::error::Apache Rat check failed - build failure detected"
exit 1
fi
# If we got here, the check passed
echo "rat_failed=false" >> $GITHUB_OUTPUT
echo "Apache Rat check passed successfully"
- name: Upload Rat check results
if: always()
uses: actions/upload-artifact@v4
with:
name: rat-check-results
path: rat-output.log
retention-days: 7
- name: Generate Job Summary
if: always()
run: |
{
echo "## Apache Rat Audit Results"
echo "- Run Time: $(date -u +'%Y-%m-%d %H:%M:%S UTC')"
echo ""
if [[ -f rat-output.log ]]; then
# First extract and display summary statistics (only once)
if grep -q "Rat check: Summary over all files" rat-output.log; then
echo "#### 📊 License Summary"
summary_line=$(grep "Rat check: Summary over all files" rat-output.log)
echo "\`\`\`"
echo "$summary_line"
echo "\`\`\`"
echo ""
fi
# Then determine the result status
if grep -q "\[INFO\] BUILD FAILURE" rat-output.log; then
echo "### ❌ Check Failed - License Compliance Issues Detected"
echo ""
# Extract and display files with unapproved licenses
if grep -q "Files with unapproved licenses:" rat-output.log; then
echo "#### 🚫 Files with Unapproved Licenses"
echo "\`\`\`"
# Get the line with "Files with unapproved licenses:" and all following lines until the dashed line
sed -n '/Files with unapproved licenses:/,/\[INFO\] ------------------------------------------------------------------------/p' rat-output.log | \
grep -v "\[INFO\] ------------------------------------------------------------------------" | \
grep -v "^$" | \
head -20
echo "\`\`\`"
echo ""
fi
echo "💡 **How to fix:**"
echo ""
echo "**For new original files you created:**"
echo "- Add the standard Apache License header to each file"
echo ""
echo "**For third-party files with different licenses:**"
echo "- Add the file to exclusion list in \`pom.xml\` under the rat-maven-plugin configuration"
echo "- Ensure the license is compatible with Apache License 2.0"
echo "- Avoid introducing components with incompatible licenses"
echo ""
echo "**Need help?**"
echo "- Run \`mvn clean verify -Drat.consoleOutput=true\` locally for the full report"
echo "- Email [email protected] if you have questions about license compatibility"
elif grep -q "\[INFO\] BUILD SUCCESS" rat-output.log; then
echo "### ✅ Check Passed - All Files Comply with Apache License Requirements"
else
echo "### ⚠️ Indeterminate Result"
echo "Check the uploaded log file for details."
fi
else
echo "### ⚠️ No Output Log Found"
echo "The rat-output.log file was not generated."
fi
} >> "$GITHUB_STEP_SUMMARY"
- name: Report Status
if: always()
shell: bash {0}
run: |
if [[ -f rat-output.log ]] && grep -q "\[INFO\] BUILD SUCCESS" rat-output.log; then
echo "✅ Apache Rat check completed successfully"
exit 0
elif [[ -f rat-output.log ]] && grep -q "\[INFO\] BUILD FAILURE" rat-output.log; then
echo "❌ Apache Rat check failed"
exit 1
else
echo "⚠️ Apache Rat check status unclear"
exit 1
fi