[Enhancement] support Window pre agg #29500
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: MERGE PIPELINE | |
on: | |
pull_request_target: | |
branches: | |
- main | |
- 'branch-[0-9].[0-9]' | |
types: | |
- closed | |
permissions: | |
pull-requests: write | |
issues: write | |
actions: write | |
env: | |
PR_NUMBER: ${{ github.event.number }} | |
jobs: | |
backport: | |
runs-on: ubuntu-latest | |
if: > | |
github.event.pull_request.merged == true && | |
github.base_ref == 'main' && | |
github.repository == 'StarRocks/starrocks' && | |
!contains(github.event.pull_request.title, 'cherry-pick') && | |
!contains(github.event.pull_request.title, 'backport') && ( | |
contains(github.event.pull_request.labels.*.name, '3.3') || | |
contains(github.event.pull_request.labels.*.name, '3.2') || | |
contains(github.event.pull_request.labels.*.name, '3.1') || | |
contains(github.event.pull_request.labels.*.name, '3.0') || | |
contains(github.event.pull_request.labels.*.name, '2.5') ) | |
env: | |
PR_NUMBER: ${{ github.event.number }} | |
steps: | |
- name: backport branch-3.3 | |
if: contains(github.event.pull_request.labels.*.name, '3.3') | |
uses: thollander/actions-comment-pull-request@v2 | |
with: | |
message: | | |
@Mergifyio backport branch-3.3 | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- uses: actions-ecosystem/action-remove-labels@v1 | |
if: contains(github.event.pull_request.labels.*.name, '3.3') | |
with: | |
labels: '3.3' | |
- name: backport branch-3.2 | |
if: contains(github.event.pull_request.labels.*.name, '3.2') | |
uses: thollander/actions-comment-pull-request@v2 | |
with: | |
message: | | |
@Mergifyio backport branch-3.2 | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- uses: actions-ecosystem/action-remove-labels@v1 | |
if: contains(github.event.pull_request.labels.*.name, '3.2') | |
with: | |
labels: '3.2' | |
- name: backport branch-3.1 | |
if: contains(github.event.pull_request.labels.*.name, '3.1') | |
uses: thollander/actions-comment-pull-request@v2 | |
with: | |
message: | | |
@Mergifyio backport branch-3.1 | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- uses: actions-ecosystem/action-remove-labels@v1 | |
if: contains(github.event.pull_request.labels.*.name, '3.1') | |
with: | |
labels: '3.1' | |
- name: backport branch-3.0 | |
if: contains(github.event.pull_request.labels.*.name, '3.0') | |
uses: thollander/actions-comment-pull-request@v2 | |
with: | |
message: | | |
@Mergifyio backport branch-3.0 | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- uses: actions-ecosystem/action-remove-labels@v1 | |
if: contains(github.event.pull_request.labels.*.name, '3.0') | |
with: | |
labels: '3.0' | |
- name: backport branch-2.5 | |
if: contains(github.event.pull_request.labels.*.name, '2.5') | |
uses: thollander/actions-comment-pull-request@v2 | |
with: | |
message: | | |
@Mergifyio backport branch-2.5 | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- uses: actions-ecosystem/action-remove-labels@v1 | |
if: contains(github.event.pull_request.labels.*.name, '2.5') | |
with: | |
labels: '2.5' | |
thirdparty-update-image: | |
runs-on: [self-hosted, normal] | |
name: Thirdparty Update Image | |
if: github.event.pull_request.merged == true | |
continue-on-error: false | |
strategy: | |
fail-fast: false | |
matrix: | |
linux: [ centos7, ubuntu ] | |
env: | |
PR_NUMBER: ${{ github.event.number }} | |
BRANCH: ${{ github.base_ref }} | |
REPO: ${{ github.repository }} | |
steps: | |
- name: clean | |
run: | | |
rm -rf ${{ github.workspace }} | |
mkdir -p ${{ github.workspace }} | |
- uses: dorny/paths-filter@v3 | |
id: changes | |
with: | |
filters: | | |
thirdparty: | |
- 'thirdparty/**' | |
- 'docker/dockerfiles/dev-env/dev-env.Dockerfile' | |
- name: update image (${{ matrix.linux }}) | |
if: steps.changes.outputs.thirdparty == 'true' | |
run: | | |
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull && source lib/init.sh | |
./bin/elastic-update-image.sh $BRANCH $PR_NUMBER ${{ matrix.linux }} | |
- name: Clean ENV | |
if: always() | |
run: | | |
rm -rf ${{ github.workspace }}/* | |
close_msg: | |
runs-on: [self-hosted, normal] | |
if: > | |
github.event.pull_request.merged == true && | |
github.base_ref == 'main' && | |
github.repository == 'StarRocks/starrocks' | |
env: | |
PR_NUMBER: ${{ github.event.number }} | |
steps: | |
- name: commit_sha | |
id: commit_sha | |
run: | | |
set -x | |
commit_sha=`curl -L \ | |
-H "Accept: application/vnd.github+json" \ | |
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ | |
-H "X-GitHub-Api-Version: 2022-11-28" \ | |
https://api.github.com/repos/${{ github.repository }}/pulls/${PR_NUMBER} 2>/dev/null \ | |
| jq .merge_commit_sha` | |
commit_sha=$(echo ${commit_sha//\"}) | |
echo "commit_sha=${commit_sha}" >> $GITHUB_OUTPUT | |
- name: update merged coverage | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull && source lib/init.sh | |
./bin/upload_cov_after_merge.sh --pr ${PR_NUMBER} --commit ${{ steps.commit_sha.outputs.commit_sha }} | |
- name: Clean ENV | |
if: always() | |
run: | | |
rm -rf ${{ github.workspace }}/* | |
clean_ci_workflow: | |
runs-on: ubuntu-latest | |
if: > | |
github.event.pull_request.merged != true | |
env: | |
PR_NUMBER: ${{ github.event.number }} | |
REPO: ${{ github.repository }} | |
BRANCH: ${{ github.base_ref }} | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: cancel | |
run: | | |
if [[ "${BRANCH}" == "main" ]]; then | |
yaml=ci-pipeline.yml | |
else | |
yaml=ci-pipeline-branch.yml | |
fi | |
gh run list --workflow ${yaml} -R ${REPO} -b ${GITHUB_HEAD_REF} --json databaseId -q '.[].databaseId' | xargs gh run cancel -R ${REPO} || true | |
update_backport_merged_msg: | |
runs-on: [ self-hosted, quick ] | |
if: > | |
github.base_ref != 'main' && github.event.pull_request.merged == true | |
env: | |
PR_NUMBER: ${{ github.event.number }} | |
outputs: | |
VERSION_LABEL: ${{ steps.prepare_version_label.outputs.LABEL }} | |
steps: | |
- name: prepare merge label | |
if: > | |
!contains(github.event.pull_request.labels.*.name, 'sync') && | |
contains(github.event.pull_request.title, '(backport #') | |
env: | |
GH_TOKEN: ${{ secrets.PAT }} | |
run: | | |
LABEL="${GITHUB_BASE_REF##*-}-merged" | |
gh label create "${LABEL}" -R ${GITHUB_REPOSITORY} -c 98C1D7 -f | |
- name: add merge label | |
if: > | |
always() && !contains(github.event.pull_request.labels.*.name, 'sync') && | |
contains(github.event.pull_request.title, '(backport #') | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
PR_TITLE: ${{ github.event.pull_request.title }} | |
run: | | |
LABEL="${GITHUB_BASE_REF##*-}-merged" | |
ORI_PR=$(echo "${PR_TITLE}" | grep -oP '\(backport #\K\d+' | tail -n 1) | |
gh pr edit ${ORI_PR} -R ${GITHUB_REPOSITORY} --add-label "${LABEL}" | |
- name: prepare version label | |
id: prepare_version_label | |
if: always() | |
env: | |
GH_TOKEN: ${{ secrets.PAT }} | |
run: | | |
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull >/dev/null | |
version=$(./scripts/get_next_release_tag.sh) | |
version_label="version:${version}" | |
echo "LABEL=${version_label}" >> $GITHUB_OUTPUT | |
gh label create "${version_label}" -R ${GITHUB_REPOSITORY} -c 1d76db -f | |
- name: add version label | |
if: always() | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
VERSION_LABEL: ${{ steps.prepare_version_label.outputs.LABEL }} | |
run: | | |
gh pr edit ${PR_NUMBER} -R ${GITHUB_REPOSITORY} --add-label "${VERSION_LABEL}" | |
update_version_label_for_main_feature: | |
runs-on: [ self-hosted, quick ] | |
if: > | |
github.base_ref == 'main' && github.event.pull_request.merged == true && | |
!contains(github.event.pull_request.labels.*.name, 'sync') && | |
startsWith(github.event.pull_request.title, '[Feature]') | |
env: | |
PR_NUMBER: ${{ github.event.number }} | |
outputs: | |
VERSION_LABEL: ${{ steps.prepare_version_label.outputs.LABEL }} | |
steps: | |
- name: prepare version label | |
id: prepare_version_label | |
if: always() | |
env: | |
GH_TOKEN: ${{ secrets.PAT }} | |
run: | | |
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull >/dev/null | |
version=$(./scripts/get_next_release_tag.sh) | |
version_label="version:${version}" | |
echo "LABEL=${version_label}" >> $GITHUB_OUTPUT | |
gh label create "${version_label}" -R ${GITHUB_REPOSITORY} -c 1d76db -f | |
- name: add version label | |
if: always() | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
VERSION_LABEL: ${{ steps.prepare_version_label.outputs.LABEL }} | |
run: | | |
gh pr edit ${PR_NUMBER} -R ${GITHUB_REPOSITORY} --add-label "${VERSION_LABEL}" | |
update_feature_issue: | |
runs-on: [ self-hosted, quick ] | |
needs: | |
- update_backport_merged_msg | |
- update_version_label_for_main_feature | |
if: > | |
always() && !contains(github.event.pull_request.labels.*.name, 'sync') && startsWith(github.event.pull_request.title, '[Feature]') | |
env: | |
BRANCH_VERSION_LABEL: ${{ needs.update_backport_merged_msg.outputs.VERSION_LABEL }} | |
MAIN_VERSION_LABEL: ${{ needs.update_version_label_for_main_feature.outputs.VERSION_LABEL }} | |
steps: | |
- name: Update Issue Body & Label(main) | |
if: github.base_ref == 'main' && env.MAIN_VERSION_LABEL != '' | |
run: | | |
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull >/dev/null | |
python3 scripts/get_pr_issue.py update_issue ${GITHUB_REPOSITORY} ${PR_NUMBER} ${MAIN_VERSION_LABEL} | |
- name: Update Issue Body & Label(branch) | |
if: always() && github.base_ref != 'main' && env.BRANCH_VERSION_LABEL != '' | |
run: | | |
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull >/dev/null | |
python3 scripts/get_pr_issue.py update_issue ${GITHUB_REPOSITORY} ${PR_NUMBER} ${BRANCH_VERSION_LABEL} |