Rework CI so tests run on parallel

This commit is contained in:
angie 2024-04-11 11:45:54 -04:00
parent 4f1d6c6f9f
commit db27edba33

View File

@ -5,21 +5,161 @@ on: [push, pull_request]
jobs:
build_repo:
name: Build repo and run tests
name: Build repo
runs-on: ubuntu-latest
steps:
- name: Checkout reposistory
uses: actions/checkout@v4
- name: Checkout reposistory
uses: actions/checkout@v4
- name: make
run: make -j $(nproc) WERROR=1
- name: make
run: make -j $(nproc) WERROR=1
- name: Run build info checks
run: ./tests/run_build_info_checks.sh
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
path: build/
- name: Run logic checks
run: ./tests/run_logic_checks.sh
build_info_checks:
name: Test - build_info_checks
needs: [build_repo]
runs-on: ubuntu-latest
- name: Run instruction checks
run: ./tests/run_instruction_checks.sh
steps:
- name: Checkout reposistory
uses: actions/checkout@v4
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: artifact
path: build/
- name: Run build info checks
run: ./tests/run_build_info_checks.sh
logic_checks:
name: Test - logic_checks
needs: [build_repo]
runs-on: ubuntu-latest
steps:
- name: Checkout reposistory
uses: actions/checkout@v4
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: artifact
path: build/
- name: Run logic checks
run: ./tests/run_logic_checks.sh
instruction_checks_all:
name: Test - instruction_checks_all
needs: [build_repo]
runs-on: ubuntu-latest
steps:
- name: Checkout reposistory
uses: actions/checkout@v4
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: artifact
path: build/
- name: Run instruction checks
run: ./tests/run_instruction_checks.sh
instruction_checks_jalr:
name: Test - instruction_checks_jalr
needs: [build_repo]
runs-on: ubuntu-latest
steps:
- name: Checkout reposistory
uses: actions/checkout@v4
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: artifact
path: build/
- name: Run instruction check - jalr
run: ./build/tests/c/instruction_checks/jalr.elf
instruction_checks_plain_disassembly:
name: Test - instruction_checks_plain_disassembly
needs: [build_repo]
runs-on: ubuntu-latest
steps:
- name: Checkout reposistory
uses: actions/checkout@v4
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: artifact
path: build/
- name: Run instruction check - plain_disassembly
run: ./build/tests/c/instruction_checks/plain_disassembly.elf
instruction_checks_r3000gte_disasm:
name: Test - instruction_checks_r3000gte_disasm
needs: [build_repo]
runs-on: ubuntu-latest
steps:
- name: Checkout reposistory
uses: actions/checkout@v4
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: artifact
path: build/
- name: Run instruction check - r3000gte_disasm
run: ./build/tests/c/instruction_checks/r3000gte_disasm.elf
instruction_checks_r5900_trunc_cvt:
name: Test - instruction_checks_r5900_trunc_cvt
needs: [build_repo]
runs-on: ubuntu-latest
steps:
- name: Checkout reposistory
uses: actions/checkout@v4
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: artifact
path: build/
- name: Run instruction check - r5900_trunc_cvt
run: ./build/tests/c/instruction_checks/r5900_trunc_cvt.elf
instruction_checks_r5900_vcallms:
name: Test - instruction_checks_r5900_vcallms
needs: [build_repo]
runs-on: ubuntu-latest
steps:
- name: Checkout reposistory
uses: actions/checkout@v4
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: artifact
path: build/
- name: Run instruction check - r5900_vcallms
run: ./build/tests/c/instruction_checks/r5900_vcallms.elf