(WIP) Refactor: Remove AVM #2406
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: UnitTests | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
- develop | |
jobs: | |
UnitTest: | |
name: (${{ matrix.backend }}) Unittests on (${{ matrix.lisp }}) | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 30 | |
strategy: | |
matrix: | |
lisp: [sbcl-bin, ccl-bin/1.12.2] | |
backend: [lisp, clang] | |
os: [ubuntu-latest] | |
target: | |
- normal | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Set up ${{ matrix.lisp }} via Roswell. | |
env: | |
LISP: sbcl-bin | |
run: | | |
curl -L https://raw.githubusercontent.com/roswell/roswell/master/scripts/install-for-ci.sh | sh | |
ros install ${{ matrix.lisp }} | |
ros use ${{ matrix.lisp }} | |
ros install rove qlot | |
- name: Set up Python 3.12 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
- name: Installing libisl-dev | |
run: | | |
sudo apt-get install -y libisl-dev | |
- name: pkg-config isl --modversion | |
run: | | |
pkg-config isl --modversion | |
- name: Update $PATH | |
run: | | |
echo $PATH | |
export PATH=/home/runner/.roswell/bin:$PATH | |
echo "PATH=$HOME/bin:$PATH" >> $GITHUB_ENV | |
- name: Installing Extra Dependency for testing | |
run: make install_extra | |
- name: Check $PATH | |
run: echo $PATH | |
- name: (Lisp) rove caten.asd | |
if: ${{ matrix.backend == 'lisp' }} | |
run: | | |
ros config set dynamic-space-size 8gb | |
ros -e '(ql:register-local-projects)' -q | |
CI=1 JIT=0 AVM=LISP rove caten.asd | |
- name: (Clang) rove caten.asd | |
if: ${{ matrix.backend == 'clang' && matrix.lisp != 'ccl-bin/1.12.2' }} | |
run: | | |
ulimit -n 8192 | |
ros config set dynamic-space-size 8gb | |
ros -e '(ql:register-local-projects)' -q | |
CI=1 JIT=1 JIT_BACKEND=CLANG AVM=LISP rove caten.asd | |
Documentation: | |
name: Test building documentations | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
permissions: | |
contents: read | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Set up SBCL via Roswell. | |
run: | | |
curl -L https://raw.githubusercontent.com/roswell/roswell/master/scripts/install-for-ci.sh | sh | |
ros install sbcl-bin | |
ros use sbcl-bin | |
ros install qlot | |
- name: Set up Python 3.12 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
- name: Update $PATH | |
run: | | |
echo $PATH | |
export PATH=/home/runner/.roswell/bin:$PATH | |
echo "PATH=$HOME/bin:$PATH" >> $GITHUB_ENV | |
- name: Installing Dependencies | |
run: sudo apt-get install -y libisl-dev protobuf-compiler cmake | |
- name: Download and install Abseil | |
run: | | |
set -ex | |
git clone --recursive -b lts_2024_07_22 https://github.com/abseil/abseil-cpp $GITHUB_WORKSPACE/abseil-cpp | |
cd $GITHUB_WORKSPACE/abseil-cpp | |
sudo cmake . -DCMAKE_CXX_STANDARD=17 -DABSL_ENABLE_INSTALL=ON | |
sudo make -j20 | |
sudo make install | |
sudo ldconfig | |
- name: Download and install protobuf | |
run: | | |
git clone --recursive -b 28.x https://github.com/protocolbuffers/protobuf | |
cd protobuf/cmake | |
mkdir build | |
cd build | |
cmake -DCMAKE_CXX_STANDARD=17 -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_ABSL_PROVIDER=package -DCMAKE_INSTALL_PREFIX=/usr/local/ ../.. | |
sudo make install -j20 | |
sudo ldconfig | |
- name: Set up cl-protobufs | |
run: | | |
git clone https://github.com/qitab/cl-protobufs.git | |
cd cl-protobufs/protoc | |
cmake . -DCMAKE_CXX_STANDARD=17 | |
cmake --build . --target install --parallel 16 | |
cd ../../ | |
- name: Installing extra dependencies | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
qlot install | |
qlot exec make install_docs | |
- name: Building documentations | |
run: mkdir -p docs/packages && CI=1 JIT=0 make build_docs |