mirror of
https://github.com/USCiLab/cereal.git
synced 2025-10-18 01:45:52 +02:00
Merge branch 'sjrdc-master'
This commit is contained in:
2
.github/workflows/ci-macos.yml
vendored
2
.github/workflows/ci-macos.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- uses: maxim-lobanov/setup-xcode@v1
|
- uses: maxim-lobanov/setup-xcode@v1
|
||||||
with:
|
with:
|
||||||
|
|||||||
135
.github/workflows/ci.yml
vendored
135
.github/workflows/ci.yml
vendored
@@ -4,7 +4,6 @@ on: [push, pull_request]
|
|||||||
jobs:
|
jobs:
|
||||||
test_cereal_linux:
|
test_cereal_linux:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container: ${{ matrix.CONTAINER }}
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@@ -164,75 +163,75 @@ jobs:
|
|||||||
name: ${{ matrix.name }}
|
name: ${{ matrix.name }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Check out the repo
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: install deps and test
|
- name: install deps and test
|
||||||
shell: bash
|
uses: addnab/docker-run-action@v3
|
||||||
env:
|
with:
|
||||||
CMAKE_OPTIONS: ${{ matrix.CMAKE_OPTIONS }}
|
image: ${{ matrix.CONTAINER }}
|
||||||
COMPILER: ${{ matrix.COMPILER }}
|
options: -v ${{ github.workspace }}:/var/workspace
|
||||||
EXTRA_APT_PACKAGES: ${{ matrix.EXTRA_APT_PACKAGES }}
|
shell: bash
|
||||||
LLVM_APT_SOURCE: ${{ matrix.LLVM_APT_SOURCE }}
|
run: |
|
||||||
run: |
|
set -ex
|
||||||
set -ex
|
apt-get update -y
|
||||||
apt-get update -y
|
DEBIAN_FRONTEND=noninteractive TZ=America/Los_Angeles apt-get install -y software-properties-common wget python3-pip make apt-transport-https
|
||||||
DEBIAN_FRONTEND=noninteractive TZ=America/Los_Angeles apt-get install -y software-properties-common wget python3-pip make apt-transport-https
|
|
||||||
|
|
||||||
# Add apt repositories for older Ubuntu
|
# Add apt repositories for older Ubuntu
|
||||||
. /etc/os-release
|
. /etc/os-release
|
||||||
if [[ "${VERSION_ID}" == "16.04" ]]; then
|
if [[ "${VERSION_ID}" == "16.04" ]]; then
|
||||||
add-apt-repository ppa:ubuntu-toolchain-r/test -y
|
add-apt-repository ppa:ubuntu-toolchain-r/test -y
|
||||||
add-apt-repository ppa:mhier/libboost-latest -y
|
add-apt-repository ppa:mhier/libboost-latest -y
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "${LLVM_APT_SOURCE}" != "" ]]; then
|
|
||||||
wget -qO - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
|
|
||||||
add-apt-repository "${LLVM_APT_SOURCE}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
apt-get update -y
|
|
||||||
|
|
||||||
# Install apt packages
|
|
||||||
apt-get install libboost-serialization-dev libboost-dev ${EXTRA_APT_PACKAGES} -y
|
|
||||||
pip3 install cmake
|
|
||||||
|
|
||||||
# Set compiler and env variables
|
|
||||||
export CXX=${COMPILER}
|
|
||||||
${CXX} --version
|
|
||||||
DEPS_DIR="${PWD}/deps"
|
|
||||||
mkdir -p "${DEPS_DIR}"
|
|
||||||
pushd "${DEPS_DIR}"
|
|
||||||
JOBS=2
|
|
||||||
|
|
||||||
# Install the right version of libc++
|
|
||||||
LLVM_INSTALL=${DEPS_DIR}/llvm/install
|
|
||||||
# if in linux and compiler clang and llvm not installed
|
|
||||||
if [[ "${CXX}" == "clang"* && -n "$(ls -A ${LLVM_INSTALL})" ]]; then
|
|
||||||
if [[ "${CXX}" == "clang++-3.6" ]]; then LLVM_VERSION="3.6.2";
|
|
||||||
elif [[ "${CXX}" == "clang++-3.7" ]]; then LLVM_VERSION="3.7.1";
|
|
||||||
elif [[ "${CXX}" == "clang++-3.8" ]]; then LLVM_VERSION="3.8.1";
|
|
||||||
elif [[ "${CXX}" == "clang++-3.9" ]]; then LLVM_VERSION="3.9.1";
|
|
||||||
fi
|
fi
|
||||||
LLVM_URL="http://llvm.org/releases/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz"
|
|
||||||
LIBCXX_URL="http://llvm.org/releases/${LLVM_VERSION}/libcxx-${LLVM_VERSION}.src.tar.xz"
|
|
||||||
LIBCXXABI_URL="http://llvm.org/releases/${LLVM_VERSION}/libcxxabi-${LLVM_VERSION}.src.tar.xz"
|
|
||||||
mkdir -p llvm llvm/build llvm/projects/libcxx llvm/projects/libcxxabi
|
|
||||||
wget -O - ${LLVM_URL} | tar --strip-components=1 -xJ -C llvm
|
|
||||||
wget -O - ${LIBCXX_URL} | tar --strip-components=1 -xJ -C llvm/projects/libcxx
|
|
||||||
wget -O - ${LIBCXXABI_URL} | tar --strip-components=1 -xJ -C llvm/projects/libcxxabi
|
|
||||||
(cd llvm/build && cmake .. -DCMAKE_INSTALL_PREFIX=${LLVM_INSTALL})
|
|
||||||
(cd llvm/build/projects/libcxx && make install -j2)
|
|
||||||
(cd llvm/build/projects/libcxxabi && make install -j2)
|
|
||||||
export CXXFLAGS="-isystem ${LLVM_INSTALL}/include/c++/v1"
|
|
||||||
export LDFLAGS="-L ${LLVM_INSTALL}/lib -l c++ -l c++abi"
|
|
||||||
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${LLVM_INSTALL}/lib"
|
|
||||||
fi
|
|
||||||
|
|
||||||
popd
|
if [[ "${{ matrix.LLVM_APT_SOURCE }}" != "" ]]; then
|
||||||
|
wget -qO - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
|
||||||
|
add-apt-repository "${{ matrix.LLVM_APT_SOURCE }}"
|
||||||
|
fi
|
||||||
|
|
||||||
# Build cereal and test
|
apt-get update -y
|
||||||
cmake --version
|
|
||||||
mkdir build && cd build
|
# Install apt packages
|
||||||
cmake ${CMAKE_OPTIONS} .. && make -j4 VERBOSE=1
|
apt-get install libboost-serialization-dev libboost-dev ${{ matrix.EXTRA_APT_PACKAGES }} -y
|
||||||
ctest . --output-on-failure
|
pip3 install --upgrade "pip < 21.0"
|
||||||
|
pip3 install cmake
|
||||||
|
|
||||||
|
# Set compiler and env variables
|
||||||
|
cd /var/workspace
|
||||||
|
export CXX=${{ matrix.COMPILER }}
|
||||||
|
${CXX} --version
|
||||||
|
DEPS_DIR="${PWD}/deps"
|
||||||
|
mkdir -p "${DEPS_DIR}"
|
||||||
|
pushd "${DEPS_DIR}"
|
||||||
|
JOBS=2
|
||||||
|
|
||||||
|
# Install the right version of libc++
|
||||||
|
LLVM_INSTALL=${DEPS_DIR}/llvm/install
|
||||||
|
# if in linux and compiler clang and llvm not installed
|
||||||
|
if [[ "${CXX}" == "clang"* && -n "$(ls -A ${LLVM_INSTALL})" ]]; then
|
||||||
|
if [[ "${CXX}" == "clang++-3.6" ]]; then LLVM_VERSION="3.6.2";
|
||||||
|
elif [[ "${CXX}" == "clang++-3.7" ]]; then LLVM_VERSION="3.7.1";
|
||||||
|
elif [[ "${CXX}" == "clang++-3.8" ]]; then LLVM_VERSION="3.8.1";
|
||||||
|
elif [[ "${CXX}" == "clang++-3.9" ]]; then LLVM_VERSION="3.9.1";
|
||||||
|
fi
|
||||||
|
LLVM_URL="http://llvm.org/releases/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz"
|
||||||
|
LIBCXX_URL="http://llvm.org/releases/${LLVM_VERSION}/libcxx-${LLVM_VERSION}.src.tar.xz"
|
||||||
|
LIBCXXABI_URL="http://llvm.org/releases/${LLVM_VERSION}/libcxxabi-${LLVM_VERSION}.src.tar.xz"
|
||||||
|
mkdir -p llvm llvm/build llvm/projects/libcxx llvm/projects/libcxxabi
|
||||||
|
wget -O - ${LLVM_URL} | tar --strip-components=1 -xJ -C llvm
|
||||||
|
wget -O - ${LIBCXX_URL} | tar --strip-components=1 -xJ -C llvm/projects/libcxx
|
||||||
|
wget -O - ${LIBCXXABI_URL} | tar --strip-components=1 -xJ -C llvm/projects/libcxxabi
|
||||||
|
(cd llvm/build && cmake .. -DCMAKE_INSTALL_PREFIX=${LLVM_INSTALL})
|
||||||
|
(cd llvm/build/projects/libcxx && make install -j2)
|
||||||
|
(cd llvm/build/projects/libcxxabi && make install -j2)
|
||||||
|
export CXXFLAGS="-isystem ${LLVM_INSTALL}/include/c++/v1"
|
||||||
|
export LDFLAGS="-L ${LLVM_INSTALL}/lib -l c++ -l c++abi"
|
||||||
|
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${LLVM_INSTALL}/lib"
|
||||||
|
fi
|
||||||
|
|
||||||
|
popd
|
||||||
|
|
||||||
|
# Build cereal and test
|
||||||
|
cmake --version
|
||||||
|
mkdir build && cd build
|
||||||
|
cmake ${{ matrix.CMAKE_OPTIONS }} .. && make -j4 VERBOSE=1
|
||||||
|
ctest . --output-on-failure
|
||||||
|
|||||||
Reference in New Issue
Block a user