Skip to content

Commit ddb380f

Browse files
committed
CI tests
1 parent 3973387 commit ddb380f

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

.github/workflows/builds.yaml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: Build and Test CmdStan
2+
3+
on:
4+
pull_request:
5+
branches: [ develop, master ]
6+
push:
7+
branches: [ develop, workflow-test ]
8+
permissions:
9+
contents: read
10+
concurrency:
11+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
12+
cancel-in-progress: true
13+
14+
jobs:
15+
prim-rev:
16+
name: ${{ matrix.os }} tests
17+
runs-on: ${{ matrix.os }}
18+
strategy:
19+
fail-fast: false
20+
matrix:
21+
os: [
22+
windows-11-arm,
23+
windows-latest,
24+
ubuntu-24.04-arm,
25+
ubuntu-latest,
26+
macos-latest,
27+
macos-13
28+
]
29+
30+
steps:
31+
- uses: actions/checkout@v4
32+
- uses: actions/setup-python@v5
33+
with:
34+
python-version: '3.x'
35+
36+
- name: Download and Install Rtools45
37+
if: runner.os == 'Windows'
38+
run: |
39+
$ARCH = if ('${{ matrix.os }}' -eq 'windows-11-arm') { 'aarch64' } else { 'x86_64' }
40+
$RTOOLS = if ('${{ matrix.os }}' -eq 'windows-11-arm') { "rtools45-$ARCH" } else { 'rtools45' }
41+
42+
# Installation will hang if the toolchain is already installed
43+
if (-Not $(Test-Path -Path "C:/$RTOOLS")) {
44+
Invoke-WebRequest `
45+
-Uri https://github.com/r-hub/rtools45/releases/download/latest/$RTOOLS.exe `
46+
-OutFile "$RTOOLS.exe"
47+
Start-Process -FilePath "$RTOOLS.exe" -ArgumentList "/INSTALL /VERYSILENT /SUPPRESSMSGBOXES" -Wait
48+
}
49+
50+
echo "C:/$RTOOLS/usr/bin;C:/$RTOOLS/$ARCH-w64-mingw32.static.posix/bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
51+
echo "$(pwd)/lib/tbb" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
52+
53+
- name: Build libs
54+
run: |
55+
echo "CPPFLAGS=-w -Wno-psabi -Wno-misleading-indentation\n" >> make\local
56+
echo "STAN_THREADS=true\n" >> make\local
57+
make -j2 build
58+
59+
- name: Run unit tests
60+
shell: pwsh
61+
run: |
62+
python runCmdStanTests.py -j2 src/test/interface

0 commit comments

Comments
 (0)