diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 0419608..70ab122 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -162,6 +162,59 @@ jobs: name: bindings-${{ matrix.settings.target }} path: ${{ env.APP_NAME }}.*.node if-no-files-found: error + build-freebsd: + runs-on: macos-12 + name: Build FreeBSD + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - name: Build + id: build + uses: vmactions/freebsd-vm@v0 + env: + DEBUG: napi:* + RUSTUP_HOME: /usr/local/rustup + CARGO_HOME: /usr/local/cargo + RUSTUP_IO_THREADS: 1 + with: + envs: DEBUG RUSTUP_HOME CARGO_HOME RUSTUP_IO_THREADS + usesh: true + mem: 3000 + prepare: | + pkg install -y -f curl node libnghttp2 llvm cmake # Install the llvm package to fix the libclang error + curl -qL https://www.npmjs.com/install.sh | sh + npm install --location=global --ignore-scripts yarn + curl https://sh.rustup.rs -sSf --output rustup.sh + sh rustup.sh -y --profile minimal --default-toolchain beta + rustup component add rustfmt + export PATH="/usr/local/cargo/bin:$PATH" + echo "~~~~ rustc --version ~~~~" + rustc --version + echo "~~~~ node -v ~~~~" + node -v + echo "~~~~ yarn --version ~~~~" + yarn --version + run: | + export PATH="/usr/local/cargo/bin:$PATH" + pwd + ls -lah + whoami + env + freebsd-version + yarn install + yarn build + strip -x *.node + yarn test + rm -rf node_modules + rm -rf target + rm -rf .yarn/cache + - name: Upload artifact + uses: actions/upload-artifact@v3 + with: + name: bindings-freebsd + path: ${{ env.APP_NAME }}.*.node + if-no-files-found: error test-macOS-windows-binding: name: Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} needs: