Skip to content

INSPECTION PIPELINE #1511

INSPECTION PIPELINE

INSPECTION PIPELINE #1511

name: INSPECTION PIPELINE
on:
schedule:
- cron: "0 0 * * 1-5"
- cron: "30 4 * * 1-5"
- cron: "30 9 * * 1-5"
- cron: "0 11 * * 1,3,5"
- cron: "0 11 * * 2,4"
workflow_dispatch:
inputs:
BRANCH:
description: 'BRANCH'
required: true
type: string
COMMIT_ID:
description: 'COMMIT ID'
required: true
type: string
CENTOS_TAR_PATH:
description: 'TAR PATH(Release & Centos)'
required: false
type: string
UBUNTU_TAR_PATH:
description: 'TAR PATH(Release & Ubuntu)'
required: false
type: string
INCLUDE_ADMIT:
description: 'RUN ADMIT?'
type: boolean
default: true
ALL_LINUX:
description: "ALL_LINUX (Default: Ubuntu+Release)"
type: boolean
default: false
IS_REBUILD:
description: 'REBUILD'
type: boolean
default: false
WITH_FEATURE_COV:
description: "GEN FEATURE COV?"
type: boolean
default: false
IS_ARM:
description: "ARM"
type: boolean
default: false
COV_BASE_COMMIT:
description: ''
type: string
default: ''
permissions:
checks: write
actions: write
contents: write
deployments: write
discussions: write
issues: write
packages: write
pages: write
pull-requests: write
repository-projects: write
security-events: write
statuses: write
env:
IS_INSPECTION: true
SHARE_PATH: /var/local/env
jobs:
info:
runs-on: [self-hosted, normal]
name: INFO
env:
REPO: ${{ github.repository }}
GH_TOKEN: ${{ github.token }}
outputs:
BRANCH: ${{ steps.param.outputs.BRANCH }}
PR_NUMBER: ${{ steps.param.outputs.PR_NUMBER }}
CENTOS_TAR_PATH: ${{ steps.param.outputs.CENTOS_TAR_PATH }}
UBUNTU_TAR_PATH: ${{ steps.param.outputs.UBUNTU_TAR_PATH }}
BE_UT_LINUX: ${{ steps.param.outputs.BE_UT_LINUX }}
ALL_LINUX: ${{ steps.param.outputs.ALL_LINUX }}
WITH_FEATURE_COV: ${{ steps.param.outputs.WITH_FEATURE_COV }}
INCLUDE_ADMIT: ${{ steps.param.outputs.INCLUDE_ADMIT }}
IS_ARM: ${{ steps.param.outputs.IS_ARM }}
steps:
- name: CRON PARAM
id: param
run: |
BE_UT_LINUX=ubuntu
if [[ "${{ github.event_name }}" == "schedule" ]]; then
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull
read branch all_linux IS_ARM < <(python3 scripts/inspection_params.py "${{ github.event.schedule }}")
[[ $((`date +%e` % 2)) -eq 1 ]] && BE_UT_LINUX=centos7
base_sha=$(gh api /repos/${REPO}/branches/${branch} | jq -r .commit.sha)
echo "::notice::${branch}(${BE_UT_LINUX} ${base_sha})"
[[ "${base_sha}" == "null" ]] && (echo "::error::Get HEAD SHA error, please check." && exit -1);
echo "BRANCH=${branch}" >> $GITHUB_OUTPUT
echo "PR_NUMBER=${base_sha}" >> $GITHUB_OUTPUT
echo "ALL_LINUX=${all_linux}" >> $GITHUB_OUTPUT
echo "INCLUDE_ADMIT=true" >> $GITHUB_OUTPUT
echo "IS_ARM=${IS_ARM}" >> $GITHUB_OUTPUT
else
echo "BRANCH=${{ inputs.BRANCH }}" >> $GITHUB_OUTPUT
echo "PR_NUMBER=${{ inputs.COMMIT_ID }}" >> $GITHUB_OUTPUT
echo "CENTOS_TAR_PATH=${{ inputs.CENTOS_TAR_PATH }}" >> $GITHUB_OUTPUT
echo "UBUNTU_TAR_PATH=${{ inputs.UBUNTU_TAR_PATH }}" >> $GITHUB_OUTPUT
echo "ALL_LINUX=${{ inputs.ALL_LINUX }}" >> $GITHUB_OUTPUT
echo "WITH_FEATURE_COV=${{ inputs.WITH_FEATURE_COV }}" >> $GITHUB_OUTPUT
echo "IS_ARM=${{ inputs.IS_ARM }}" >> $GITHUB_OUTPUT
echo "INCLUDE_ADMIT=false" >> $GITHUB_OUTPUT
# check cov params
if [[ "${{ inputs.WITH_FEATURE_COV }}" == "true" && "${{ inputs.COV_BASE_COMMIT }}" == "" ]]; then
echo "::error::[Coverage] Base commit is missing!"
exit 1
fi
fi
echo "BE_UT_LINUX=${BE_UT_LINUX}" >> $GITHUB_OUTPUT
be-ut:
runs-on: [self-hosted, normal]
needs:
- info
timeout-minutes: 90
name: BE UT
continue-on-error: true
env:
BRANCH: ${{ needs.info.outputs.BRANCH }}
PR_NUMBER: ${{ needs.info.outputs.PR_NUMBER }}
LINUX: ${{ needs.info.outputs.BE_UT_LINUX }}
strategy:
fail-fast: false
matrix:
build_type: [ Release, ASAN ]
steps:
- name: UPDATE ECI & RUN UT
id: run_ut
shell: bash
timeout-minutes: 90
if: matrix.build_type == 'Release' || needs.info.outputs.WITH_FEATURE_COV != 'true'
env:
build_type: ${{ matrix.build_type }}
run: |
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull && source lib/init.sh
./bin/elastic-ut.sh --repository ${{ github.repository }} --branch ${BRANCH} --pr ${PR_NUMBER} --module be --build ${build_type} --linuxdistro ${LINUX} --with-gcov
- name: clean ECI
if: always()
run: |
echo ${{ steps.run_ut.outputs.ECI_ID }}
eci rm ${{ steps.run_ut.outputs.ECI_ID }}
echo "${{ steps.run_ut.outcome }}" > ./${{ matrix.build_type }}.txt
- name: Upload Log
uses: actions/upload-artifact@v4
if: always() && (steps.run_ut.outcome == 'success' || steps.run_ut.outcome == 'failure')
with:
name: BE UT LOG
path: ${{ steps.run_ut.outputs.BE_LOG }}
retention-days: 1
overwrite: true
- name: Upload BE UT Result
uses: actions/upload-artifact@v4
if: always()
with:
name: BE-UT-RESULT-${{ matrix.build_type }}
path: ${{ matrix.build_type }}.txt
retention-days: 1
overwrite: true
- name: Clean ENV
if: always()
run: |
rm -f ${{ steps.run_ut.outputs.RES_FILE }}
rm -f ${{ steps.run_ut.outputs.RES_LOG }}
rm -f ${{ steps.run_ut.outputs.BE_LOG }}
rm -rf ${{ github.workspace }}/*
fe-ut:
runs-on: [self-hosted, normal]
name: FE UT
needs:
- info
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: ${{ needs.info.outputs.BRANCH }}
PR_NUMBER: ${{ needs.info.outputs.PR_NUMBER }}
steps:
- name: clean
run: |
rm -rf ${{ github.workspace }}
mkdir -p ${{ github.workspace }}
- name: BRANCH INFO
id: branch
env:
repo: ${{ github.repository }}
run: |
bucket_prefix=`echo ${repo%/*} | tr '[:upper:]' '[:lower:]'`
echo "bucket_prefix=${bucket_prefix}" >> $GITHUB_OUTPUT
- name: UPDATE ECI & RUN UT
id: run_ut
shell: bash
timeout-minutes: 60
run: |
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull && source lib/init.sh
./bin/elastic-ut.sh --repository ${{ github.repository }} --branch ${BRANCH} --pr ${PR_NUMBER} --module fe --build Release --linuxdistro ubuntu
- name: Clean ECI
if: always()
run: |
echo ${{ steps.run_ut.outputs.ECI_ID }}
echo ">>> Dmesg info:"
eci exec ${{ steps.run_ut.outputs.ECI_ID }} bash -c "dmesg -T"
eci rm ${{ steps.run_ut.outputs.ECI_ID }}
- name: Upload log
if: always() && (steps.run_ut.outcome == 'success' || steps.run_ut.outcome == 'failure')
uses: actions/upload-artifact@v4
with:
name: FE UT LOG
path: ${{ steps.run_ut.outputs.RES_LOG }}
retention-days: 1
overwrite: true
- name: Download FE UT XML
if: always() && (steps.run_ut.outcome == 'success' || steps.run_ut.outcome == 'failure')
id: download-ut-xml
env:
oss_path: ${{ steps.run_ut.outputs.oss_path }}
run: |
mkdir fe && cd fe
ossutil64 --config-file ~/.ossutilconfig cp ${oss_path}/ . --recursive
tar zxf fe_ut_report.tar.gz
- name: Publish UT Report
uses: mikepenz/action-junit-report@v4
if: always() && (steps.run_ut.outcome == 'success' || steps.run_ut.outcome == 'failure')
id: publish_report
env:
github_token: ${{ secrets.GITHUB_TOKEN }}
token: ${{ secrets.GITHUB_TOKEN }}
with:
check_name: 'FE UT Report'
detailed_summary: true
fail_on_failure: true
report_paths: ./fe/fe-core/target/surefire-reports/*.xml
- name: Clean ENV
if: always() && (steps.run_ut.outcome == 'success' || steps.run_ut.outcome == 'failure')
run: |
rm -rf ${{ steps.run_ut.outputs.FE_REPORT_DIR }}
rm -f ${{ steps.run_ut.outputs.RES_FILE }}
rm -f ${{ steps.run_ut.outputs.RES_LOG }}
rm -rf ${{ steps.run_ut.outputs.COV_DIR }}
rm -rf ${{ github.workspace }}/*
build:
runs-on: [self-hosted, normal]
name: BUILD
needs:
- info
if: github.event_name == 'schedule' || inputs.IS_REBUILD || inputs.WITH_FEATURE_COV == 'true'
continue-on-error: true
strategy:
fail-fast: false
matrix:
build_type: [ Release, ASAN ]
linux: [ centos7, ubuntu ]
env:
BRANCH: ${{ needs.info.outputs.BRANCH }}
PR_NUMBER: ${{ needs.info.outputs.PR_NUMBER }}
ALL_LINUX: ${{ needs.info.outputs.ALL_LINUX }}
WITH_FEATURE_COV: ${{ needs.info.outputs.WITH_FEATURE_COV }}
steps:
- name: CLEAN
run: |
rm -rf ${{ github.workspace }} && mkdir -p ${{ github.workspace }}
- name: UPDATE ECI & RUN BUILD
id: run_build
shell: bash
timeout-minutes: 90
if: (matrix.build_type == 'Release' && matrix.linux == 'ubuntu') || env.ALL_LINUX == 'true'
run: |
if [[ "${WITH_FEATURE_COV}" == "true" ]]; then
export SKIP_SYNC_TAR=true
fi
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull && source lib/init.sh
./bin/elastic-build.sh --repository ${{ github.repository }} --branch ${BRANCH} --pr ${PR_NUMBER} \
--build ${{ matrix.build_type }} --linuxdistro ${{ matrix.linux }} --with-trivy --with-gcov
- name: BUILD RESULT
run: |
echo ${{ steps.run_build.outputs.ABSOLUTE_OUTPUT_TAR }}
echo "Package: ${{ steps.run_build.outputs.ABSOLUTE_OUTPUT_TAR }}" >> $GITHUB_STEP_SUMMARY
echo ${{ steps.run_build.outputs.ABSOLUTE_OUTPUT_TAR }} > tar.txt
- uses: actions/upload-artifact@v4
with:
name: BUILD-RESULT-${{ matrix.build_type }}-${{ matrix.linux }}
path: tar.txt
retention-days: 1
overwrite: true
- name: clean ECI
if: always()
run: |
echo ${{ steps.run_build.outputs.ECI_ID }}
eci rm ${{ steps.run_build.outputs.ECI_ID }}
- name: Clean ENV
if: always()
run: |
rm -f ${{ steps.run_build.outputs.RES_FILE }}
rm -f ${{ steps.run_build.outputs.RES_LOG }}
rm -rf ${{ github.workspace }}
test_filter:
runs-on: [self-hosted, normal]
name: FILTER
needs:
- info
- build
if: always() && needs.info.result == 'success' && needs.build.result != 'cancelled'
env:
ALL_LINUX: needs.info.outputs.ALL_LINUX
outputs:
CENTOS_RELEASE_TAR_PATH: ${{ steps.set_output.outputs.CENTOS_RELEASE_TAR_PATH }}
CENTOS_ASAN_TAR_PATH: ${{ steps.set_output.outputs.CENTOS_ASAN_TAR_PATH }}
UBUNTU_RELEASE_TAR_PATH: ${{ steps.set_output.outputs.UBUNTU_RELEASE_TAR_PATH }}
UBUNTU_ASAN_TAR_PATH: ${{ steps.set_output.outputs.UBUNTU_ASAN_TAR_PATH }}
IS_SELF_BUILD: ${{ steps.set_output.outputs.IS_SELF_BUILD }}
steps:
- name: Clean Workspace
uses: AutoModality/[email protected]
- name: Download Build Artifact
if: github.event_name == 'schedule' || inputs.IS_REBUILD
uses: actions/download-artifact@v4
with:
pattern: BUILD-RESULT-*
path: outputs
- name: Analyse Build Artifact
id: analyse_artifact
if: github.event_name == 'schedule' || inputs.IS_REBUILD
run: |
if [[ -e "./outputs/BUILD-RESULT-Release-centos7/tar.txt" ]]; then
build_result=$(cat "./outputs/BUILD-RESULT-Release-centos7/tar.txt")
echo "CENTOS_RELEASE_TAR_PATH=${build_result}" >> $GITHUB_OUTPUT
else
has_failure=true
fi
if [[ -e "./outputs/BUILD-RESULT-ASAN-centos7/tar.txt" ]]; then
build_result=$(cat "./outputs/BUILD-RESULT-ASAN-centos7/tar.txt")
echo "CENTOS_ASAN_TAR_PATH=${build_result}" >> $GITHUB_OUTPUT
else
has_failure=true
fi
if [[ -e "./outputs/BUILD-RESULT-Release-ubuntu/tar.txt" ]]; then
build_result=$(cat "./outputs/BUILD-RESULT-Release-ubuntu/tar.txt")
echo "UBUNTU_RELEASE_TAR_PATH=${build_result}" >> $GITHUB_OUTPUT
else
has_failure=true
fi
if [[ -e "./outputs/BUILD-RESULT-ASAN-ubuntu/tar.txt" ]]; then
build_result=$(cat "./outputs/BUILD-RESULT-ASAN-ubuntu/tar.txt")
echo "UBUNTU_ASAN_TAR_PATH=${build_result}" >> $GITHUB_OUTPUT
else
has_failure=true
fi
if [[ "${has_failure}" == "true" && "${ALL_LINUX}" == "true" ]]; then
exit 1
fi
- name: SET OUTPUT
id: set_output
if: always()
run: |
if [[ "${{steps.analyse_artifact.outcome}}" == "skipped" ]]; then
echo "CENTOS_RELEASE_TAR_PATH=${{ needs.info.outputs.CENTOS_TAR_PATH }}" >> $GITHUB_OUTPUT
echo "CENTOS_ASAN_TAR_PATH=${{ needs.info.outputs.CENTOS_ASAN_TAR_PATH }}" >> $GITHUB_OUTPUT
echo "UBUNTU_RELEASE_TAR_PATH=${{ needs.info.outputs.UBUNTU_TAR_PATH }}" >> $GITHUB_OUTPUT
echo "UBUNTU_ASAN_TAR_PATH=${{ needs.info.outputs.UBUNTU_ASAN_TAR_PATH }}" >> $GITHUB_OUTPUT
echo "IS_SELF_BUILD=false" >> $GITHUB_OUTPUT
else
echo "CENTOS_RELEASE_TAR_PATH=${{ steps.analyse_artifact.outputs.CENTOS_RELEASE_TAR_PATH }}" >> $GITHUB_OUTPUT
echo "CENTOS_ASAN_TAR_PATH=${{ steps.analyse_artifact.outputs.CENTOS_ASAN_TAR_PATH }}" >> $GITHUB_OUTPUT
echo "UBUNTU_RELEASE_TAR_PATH=${{ steps.analyse_artifact.outputs.UBUNTU_RELEASE_TAR_PATH }}" >> $GITHUB_OUTPUT
echo "UBUNTU_ASAN_TAR_PATH=${{ steps.analyse_artifact.outputs.UBUNTU_ASAN_TAR_PATH }}" >> $GITHUB_OUTPUT
echo "IS_SELF_BUILD=true" >> $GITHUB_OUTPUT
fi
system-test-release:
name: 'Release/Centos'
uses: ./.github/workflows/inspection-reusable-pipeline.yml
needs:
- info
- test_filter
secrets: inherit
if: always() && needs.test_filter.outputs.CENTOS_RELEASE_TAR_PATH != '' && needs.info.outputs.ALL_LINUX == 'true'
with:
BRANCH: ${{ needs.info.outputs.BRANCH }}
COMMIT_ID: ${{ needs.info.outputs.PR_NUMBER }}
TAR_PATH: ${{ needs.test_filter.outputs.CENTOS_RELEASE_TAR_PATH }}
BUILD_TYPE: Release
LINUX_DISTRO: centos7
IS_SELF_BUILD: ${{ needs.test_filter.outputs.IS_SELF_BUILD }}
INCLUDE_ADMIT: ${{ needs.info.outputs.INCLUDE_ADMIT }}
system-test-asan:
name: 'ASAN/Centos'
uses: ./.github/workflows/inspection-reusable-pipeline.yml
needs:
- info
- test_filter
secrets: inherit
if: always() && needs.test_filter.outputs.CENTOS_ASAN_TAR_PATH != '' && needs.info.outputs.ALL_LINUX == 'true'
with:
BRANCH: ${{ needs.info.outputs.BRANCH }}
COMMIT_ID: ${{ needs.info.outputs.PR_NUMBER }}
TAR_PATH: ${{ needs.test_filter.outputs.CENTOS_ASAN_TAR_PATH }}
BUILD_TYPE: ASAN
LINUX_DISTRO: centos7
IS_SELF_BUILD: ${{ needs.test_filter.outputs.IS_SELF_BUILD }}
INCLUDE_ADMIT: ${{ needs.info.outputs.INCLUDE_ADMIT }}
system-test-release-ubuntu:
name: 'Release/Ubuntu'
uses: ./.github/workflows/inspection-reusable-pipeline.yml
needs:
- info
- test_filter
secrets: inherit
if: always() && needs.test_filter.outputs.UBUNTU_RELEASE_TAR_PATH != ''
with:
BRANCH: ${{ needs.info.outputs.BRANCH }}
COMMIT_ID: ${{ needs.info.outputs.PR_NUMBER }}
TAR_PATH: ${{ needs.test_filter.outputs.UBUNTU_RELEASE_TAR_PATH }}
BUILD_TYPE: Release
LINUX_DISTRO: ubuntu
IS_SELF_BUILD: ${{ needs.test_filter.outputs.IS_SELF_BUILD }}
INCLUDE_ADMIT: ${{ needs.info.outputs.INCLUDE_ADMIT }}
WITH_FEATURE_COV: ${{ needs.info.outputs.WITH_FEATURE_COV }}
IS_ARM: ${{ needs.info.outputs.IS_ARM }}
system-test-asan-ubuntu:
name: 'ASAN/Ubuntu'
uses: ./.github/workflows/inspection-reusable-pipeline.yml
needs:
- info
- test_filter
secrets: inherit
if: always() && needs.test_filter.outputs.UBUNTU_ASAN_TAR_PATH != '' && needs.info.outputs.ALL_LINUX == 'true'
with:
BRANCH: ${{ needs.info.outputs.BRANCH }}
COMMIT_ID: ${{ needs.info.outputs.PR_NUMBER }}
TAR_PATH: ${{ needs.test_filter.outputs.UBUNTU_ASAN_TAR_PATH }}
BUILD_TYPE: ASAN
LINUX_DISTRO: ubuntu
IS_SELF_BUILD: ${{ needs.test_filter.outputs.IS_SELF_BUILD }}
INCLUDE_ADMIT: ${{ needs.info.outputs.INCLUDE_ADMIT }}
diff-info:
runs-on: [self-hosted, quick]
if: github.repository == 'StarRocks/starrocks' && needs.info.outputs.WITH_FEATURE_COV == 'true'
name: Gen Diff File
env:
commit_id: ${{ inputs.COMMIT_ID }}
base_commit_id: ${{ inputs.COV_BASE_COMMIT }}
outputs:
DIFF_FILE: ${{ steps.diff.outputs.DIFF_FILE }}
needs:
- info
- be-ut
- fe-ut
- system-test-release-ubuntu
steps:
- name: CLEAN
run: |
rm -rf ${{ github.workspace }} && mkdir -p ${{ github.workspace }}
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: diff
id: diff
run: |
diff_file=${SHARE_PATH}/${base_commit_id}_${commit_id}.diff
git diff ${base_commit_id} ${commit_id} > ${diff_file}
echo "DIFF_FILE=${diff_file}" >> $GITHUB_OUTPUT
FE-COV-REPORT:
uses: ./.github/workflows/inspection-fe-coverage.yml
name: 'FE Coverage'
if: github.repository == 'StarRocks/starrocks' && needs.info.outputs.WITH_FEATURE_COV == 'true'
needs:
- info
- diff-info
secrets: inherit
with:
BRANCH: ${{ needs.info.outputs.BRANCH }}
COMMIT_ID: ${{ needs.info.outputs.PR_NUMBER }}
DIFF_FILE_PATH: ${{ needs.diff-info.outputs.DIFF_FILE }}
BE-COV-REPORT:
uses: ./.github/workflows/inspection-be-coverage.yml
name: 'BE Coverage'
if: github.repository == 'StarRocks/starrocks' && needs.info.outputs.WITH_FEATURE_COV == 'true'
needs:
- info
- diff-info
secrets: inherit
with:
BRANCH: ${{ needs.info.outputs.BRANCH }}
COMMIT_ID: ${{ needs.info.outputs.PR_NUMBER }}
DIFF_FILE_PATH: ${{ needs.diff-info.outputs.DIFF_FILE }}
FEATURE-COV:
runs-on: [ self-hosted, normal ]
name: COV INFO
needs:
- info
- FE-COV-REPORT
- BE-COV-REPORT
env:
GH_TOKEN: ${{ github.token }}
steps:
- name: Prepare Tools
run: |
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull
- name: INFO
run: |
echo "FE_COV_RES_FILE: ${{ needs.FE-COV-REPORT.outputs.FE_COV_RES_FILE }}"
echo "BE_COV_RES_FILE: ${{ needs.BE-COV-REPORT.outputs.BE_COV_RES_FILE }}"
- name: Result
run: |
cd ci-tool/scripts/feature_coverage
./version_cov.sh --repository ${{ github.repository }} --commit ${{ needs.info.outputs.PR_NUMBER }} --head ${{ inputs.COV_BASE_COMMIT }} --redownload --in_runner
Teardown:
runs-on: [self-hosted, normal]
name: Teardown
needs:
- info
- be-ut
- fe-ut
- system-test-release
- system-test-asan
- system-test-release-ubuntu
- system-test-asan-ubuntu
if: always()
env:
BRANCH: ${{ needs.info.outputs.BRANCH }}
PR_NUMBER: ${{ needs.info.outputs.PR_NUMBER }}
GH_TOKEN: ${{ github.token }}
RELEASE_CONF_FILE: ${{ needs.system-test-release.outputs.CONF_FILE }}
ASAN_CONF_FILE: ${{ needs.system-test-asan.outputs.CONF_FILE }}
RELEASE_MYSQL_ECI_ID: ${{ needs.system-test-release.outputs.MYSQL_ECI_ID }}
ASAN_MYSQL_ECI_ID: ${{ needs.system-test-asan.outputs.MYSQL_ECI_ID }}
RELEASE_RESULT: ${{ needs.system-test-release.result }}
ASAN_RESULT: ${{ needs.system-test-asan.result }}
UBUNTU_RELEASE_CONF_FILE: ${{ needs.system-test-release-ubuntu.outputs.CONF_FILE }}
UBUNTU_ASAN_CONF_FILE: ${{ needs.system-test-asan-ubuntu.outputs.CONF_FILE }}
UBUNTU_RELEASE_MYSQL_ECI_ID: ${{ needs.system-test-release-ubuntu.outputs.MYSQL_ECI_ID }}
UBUNTU_ASAN_MYSQL_ECI_ID: ${{ needs.system-test-asan-ubuntu.outputs.MYSQL_ECI_ID }}
UBUNTU_RELEASE_RESULT: ${{ needs.system-test-release-ubuntu.result }}
UBUNTU_ASAN_RESULT: ${{ needs.system-test-asan-ubuntu.result }}
BE_UT_LINUX: ${{ needs.info.outputs.BE_UT_LINUX }}
steps:
- name: init
run: |
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull
- name: save unstable cases
if: always() && (github.event_name == 'schedule' || (github.event_name != 'schedule' && env.BRANCH != 'main'))
run: |
cd ci-tool && source lib/init.sh
./bin/save_unstable_cases.sh
- name: Clean
if: always()
run: |
rm -rf ${{ github.workspace }}/*