1name: POSIX 2 3on: 4 pull_request: 5 push: 6 branches: 7 - master 8 - develop 9 - feature/** 10 11env: 12 LIBRARY: serialization 13 UBSAN_OPTIONS: print_stacktrace=1 14 15jobs: 16 CI: 17 strategy: 18 fail-fast: false 19 matrix: 20 include: 21 - toolset: gcc-4.7 22 cxxstd: "03,11" 23 os: ubuntu-16.04 24 install: g++-4.7 25 - toolset: gcc-4.8 26 cxxstd: "03,11" 27 os: ubuntu-16.04 28 install: g++-4.8 29 - toolset: gcc-4.9 30 cxxstd: "03,11" 31 os: ubuntu-16.04 32 install: g++-4.9 33 - toolset: gcc-5 34 cxxstd: "03,11,14,1z" 35 os: ubuntu-16.04 36 - toolset: gcc-6 37 cxxstd: "03,11,14,1z" 38 os: ubuntu-16.04 39 install: g++-6 40 - toolset: gcc-7 41 cxxstd: "03,11,14,17" 42 os: ubuntu-18.04 43 - toolset: gcc-8 44 cxxstd: "03,11,14,17,2a" 45 os: ubuntu-18.04 46 - toolset: gcc-9 47 cxxstd: "03,11,14,17,2a" 48 os: ubuntu-18.04 49 - toolset: gcc-10 50 cxxstd: "03,11,14,17,2a" 51 os: ubuntu-18.04 52 - toolset: clang 53 cxxstd: "03,11,14,17,2a" 54 os: ubuntu-18.04 55 - toolset: clang 56 cxxstd: "03,11,14,17,2a" 57 os: macos-10.15 58 59 runs-on: ${{matrix.os}} 60 61 steps: 62 - uses: actions/checkout@v2 63 64 - name: Install packages 65 if: matrix.install 66 run: sudo apt install ${{matrix.install}} 67 68 - name: Setup Boost 69 run: | 70 REF=${GITHUB_BASE_REF:-$GITHUB_REF} 71 BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true 72 cd .. 73 git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root 74 cd boost-root 75 cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY 76 git submodule update --init tools/boostdep 77 python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY 78 ./bootstrap.sh 79 ./b2 -d0 headers 80 81 - name: Run tests 82 run: | 83 cd ../boost-root 84 ./b2 -j3 libs/$LIBRARY/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} variant=debug,release 85