diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 88f84e2..168f9bb 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -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