-
Notifications
You must be signed in to change notification settings - Fork 421
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci: export code coverage information
Signed-off-by: Songqian Li <sionli@tencent.com>
- Loading branch information
Songqian Li
committed
Jun 12, 2024
1 parent
2847483
commit fadf7fc
Showing
2 changed files
with
71 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
output-type: lcov | ||
output-path: ./lcov.info | ||
ignore: | ||
- "/tests" |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
name: Code cov for (x86-64) | ||
on: [push, pull_request] | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
env: | ||
CARGO_INCREMENTAL: '0' | ||
RUSTFLAGS: "-Cinstrument-coverage" | ||
LLVM_PROFILE_FILE: "ch-%p-%m.profraw" | ||
|
||
jobs: | ||
build: | ||
timeout-minutes: 60 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
runner: ['garm-jammy', "garm-jammy-amd"] | ||
libc: ["musl", 'gnu'] | ||
name: Tests (x86-64) | ||
runs-on: ${{ github.event_name == 'pull_request' && !(matrix.runner == 'garm-jammy' && matrix.libc == 'gnu') && 'ubuntu-latest' || format('{0}-16', matrix.runner) }} | ||
steps: | ||
- name: Code checkout | ||
if: ${{ github.event_name != 'pull_request' || (matrix.runner == 'garm-jammy' && matrix.libc == 'gnu') }} | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- name: Install Docker | ||
if: ${{ github.event_name != 'pull_request' || (matrix.runner == 'garm-jammy' && matrix.libc == 'gnu') }} | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get -y install ca-certificates curl gnupg | ||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg | ||
sudo chmod a+r /usr/share/keyrings/docker-archive-keyring.gpg | ||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null | ||
sudo apt-get update | ||
sudo apt install -y docker-ce docker-ce-cli | ||
- name: Prepare for VDPA | ||
if: ${{ github.event_name != 'pull_request' || (matrix.runner == 'garm-jammy' && matrix.libc == 'gnu') }} | ||
run: scripts/prepare_vdpa.sh | ||
- name: Run unit tests | ||
if: ${{ github.event_name != 'pull_request' || (matrix.runner == 'garm-jammy' && matrix.libc == 'gnu') }} | ||
run: scripts/dev_cli.sh tests --unit --libc ${{ matrix.libc }} | ||
- name: Load openvswitch module | ||
if: ${{ github.event_name != 'pull_request' || (matrix.runner == 'garm-jammy' && matrix.libc == 'gnu') }} | ||
run: sudo modprobe openvswitch | ||
- name: Run integration tests | ||
if: ${{ github.event_name != 'pull_request' || (matrix.runner == 'garm-jammy' && matrix.libc == 'gnu') }} | ||
timeout-minutes: 40 | ||
run: scripts/dev_cli.sh tests --integration --libc ${{ matrix.libc }} | ||
- name: Run live-migration integration tests | ||
if: ${{ github.event_name != 'pull_request' || (matrix.runner == 'garm-jammy' && matrix.libc == 'gnu') }} | ||
timeout-minutes: 20 | ||
run: scripts/dev_cli.sh tests --integration-live-migration --libc ${{ matrix.libc }} | ||
- name: Run Grcov | ||
if: ${{ github.event_name != 'pull_request' || (matrix.runner == 'garm-jammy' && matrix.libc == 'gnu') }} | ||
uses: actions-rs/grcov@v0.1 | ||
with: | ||
config: .github//grcov.yml | ||
- name: Upload coverage reports to Codecov | ||
if: ${{ github.event_name != 'pull_request' || (matrix.runner == 'garm-jammy' && matrix.libc == 'gnu') }} | ||
uses: codecov/codecov-action@v4 | ||
with: | ||
token: ${{ secrets.CODECOV_TOKEN }} | ||
- name: Skipping build for PR | ||
if: ${{ github.event_name == 'pull_request' && matrix.runner != 'garm-jammy' && matrix.libc != 'gnu' }} | ||
run: echo "Skipping build for PR" |