remove `#!/usr/bin/env sh`
[liba.git] / .github / workflows / freebsd.yml
blob3753cb87f38323fa88cbe9b40bffae62756ed011
1 name: freebsd
2 on:
3   workflow_dispatch:
4 jobs:
5   FreeBSD:
6     strategy:
7       fail-fast: false
8     runs-on: ubuntu-latest
9     env:
10       CTEST_OUTPUT_ON_FAILURE: 1
11       LIBA_OPENMP: 1
12     steps:
13       - uses: actions/checkout@v4
14         with:
15           lfs: true
16           submodules: true
17       - uses: vmactions/freebsd-vm@v1
18         with:
19           envs: 'CTEST_OUTPUT_ON_FAILURE LIBA_OPENMP'
20           copyback: false
21           prepare: |
22             pkg install -y curl ninja cmake rust python openjdk8
23             curl -sSL https://bootstrap.pypa.io/get-pip.py | python -
24           run: |
25             python -m venv _
26             . _/bin/activate
27             python -m pip install -r requirements.txt
28             cmake -S . -B build -G "Ninja Multi-Config" \
29               -DCMAKE_INSTALL_PREFIX=_ \
30               -DBUILD_TESTING=1 \
31               -DLIBA_WARNINGS=1 \
32               -DLIBA_ANALYZER=1 \
33               -DLIBA_SANITIZE=1 \
34               -DLIBA_WITH_LUA=1 \
35               -DLIBA_PYTHON=1 \
36               -DLIBA_JAVA=1 \
37               -DLIBA_LIBTOOL=1 \
38               -DLIBA_PKGCONFIG=1
39             cmake --build build --config Debug --target package
40             cmake --build build --config Debug --target test
41             cmake --build build --config RelWithDebInfo --target package
42             cmake --build build --config RelWithDebInfo --target test
43             cargo test --all-features
44             cargo test --all-features --release
45             cmake --build build --config RelWithDebInfo --target install
46             cmake -S demo -B demo/build
47             cmake --build demo/build -v