Skip to content

Commit a70a8c6

Browse files
authored
Added FreeBSD CI job (#2359)
1 parent 82c9d90 commit a70a8c6

File tree

2 files changed

+39
-1
lines changed

2 files changed

+39
-1
lines changed

.github/workflows/ci-workflow.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,44 @@ jobs:
141141
with:
142142
name: premake-cosmopolitan-universal
143143
path: bin/${{ matrix.config }}/premake5
144+
freebsd:
145+
runs-on: ubuntu-latest
146+
strategy:
147+
matrix:
148+
config: [debug, release]
149+
platform: [x64]
150+
cc: [gcc]
151+
steps:
152+
- name: Checkout
153+
uses: actions/checkout@v4
154+
- name: Start FreeBSD VM
155+
uses: vmactions/freebsd-vm@v1
156+
with:
157+
usesh: true
158+
sync: sshfs
159+
prepare: |
160+
pkg install -y gmake ca_root_nss gcc
161+
- name: Build
162+
shell: freebsd {0}
163+
run: |
164+
cd $GITHUB_WORKSPACE
165+
PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--cc=${{ matrix.cc }}" ./Bootstrap.sh
166+
- name: Test
167+
shell: freebsd {0}
168+
run: |
169+
cd $GITHUB_WORKSPACE
170+
bin/${{ matrix.config }}/premake5 test --test-all
171+
- name: Docs check
172+
shell: freebsd {0}
173+
run: |
174+
cd $GITHUB_WORKSPACE
175+
bin/${{ matrix.config }}/premake5 docs-check
176+
- name: Upload Artifacts
177+
if: matrix.config == 'release'
178+
uses: actions/upload-artifact@v4
179+
with:
180+
name: premake-freebsd-${{ matrix.platform }}
181+
path: bin/${{ matrix.config }}/
144182

145183
# This job will be required for PRs to be merged.
146184
# This should depend on (via needs) all jobs that need to be successful for the PR to be merged.

Bootstrap.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ case "$(uname -s)" in
3838
;;
3939
FreeBSD|OpenBSD|NetBSD)
4040
NPROC=$(sysctl -n hw.ncpu)
41-
make -f Bootstrap.mak ${COSMO_FLAG:-bsd} $PLATFORM_ARG $CONFIG_ARG $PREMAKE_OPTS_ARG -j$NPROC
41+
gmake -f Bootstrap.mak ${COSMO_FLAG:-bsd} $PLATFORM_ARG $CONFIG_ARG $PREMAKE_OPTS_ARG -j$NPROC
4242
;;
4343
CYGWIN*|MINGW32*|MSYS*|MINGW*)
4444
make -f Bootstrap.mak ${COSMO_FLAG:-mingw} $PLATFORM_ARG $CONFIG_ARG $PREMAKE_OPTS_ARG -j$NPROC

0 commit comments

Comments
 (0)