Skip to content

[improvement](inverted index) Push the candidate row bitmap down into phrase queries #412575

[improvement](inverted index) Push the candidate row bitmap down into phrase queries

[improvement](inverted index) Push the candidate row bitmap down into phrase queries #412575

Workflow file for this run

# 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.
#
---
name: License Check
on:
pull_request:
push:
branches:
- master
workflow_dispatch:
permissions:
contents: read
pull-requests: read
jobs:
license-check:
name: "License Check"
runs-on: ubuntu-latest
if: |
(github.event_name == 'pull_request') ||
(github.event_name == 'push' && github.ref == 'refs/heads/master')
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v7
with:
persist-credentials: false
- name: Get changed files
if: github.event_name == 'pull_request'
id: changed-files
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
if ! all=$(gh api repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/files \
--paginate --jq '.[].filename' 2>/dev/null); then
echo "config_file=.licenserc.yaml" >> "$GITHUB_OUTPUT"
exit 0
fi
if [ "$(echo "$all" | wc -l)" -ge 3000 ]; then
echo "config_file=.licenserc.yaml" >> "$GITHUB_OUTPUT"
exit 0
fi
if echo "$all" | grep -qxF '.licenserc.yaml'; then
echo "config_file=.licenserc.yaml" >> "$GITHUB_OUTPUT"
exit 0
fi
if ! acmr=$(gh api repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/files \
--paginate --jq '.[] | select(.status != "removed") | .filename' 2>/dev/null); then
echo "config_file=.licenserc.yaml" >> "$GITHUB_OUTPUT"
exit 0
fi
if [ -z "$acmr" ]; then
exit 0
fi
# Hand the list over as a file, not as a step output consumed through an
# environment variable: a single env string is capped at MAX_ARG_STRLEN
# (128KiB), and a large PR blows past it, so exec'ing the next step's
# shell fails with "Argument list too long". Keep it out of the
# workspace, where the full-config fallback would license-check it.
printf '%s\n' "$acmr" > "${RUNNER_TEMP}/licenserc-changed-files.txt"
echo "changed_files_file=${RUNNER_TEMP}/licenserc-changed-files.txt" >> "$GITHUB_OUTPUT"
echo "config_file=.licenserc-incremental.yaml" >> "$GITHUB_OUTPUT"
- name: Generate incremental licenserc
if: >-
github.event_name == 'pull_request' &&
steps.changed-files.outputs.changed_files_file != ''
env:
CHANGED_FILES_FILE: ${{ steps.changed-files.outputs.changed_files_file }}
run: |
python3 - <<'EOF'
import sys
# Prevent fork-supplied files from shadowing stdlib modules
sys.path = [p for p in sys.path if p not in ('', '.')]
import yaml, os
with open('.licenserc.yaml') as f:
config = yaml.safe_load(f)
with open(os.environ['CHANGED_FILES_FILE']) as f:
changed = [p.strip() for p in f if p.strip()]
config['header']['paths'] = changed
with open('.licenserc-incremental.yaml', 'w') as f:
yaml.dump(config, f, default_flow_style=False, allow_unicode=True)
EOF
- name: Check License
if: >-
github.event_name != 'pull_request' ||
steps.changed-files.outputs.config_file != ''
uses: apache/skywalking-eyes@v0.8.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
config: ${{ steps.changed-files.outputs.config_file || '.licenserc.yaml' }}