Skip to content

Commit 35b66b6

Browse files
committed
Add GHA BSD.
Cirru-sCI is gone. This adds equivalent FreeBSD testing with GHA and VMs as a replacement.
1 parent eee99b2 commit 35b66b6

1 file changed

Lines changed: 170 additions & 0 deletions

File tree

.github/workflows/bsd.yml

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
# Copyright 2023 Nikita Kniazev
2+
#
3+
# Use, modification, and distribution are subject to the
4+
# Boost Software License, Version 1.0. (See accompanying file LICENSE.txt)
5+
6+
name: "BSD"
7+
8+
on:
9+
push:
10+
paths-ignore: &ignore_paths
11+
- ".circleci/**"
12+
- ".drone.star"
13+
- ".semaphore/**"
14+
- ".travis.yml"
15+
- "appveyor.yml"
16+
- "azure-pipelines.yml"
17+
- ".ci/azp-*.yml"
18+
pull_request:
19+
paths-ignore: *ignore_paths
20+
21+
jobs:
22+
BSD:
23+
runs-on: ubuntu-latest
24+
strategy:
25+
fail-fast: false
26+
matrix:
27+
include:
28+
- {
29+
name: "FreeBSD, GCC 15",
30+
toolset: gcc,
31+
test_toolset: gcc,
32+
cxx: "g++15",
33+
package: "lang/gcc15",
34+
}
35+
- {
36+
name: "FreeBSD, GCC 14",
37+
toolset: gcc,
38+
test_toolset: gcc,
39+
cxx: "g++14",
40+
package: "lang/gcc14",
41+
}
42+
- {
43+
name: "FreeBSD, GCC 13",
44+
toolset: gcc,
45+
test_toolset: gcc,
46+
cxx: "g++13",
47+
package: "gcc13",
48+
}
49+
- {
50+
name: "FreeBSD, GCC 12",
51+
toolset: gcc,
52+
test_toolset: gcc,
53+
cxx: "g++12",
54+
package: "gcc12",
55+
}
56+
- {
57+
name: "FreeBSD, Clang 21",
58+
toolset: clang,
59+
test_toolset: clang,
60+
cxx: "clang++21",
61+
package: "devel/llvm21",
62+
}
63+
- {
64+
name: "FreeBSD, Clang 20",
65+
toolset: clang,
66+
test_toolset: clang,
67+
cxx: "clang++20",
68+
package: "devel/llvm20",
69+
}
70+
- {
71+
name: "FreeBSD, Clang 19",
72+
toolset: clang,
73+
test_toolset: clang,
74+
cxx: "clang++19",
75+
package: "devel/llvm19",
76+
}
77+
- {
78+
name: "FreeBSD, Clang 18",
79+
toolset: clang,
80+
test_toolset: clang,
81+
cxx: "clang++18",
82+
package: "devel/llvm18",
83+
}
84+
- {
85+
name: "FreeBSD, Clang 17",
86+
toolset: clang,
87+
test_toolset: clang,
88+
cxx: "clang++17",
89+
package: "devel/llvm17",
90+
}
91+
- {
92+
name: "FreeBSD, Clang 16",
93+
toolset: clang,
94+
test_toolset: clang,
95+
cxx: "clang++16",
96+
package: "devel/llvm16",
97+
}
98+
- {
99+
name: "FreeBSD, Clang 15",
100+
toolset: clang,
101+
test_toolset: clang,
102+
cxx: "clang++15",
103+
package: "devel/llvm15",
104+
}
105+
- {
106+
name: "FreeBSD, Clang 14",
107+
toolset: clang,
108+
test_toolset: clang,
109+
cxx: "clang++14",
110+
package: "devel/llvm14",
111+
}
112+
- {
113+
name: "FreeBSD, Clang 13",
114+
toolset: clang,
115+
test_toolset: clang,
116+
cxx: "clang++13",
117+
package: "devel/llvm13",
118+
}
119+
- {
120+
name: "FreeBSD, Clang 12",
121+
toolset: clang,
122+
test_toolset: clang,
123+
cxx: "clang++12",
124+
package: "devel/llvm12",
125+
}
126+
steps:
127+
- name: Checkout
128+
uses: actions/checkout@main
129+
- name: Start VM
130+
id: vm
131+
uses: vmactions/freebsd-vm@v1
132+
with:
133+
usesh: true
134+
custom-shell-name: vmsh
135+
- name: Info
136+
shell: vmsh {0}
137+
run: |
138+
echo ${PWD}
139+
whoami
140+
env
141+
freebsd-version
142+
uname -a
143+
sysctl hw.ncpu
144+
sysctl hw.physmem
145+
sysctl hw.usermem
146+
- name: Install
147+
shell: vmsh {0}
148+
run: |
149+
uname -a
150+
env ASSUME_ALWAYS_YES=YES pkg bootstrap
151+
env ASSUME_ALWAYS_YES=YES pkg install ${{ matrix.package }}
152+
env ASSUME_ALWAYS_YES=YES pkg install python3
153+
- name: Setup
154+
shell: vmsh {0}
155+
run: |
156+
set -e
157+
cd src/engine
158+
./build.sh --cxx=${{ matrix.cxx }} ${{ matrix.toolset }}
159+
./b2 -v
160+
cd ../..
161+
- name: Run
162+
shell: vmsh {0}
163+
run: |
164+
set -e
165+
CXX_PATH=`which ${{ matrix.cxx }}`
166+
cd test
167+
echo "using ${{ matrix.test_toolset }} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
168+
python3 grep.py ${{ matrix.test_toolset }}
169+
python3 test_all.py ${{ matrix.test_toolset }}
170+
cd ..

0 commit comments

Comments
 (0)