diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5f3807ec889..dacd4e7bb01 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,7 +4,7 @@ on: pull_request: branches: [ develop, master ] push: - branches: [ develop ] + branches: [ develop, arm-ci ] paths-ignore: - 'doygen/**' - 'hooks/**' @@ -19,165 +19,21 @@ concurrency: cancel-in-progress: true jobs: - prim-rev: - name: prim and rev tests - runs-on: windows-latest - - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: '3.x' - - uses: r-lib/actions/setup-r@v2 - with: - r-version: 'release' - rtools-version: '44' - - - name: Set path for Rtools44 - if: runner.os == 'Windows' - run: echo "C:/rtools44/usr/bin;C:/rtools44/x86_64-w64-mingw32.static.posix/bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 - - - name: Build Math libs - shell: powershell - run: | - make -f make/standalone math-libs -j2 - - name: Add TBB to PATH - shell: powershell - run: echo "D:/a/math/math/lib/tbb" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 - - name: Run prim and rev unit tests - shell: powershell - run: | - python.exe runTests.py -j2 test/unit/*_test.cpp - python.exe runTests.py -j2 test/unit/math/*_test.cpp - python.exe runTests.py -j2 test/unit/math/prim - python.exe runTests.py -j2 test/unit/math/rev - python.exe runTests.py -j2 test/unit/math/memory - - - name: Upload gtest_output xml - uses: actions/upload-artifact@v4 - if: failure() - with: - name: gtest_outputs_xml - path: '**/*_test.xml' - - fwd-non-fun-mix: - name: fwd tests and non-fun mix tests - runs-on: windows-latest - - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: '3.x' - - uses: r-lib/actions/setup-r@v2 - with: - r-version: 'release' - rtools-version: '44' - - - name: Set path for Rtools44 - if: runner.os == 'Windows' - run: echo "C:/rtools44/usr/bin;C:/rtools44/x86_64-w64-mingw32.static.posix/bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 - - - name: Build Math libs - shell: powershell - run: | - make -f make/standalone math-libs -j2 - - name: Add TBB to PATH - shell: powershell - run: echo "D:/a/math/math/lib/tbb" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 - - name: Disable running fwd/mix tests - shell: powershell - run: echo "CXXFLAGS+= -DSTAN_MATH_TESTS_REV_ONLY" | Out-File -Append -FilePath make/local -Encoding utf8 - - name: Run fwd unit tests and all the mix tests except those in mix/fun - shell: powershell - run: | - python.exe runTests.py test/unit/math/fwd -j2 - python.exe runTests.py test/unit/math/mix/core -j2 - python.exe runTests.py test/unit/math/mix/functor -j2 - python.exe runTests.py test/unit/math/mix/meta -j2 - python.exe runTests.py test/unit/math/mix/prob -j2 - python.exe runTests.py test/unit/math/mix/*_test.cpp -j2 - - - name: Upload gtest_output xml - uses: actions/upload-artifact@v4 - if: failure() - with: - name: gtest_outputs_xml - path: '**/*_test.xml' - mix-fun-1: name: mix/fun tests 1 - runs-on: windows-latest + runs-on: ubuntu-24.04-arm steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: '3.x' - - uses: r-lib/actions/setup-r@v2 - with: - r-version: 'release' - rtools-version: '44' - - - name: Set path for Rtools44 - if: runner.os == 'Windows' - run: echo "C:/rtools44/usr/bin;C:/rtools44/x86_64-w64-mingw32.static.posix/bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 - - - name: Build Math libs - shell: powershell - run: | - make -f make/standalone math-libs -j2 - - name: Add TBB to PATH - shell: powershell - run: echo "D:/a/math/math/lib/tbb" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 - - name: Run mix/fun unit tests - shell: powershell - run: | - $MixFunTests = Get-ChildItem -Path test\unit\math\mix\fun\* -Include *.cpp | Resolve-Path -Relative - $NumberTests = $MixFunTests.Length - $HalfNumberTests = [math]::Floor($NumberTests / 2) - python.exe runTests.py $MixFunTests[0..$HalfNumberTests] - - - name: Upload gtest_output xml - uses: actions/upload-artifact@v4 - if: failure() - with: - name: gtest_outputs_xml - path: '**/*_test.xml' - - mix-fun-2: - name: mix/fun tests 2 - runs-on: windows-latest - - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: '3.x' - - uses: r-lib/actions/setup-r@v2 - with: - r-version: 'release' - rtools-version: '44' - - - name: Set path for Rtools44 - if: runner.os == 'Windows' - run: echo "C:/rtools44/usr/bin;C:/rtools44/x86_64-w64-mingw32.static.posix/bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 - - name: Build Math libs - shell: powershell run: | - Add-Content make\local "O=1`n" make -f make/standalone math-libs -j2 - - name: Add TBB to PATH - shell: powershell - run: echo "D:/a/math/math/lib/tbb" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 - name: Run mix/fun unit tests - shell: powershell run: | - $MixFunTests = Get-ChildItem -Path test\unit\math\mix\fun\* -Include *.cpp | Resolve-Path -Relative - $NumberTests = $MixFunTests.Length - $HalfNumberTests = [math]::Floor($NumberTests / 2) - python.exe runTests.py $MixFunTests[($HalfNumberTests + 1)..($NumberTests - 1)] + python runTests.py -j4 test/unit/math/mix/fun - name: Upload gtest_output xml uses: actions/upload-artifact@v4