scheduler: add conflict detect for grant hot leader scheduler (#4903) #21989
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: PD Test | |
on: | |
push: | |
branches: | |
- master | |
- release-4.0 | |
- release-5.* | |
- release-6.* | |
- release-7.* | |
- release-8.* | |
pull_request: | |
branches: | |
- master | |
- release-4.0 | |
- release-5.* | |
- release-6.* | |
- release-7.* | |
- release-8.* | |
concurrency: | |
group: ${{ github.ref }}-${{ github.workflow }} | |
cancel-in-progress: true | |
jobs: | |
chunks: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
include: | |
- worker_id: 1 | |
name: 'Unit Test(1)' | |
- worker_id: 2 | |
name: 'Unit Test(2)' | |
- worker_id: 3 | |
name: 'Unit Test(3)' | |
- worker_id: 4 | |
name: 'Tests(1)' | |
- worker_id: 5 | |
name: 'Tests(2)' | |
- worker_id: 6 | |
name: 'Tools Test' | |
- worker_id: 7 | |
name: 'Client Integration Test' | |
- worker_id: 8 | |
name: 'TSO Integration Test' | |
- worker_id: 9 | |
name: 'MicroService Integration(!TSO)' | |
- worker_id: 10 | |
name: 'MicroService Integration(TSO)' | |
outputs: | |
job-total: 10 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.21' | |
- name: ${{ matrix.name }} | |
env: | |
WORKER_ID: ${{ matrix.worker_id }} | |
run: | | |
make ci-test-job JOB_INDEX=$WORKER_ID | |
mv covprofile covprofile_$WORKER_ID | |
if [ -f junitfile ]; then | |
cat junitfile | |
fi | |
- name: Upload coverage result ${{ matrix.worker_id }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: cover-reports-${{ matrix.worker_id }} | |
path: covprofile_${{ matrix.worker_id }} | |
report-coverage: | |
needs: chunks | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Download chunk report | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: cover-reports-* | |
merge-multiple: true | |
- name: Merge | |
env: | |
TOTAL_JOBS: ${{needs.chunks.outputs.job-total}} | |
run: | | |
for i in $(seq 1 $TOTAL_JOBS); do cat covprofile_$i >> covprofile; done | |
sed -i "/failpoint_binding/d" covprofile | |
# only keep the first line(`mode: aomic`) of the coverage profile | |
sed -i '2,${/mode: atomic/d;}' covprofile | |
- name: Send coverage | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV }} | |
file: ./covprofile | |
flags: unittests | |
name: codecov-umbrella |