2024-03-24 17:01:34 +01:00
|
|
|
name: Run architectural test suite on backends
|
2024-03-24 15:58:38 +01:00
|
|
|
on: push
|
|
|
|
jobs:
|
2024-03-24 17:59:36 +01:00
|
|
|
build_and_test_job:
|
2024-03-24 18:00:41 +01:00
|
|
|
name: Build ISS, Setup TGC-COMPLIANCE, Run tests on backends
|
2024-03-24 15:58:38 +01:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
container:
|
|
|
|
image: git.minres.com/tooling/riscof_sail:latest
|
2024-04-22 18:49:03 +02:00
|
|
|
valid_volumes:
|
|
|
|
- act-runtime
|
2024-04-22 17:12:20 +02:00
|
|
|
volumes:
|
|
|
|
- act-runtime:/mnt/act-runtime
|
2024-03-24 15:58:38 +01:00
|
|
|
steps:
|
2024-04-22 18:24:04 +02:00
|
|
|
- name: Checkout repository code
|
2024-03-24 15:58:38 +01:00
|
|
|
run: git clone --recursive -b ${{gitea.ref_name}} https://git.minres.com/TGFS/TGC-ISS.git
|
2024-03-24 17:01:34 +01:00
|
|
|
|
2024-03-24 15:58:38 +01:00
|
|
|
- name: Checkout TGC-COMPLIANCE
|
|
|
|
run: |
|
|
|
|
echo "${{ secrets.ACTRUNNER_PRIVATE_SSHKEY }}" > ssh_key
|
|
|
|
chmod 600 ssh_key
|
|
|
|
git clone --recursive -c core.sshCommand="/usr/bin/ssh -i ssh_key -o StrictHostKeyChecking=accept-new" ssh://git@git.minres.com:2221/TGFS/TGC-COMPLIANCE.git
|
2024-03-24 17:01:34 +01:00
|
|
|
|
2024-03-24 15:58:38 +01:00
|
|
|
- name: Build tgc-sim executable
|
|
|
|
run: |
|
2024-03-24 17:33:23 +01:00
|
|
|
conan profile new --detect --force default
|
2024-03-24 17:29:17 +01:00
|
|
|
cmake -S TGC-ISS -B TGC-ISS/build -DCMAKE_BUILD_TYPE=Debug -DWITH_ASMJIT=ON -DWITH_TCC=ON -DWITH_LLVM=OFF
|
2024-03-24 15:58:38 +01:00
|
|
|
cmake --build TGC-ISS/build -j24
|
2024-03-24 17:06:56 +01:00
|
|
|
|
2024-03-24 17:59:36 +01:00
|
|
|
- name: Test interp backend
|
2024-04-22 19:45:17 +02:00
|
|
|
continue-on-error: true
|
2024-04-22 19:56:07 +02:00
|
|
|
id: interp
|
2024-03-24 18:21:23 +01:00
|
|
|
run: |
|
|
|
|
mkdir interp
|
|
|
|
python3 TGC-COMPLIANCE/run_act.py -core TGC5C -sim TGC-ISS/build/dbt-rise-tgc/tgc-sim -w interp --dockerless --backend interp
|
2024-03-24 17:06:56 +01:00
|
|
|
|
2024-03-24 17:59:36 +01:00
|
|
|
- name: Test llvm backend
|
2024-04-22 19:45:17 +02:00
|
|
|
continue-on-error: true
|
2024-04-22 19:56:07 +02:00
|
|
|
id: llvm
|
2024-03-24 18:21:23 +01:00
|
|
|
run: |
|
|
|
|
mkdir llvm
|
|
|
|
echo "llvm takes too long to build, so it is skipped"
|
2024-04-22 18:32:59 +02:00
|
|
|
exit 1
|
2024-03-24 18:21:23 +01:00
|
|
|
##run: python3 TGC-COMPLIANCE/run_act.py -core TGC5C -sim TGC-ISS/build/dbt-rise-tgc/tgc-sim -w llvm --dockerless --backend llvm
|
2024-03-24 17:06:56 +01:00
|
|
|
|
2024-03-24 17:59:36 +01:00
|
|
|
- name: Test tcc backend
|
2024-04-22 19:45:17 +02:00
|
|
|
continue-on-error: true
|
2024-04-22 19:56:07 +02:00
|
|
|
id: tcc
|
2024-03-24 18:21:23 +01:00
|
|
|
run: |
|
|
|
|
mkdir tcc
|
|
|
|
python3 TGC-COMPLIANCE/run_act.py -core TGC5C -sim TGC-ISS/build/dbt-rise-tgc/tgc-sim -w tcc --dockerless --backend tcc
|
2024-03-24 17:29:17 +01:00
|
|
|
|
2024-03-24 17:59:36 +01:00
|
|
|
- name: Test asmjit backend
|
2024-04-22 19:45:17 +02:00
|
|
|
continue-on-error: true
|
2024-04-22 19:56:07 +02:00
|
|
|
id: asmjit
|
2024-03-24 18:21:23 +01:00
|
|
|
run: |
|
|
|
|
mkdir asmjit
|
2024-04-22 19:45:17 +02:00
|
|
|
python3 TGC-COMPLIANCE/run_act.py -core TGC5C -sim TGC-ISS/build/dbt-rise-tgc/tgc-sim -w asmjit --dockerless --backend asmjit
|
2024-04-22 20:36:03 +02:00
|
|
|
|
|
|
|
- name: Indicate Failure
|
|
|
|
run: |
|
2024-04-22 20:36:50 +02:00
|
|
|
echo ${{ failure() }}
|
|
|
|
echo "Failure detected"
|
|
|
|
exit ${{ failure() }}
|
2024-04-22 20:36:03 +02:00
|
|
|
|
2024-04-22 20:20:55 +02:00
|
|
|
- name: Indicate Failure 2
|
2024-04-22 20:19:18 +02:00
|
|
|
if: ${{ failure() }}
|
2024-04-22 20:36:03 +02:00
|
|
|
run: echo "Failure detected"
|
|
|
|
|
|
|
|
- name: Indicate Failure 3
|
|
|
|
if: steps.tcc.outcome != 'success'
|
|
|
|
run: echo "Failure detected"
|