@@ -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