Skip to content

No public description #1356

No public description

No public description #1356

Workflow file for this run

# @file ABCL-test.yml
---
name: ABCL-Tests
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Update apt package list
run: sudo apt update
- name: Download ABCL
run: |
sudo apt install -y ant
git clone https://github.com/armedbear/abcl.git
cd abcl
ant
cd ..
- name: Download quicklisp
run: curl -o quicklisp.lisp 'https://beta.quicklisp.org/quicklisp.lisp'
- name: Install quicklisp
run: |
./abcl/abcl --batch --load quicklisp.lisp --eval "(quicklisp-quickstart:install :path \"$GITHUB_WORKSPACE/quicklisp/\") (quit)"
./abcl/abcl --batch --load "$GITHUB_WORKSPACE/quicklisp/setup.lisp" --eval '(ql-util:without-prompting (ql:add-to-init-file)) (quit)'
- name: Download repo
uses: actions/checkout@v2
with:
path: quicklisp/local-projects/cl-protobufs
- name: Add cl-protobufs/protoc to path
run: echo "::add-path:$GITHUB_WORKSPACE/quicklisp/local-projects/cl-protobufs/protoc/"
- 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: Install protoc plug-in
run: |
cd $GITHUB_WORKSPACE/quicklisp/local-projects/cl-protobufs/protoc &&
cmake . -DCMAKE_CXX_STANDARD=17
cmake --build . --target install --parallel 16
- name: Load and run tests
run: |
export PATH="$PATH:$GITHUB_WORKSPACE/quicklisp/local-projects/cl-protobufs/protoc/"
./abcl/abcl --batch --eval '(ql:quickload :clunit2)' --eval '(ql:quickload :trivial-benchmark)' --eval '(ql:quickload :cl-base64)' --eval '(ql:quickload :local-time)' --eval '(ql:quickload :babel)' --eval '(setf clunit:*clunit-report-format* :tap)' --eval '(ql:quickload :cl-protobufs)' --eval '(asdf:test-system :cl-protobufs)' >> report
test -f report
cat report
! grep -q "not ok" report
grep -q "ok" report