Skip to content

Commit 3cd42ed

Browse files
committed
ci: enable freebsd
1 parent ac80041 commit 3cd42ed

1 file changed

Lines changed: 53 additions & 0 deletions

File tree

.github/workflows/CI.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,59 @@ jobs:
162162
name: bindings-${{ matrix.settings.target }}
163163
path: ${{ env.APP_NAME }}.*.node
164164
if-no-files-found: error
165+
build-freebsd:
166+
runs-on: macos-12
167+
name: Build FreeBSD
168+
steps:
169+
- uses: actions/checkout@v3
170+
with:
171+
submodules: true
172+
- name: Build
173+
id: build
174+
uses: vmactions/freebsd-vm@v0
175+
env:
176+
DEBUG: napi:*
177+
RUSTUP_HOME: /usr/local/rustup
178+
CARGO_HOME: /usr/local/cargo
179+
RUSTUP_IO_THREADS: 1
180+
with:
181+
envs: DEBUG RUSTUP_HOME CARGO_HOME RUSTUP_IO_THREADS
182+
usesh: true
183+
mem: 3000
184+
prepare: |
185+
pkg install -y -f curl node libnghttp2 llvm cmake # Install the llvm package to fix the libclang error
186+
curl -qL https://www.npmjs.com/install.sh | sh
187+
npm install --location=global --ignore-scripts yarn
188+
curl https://sh.rustup.rs -sSf --output rustup.sh
189+
sh rustup.sh -y --profile minimal --default-toolchain beta
190+
rustup component add rustfmt
191+
export PATH="/usr/local/cargo/bin:$PATH"
192+
echo "~~~~ rustc --version ~~~~"
193+
rustc --version
194+
echo "~~~~ node -v ~~~~"
195+
node -v
196+
echo "~~~~ yarn --version ~~~~"
197+
yarn --version
198+
run: |
199+
export PATH="/usr/local/cargo/bin:$PATH"
200+
pwd
201+
ls -lah
202+
whoami
203+
env
204+
freebsd-version
205+
yarn install
206+
yarn build
207+
strip -x *.node
208+
yarn test
209+
rm -rf node_modules
210+
rm -rf target
211+
rm -rf .yarn/cache
212+
- name: Upload artifact
213+
uses: actions/upload-artifact@v3
214+
with:
215+
name: bindings-freebsd
216+
path: ${{ env.APP_NAME }}.*.node
217+
if-no-files-found: error
165218
test-macOS-windows-binding:
166219
name: Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }}
167220
needs:

0 commit comments

Comments
 (0)