Skip to content

Commit 6c6447f

Browse files
authored
Add regression test CI (#4512)
The entire CI test run takes approximately 3 minutes. The test run fails if there is at least one failed case (failed > 0).
1 parent 2685f2c commit 6c6447f

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed

.github/workflows/compilation_on_android_ubuntu.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,47 @@ jobs:
371371
ctest
372372
working-directory: tests/unit
373373

374+
build_regression_tests:
375+
needs:
376+
[build_llvm_libraries_on_ubuntu_2204]
377+
runs-on: ${{ matrix.os }}
378+
strategy:
379+
matrix:
380+
os: [ubuntu-22.04]
381+
include:
382+
- os: ubuntu-22.04
383+
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }}
384+
385+
steps:
386+
- name: checkout
387+
uses: actions/checkout@v4
388+
389+
- name: Get LLVM libraries
390+
id: retrieve_llvm_libs
391+
uses: actions/cache@v4
392+
with:
393+
path: |
394+
./core/deps/llvm/build/bin
395+
./core/deps/llvm/build/include
396+
./core/deps/llvm/build/lib
397+
./core/deps/llvm/build/libexec
398+
./core/deps/llvm/build/share
399+
key: ${{ matrix.llvm_cache_key }}
400+
401+
- name: Quit if cache miss
402+
if: (steps.retrieve_llvm_libs.outputs.cache-hit != 'true')
403+
run: echo "::error::can not get prebuilt llvm libraries" && exit 1
404+
405+
- name: Build wamrc and iwasm
406+
run: |
407+
./build_wamr.sh
408+
working-directory: tests/regression/ba-issues
409+
410+
- name: Run regression tests
411+
run: |
412+
python run.py
413+
working-directory: tests/regression/ba-issues
414+
374415
build_samples_wasm_c_api:
375416
needs:
376417
[

tests/regression/ba-issues/run.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import glob
1212
import re
1313
import argparse
14+
import sys
1415

1516
from typing import Dict, Optional, List
1617

@@ -275,6 +276,11 @@ def process_and_run_test_cases(
275276
else:
276277
print(f" Issues not found in folder: {format_issue_ids_should_test}")
277278

279+
if failed > 0:
280+
# Exit with error code if there are failed test for CI
281+
print("Some tests failed, see log file for details.")
282+
sys.exit(1)
283+
278284

279285
def main():
280286
parser = argparse.ArgumentParser(description="Run BA issue tests.")

0 commit comments

Comments
 (0)