name: Hostrunner tests on: push: branches: - main pull_request: branches: - main env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) BUILD_TYPE: Release CC: clang CXX: clang++ FEX_PORTABLE: 1 jobs: hostrunner_tests: runs-on: ${{ matrix.arch }} strategy: matrix: arch: [[self-hosted, x64]] fail-fast: false steps: - uses: actions/checkout@v6 with: fetch-depth: '0' fetch-tags: 'true' - name: Set runner info run: | echo "runner_label=${{ matrix.arch[1] }}" >> $GITHUB_ENV echo "runner_name=$(hostname)" >> $GITHUB_ENV - name: Setup Build Environment uses: ./.github/workflows/setup-env - name: Configure CMake run: | cmake -S . -B build -DCMAKE_BUILD_TYPE=$BUILD_TYPE -G Ninja -DENABLE_LTO=False \ -DENABLE_ASSERTIONS=True -DENABLE_X86_HOST_DEBUG=True # These steps make a lot of noise but rarely fail. # Put them in a separate step to make normal build logs easier to parse - name: Noisy Build Targets run: cmake --build build --target asm_files 32bit_asm_files JemallocLibs Catch2 vixl cephes_128bit - name: Build run: cmake --build build # ASM tests - name: ASM Tests if: ${{ always() }} uses: ./.github/workflows/test with: target: asm_tests - name: Upload results if: ${{ always() }} uses: actions/upload-artifact@v6 timeout-minutes: 1 with: name: Results-${{ env.runner_name }}-${{ env.runner_label }} path: results/*.log retention-days: 3