diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml index bfe7482534..e5f0fb3bf8 100644 --- a/.github/workflows/builds.yml +++ b/.github/workflows/builds.yml @@ -168,6 +168,108 @@ jobs: with: name: macos-build-artifact path: bin + + windows-unit-testing: + strategy: + matrix: + optimization: [0,1,2,3,4,5,6,7,8,9] + fail-fast: false + name: Windows - Unit Test -o${{ matrix.optimization }} + runs-on: windows-latest + timeout-minutes: 15 + needs: windows-build + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive + - name: Download Build Artifact + uses: actions/download-artifact@v4 + with: + name: windows-build-artifact + path: bin + - name: Make Artifact Folder + run: mkdir artifact + - name: Unit Test + run: bin\Mosa.Utility.UnitTests.exe -check -o${{ matrix.optimization }} -counters artifact\windows-counters-unittests-o${{ matrix.optimization }}.txt + - name: Store Counter Artifact + uses: actions/upload-artifact@v4 + with: + name: windows-counters-unittests-o${{ matrix.optimization }} + path: artifact + + linux-unit-testing: + strategy: + matrix: + optimization: [0,1,2,3,4,5,6,7,8,9] + fail-fast: false + name: Linux - Unit Test -o${{ matrix.optimization }} + runs-on: ubuntu-latest + timeout-minutes: 15 + needs: linux-build + steps: + - name: Set net8.0 + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '8.0.x' + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive + - name: Download Build Artifact + uses: actions/download-artifact@v4 + with: + name: linux-build-artifact + path: bin + - name: Update Package Respository + run: sudo apt-get -y -o Acquire::Check-Valid-Until=false update + - name: Install Qemu and Dependencies + run: sudo apt-get -y -o Acquire::Retries=5 install qemu-system-x86 + - name: Make Artifact Folder + run: mkdir artifact + - name: Perform Unit Testing + run: dotnet bin/Mosa.Utility.UnitTests.dll -check -o${{ matrix.optimization }} -counters artifact/linux-counters-unittests-o${{ matrix.optimization }}.txt + - name: Store Counter Artifact + uses: actions/upload-artifact@v4 + with: + name: linux-counters-unittests-o${{ matrix.optimization }} + path: artifact + + macos-unit-testing: + strategy: + matrix: + optimization: [0,1,2,3,4,5,6,7,8,9] + fail-fast: false + name: MacOS - Unit Test -o${{ matrix.optimization }} + runs-on: macos-13 + timeout-minutes: 15 + needs: macos-build + steps: + - name: Set net8.0 + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '8.0.x' + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive + - name: Download Build Artifact + uses: actions/download-artifact@v4 + with: + name: macos-build-artifact + path: bin + - name: Install Qemu + run: brew install qemu + - name: Make Artifact Folder + run: mkdir artifact + - name: Unit Test + run: dotnet bin/Mosa.Utility.UnitTests.dll -check -o${{ matrix.optimization }} -counters artifact/macos-counters-unittests-o${{ matrix.optimization }}.txt + - name: Store Counter Artifact + uses: actions/upload-artifact@v4 + with: + name: macos-counters-unittests-o${{ matrix.optimization }} + path: artifact + windows-demo-testing: strategy: matrix: diff --git a/.github/workflows/unitests.yml b/.github/workflows/unitests.yml deleted file mode 100644 index 4efcbe8e0a..0000000000 --- a/.github/workflows/unitests.yml +++ /dev/null @@ -1,118 +0,0 @@ -name: Builds - -on: - push: - paths-ignore: - - 'Source/Docs/**' - pull_request: - paths-ignore: - - 'Source/Docs/**' - -permissions: - contents: write - -env: - BUILD_VERSION: 2.6.0.${{ github.run_number }} - -jobs: - - windows-unit-testing: - strategy: - matrix: - optimization: [0,1,2,3,4,5,6,7,8,9] - fail-fast: false - name: Windows - Unit Test -o${{ matrix.optimization }} - runs-on: windows-latest - timeout-minutes: 15 - needs: windows-build - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - submodules: recursive - - name: Download Build Artifact - uses: actions/download-artifact@v4 - with: - name: windows-build-artifact - path: bin - - name: Make Artifact Folder - run: mkdir artifact - - name: Unit Test - run: bin\Mosa.Utility.UnitTests.exe -check -o${{ matrix.optimization }} -counters artifact\windows-counters-unittests-o${{ matrix.optimization }}.txt - - name: Store Counter Artifact - uses: actions/upload-artifact@v4 - with: - name: windows-counters-unittests-o${{ matrix.optimization }} - path: artifact - - linux-unit-testing: - strategy: - matrix: - optimization: [0,1,2,3,4,5,6,7,8,9] - fail-fast: false - name: Linux - Unit Test -o${{ matrix.optimization }} - runs-on: ubuntu-latest - timeout-minutes: 15 - needs: linux-build - steps: - - name: Set net8.0 - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '8.0.x' - - name: Checkout - uses: actions/checkout@v4 - with: - submodules: recursive - - name: Download Build Artifact - uses: actions/download-artifact@v4 - with: - name: linux-build-artifact - path: bin - - name: Update Package Respository - run: sudo apt-get -y -o Acquire::Check-Valid-Until=false update - - name: Install Qemu and Dependencies - run: sudo apt-get -y -o Acquire::Retries=5 install qemu-system-x86 - - name: Make Artifact Folder - run: mkdir artifact - - name: Perform Unit Testing - run: dotnet bin/Mosa.Utility.UnitTests.dll -check -o${{ matrix.optimization }} -counters artifact/linux-counters-unittests-o${{ matrix.optimization }}.txt - - name: Store Counter Artifact - uses: actions/upload-artifact@v4 - with: - name: linux-counters-unittests-o${{ matrix.optimization }} - path: artifact - - macos-unit-testing: - strategy: - matrix: - optimization: [0,1,2,3,4,5,6,7,8,9] - fail-fast: false - name: MacOS - Unit Test -o${{ matrix.optimization }} - runs-on: macos-13 - timeout-minutes: 15 - needs: macos-build - steps: - - name: Set net8.0 - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '8.0.x' - - name: Checkout - uses: actions/checkout@v4 - with: - submodules: recursive - - name: Download Build Artifact - uses: actions/download-artifact@v4 - with: - name: macos-build-artifact - path: bin - - name: Install Qemu - run: brew install qemu - - name: Make Artifact Folder - run: mkdir artifact - - name: Unit Test - run: dotnet bin/Mosa.Utility.UnitTests.dll -check -o${{ matrix.optimization }} -counters artifact/macos-counters-unittests-o${{ matrix.optimization }}.txt - - name: Store Counter Artifact - uses: actions/upload-artifact@v4 - with: - name: macos-counters-unittests-o${{ matrix.optimization }} - path: artifact