1name: CI 2 3on: 4 pull_request: 5 push: 6 branches: 7 - master 8 - develop 9 - feature/** 10 11env: 12 UBSAN_OPTIONS: print_stacktrace=1 13 14jobs: 15 posix: 16 strategy: 17 fail-fast: false 18 matrix: 19 include: 20 - toolset: gcc-4.7 21 cxxstd: "03,11" 22 os: ubuntu-16.04 23 install: g++-4.7 24 - toolset: gcc-4.8 25 cxxstd: "03,11" 26 os: ubuntu-16.04 27 install: g++-4.8 28 - toolset: gcc-4.9 29 cxxstd: "03,11" 30 os: ubuntu-16.04 31 install: g++-4.9 32 - toolset: gcc-5 33 cxxstd: "03,11,14,1z" 34 os: ubuntu-16.04 35 - toolset: gcc-6 36 cxxstd: "03,11,14,1z" 37 os: ubuntu-16.04 38 install: g++-6 39 - toolset: gcc-7 40 cxxstd: "03,11,14,17" 41 os: ubuntu-18.04 42 - toolset: gcc-8 43 cxxstd: "03,11,14,17,2a" 44 os: ubuntu-18.04 45 - toolset: gcc-9 46 cxxstd: "03,11,14,17,2a" 47 os: ubuntu-18.04 48 - toolset: gcc-10 49 cxxstd: "03,11,14,17,2a" 50 os: ubuntu-18.04 51 - toolset: clang 52 compiler: clang++-3.5 53 cxxstd: "03,11,14" 54 os: ubuntu-16.04 55 install: clang-3.5 56 - toolset: clang 57 compiler: clang++-3.6 58 cxxstd: "03,11,14" 59 os: ubuntu-16.04 60 install: clang-3.6 61 - toolset: clang 62 compiler: clang++-3.7 63 cxxstd: "03,11,14" 64 os: ubuntu-16.04 65 install: clang-3.7 66 - toolset: clang 67 compiler: clang++-3.8 68 cxxstd: "03,11,14" 69 os: ubuntu-16.04 70 install: clang-3.8 71 - toolset: clang 72 compiler: clang++-3.9 73 cxxstd: "03,11,14" 74 os: ubuntu-16.04 75 install: clang-3.9 76 - toolset: clang 77 compiler: clang++-4.0 78 cxxstd: "03,11,14" 79 os: ubuntu-16.04 80 install: clang-4.0 81 - toolset: clang 82 compiler: clang++-5.0 83 cxxstd: "03,11,14,1z" 84 os: ubuntu-16.04 85 install: clang-5.0 86 - toolset: clang 87 compiler: clang++-6.0 88 cxxstd: "03,11,14,17" 89 os: ubuntu-18.04 90 - toolset: clang 91 compiler: clang++-7 92 cxxstd: "03,11,14,17" 93 os: ubuntu-18.04 94 install: clang-7 95 - toolset: clang 96 compiler: clang++-8 97 cxxstd: "03,11,14,17,2a" 98 os: ubuntu-20.04 99 - toolset: clang 100 compiler: clang++-9 101 cxxstd: "03,11,14,17,2a" 102 os: ubuntu-20.04 103 - toolset: clang 104 compiler: clang++-10 105 cxxstd: "03,11,14,17,2a" 106 os: ubuntu-20.04 107 - toolset: clang 108 cxxstd: "03,11,14,17,2a" 109 os: macos-10.15 110 111 runs-on: ${{matrix.os}} 112 113 steps: 114 - uses: actions/checkout@v2 115 116 - name: Install packages 117 if: matrix.install 118 run: sudo apt install ${{matrix.install}} 119 120 - name: Setup Boost 121 run: | 122 REF=${GITHUB_BASE_REF:-$GITHUB_REF} 123 BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true 124 cd .. 125 git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root 126 cd boost-root 127 cp -r $GITHUB_WORKSPACE/* libs/exception 128 git submodule update --init tools/boostdep 129 python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" exception 130 ./bootstrap.sh 131 ./b2 -d0 headers 132 133 - name: Create user-config.jam 134 if: matrix.compiler 135 run: | 136 echo "using ${{matrix.toolset}} : : ${{matrix.compiler}} ;" > ~/user-config.jam 137 138 - name: Run tests 139 run: | 140 cd ../boost-root 141 ./b2 -j3 libs/exception/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} variant=debug,release exception-handling=on,off rtti=on,off link=static,shared visibility=hidden,global 142 143 windows: 144 strategy: 145 fail-fast: false 146 matrix: 147 include: 148 - toolset: msvc-14.1 149 cxxstd: "14,17,latest" 150 addrmd: 32,64 151 os: windows-2016 152 - toolset: msvc-14.2 153 cxxstd: "14,17,latest" 154 addrmd: 32,64 155 os: windows-2019 156 - toolset: gcc 157 cxxstd: "03,11,14,17,2a" 158 addrmd: 64 159 os: windows-2019 160 161 runs-on: ${{matrix.os}} 162 163 steps: 164 - uses: actions/checkout@v2 165 166 - name: Setup Boost 167 shell: cmd 168 run: | 169 if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF% 170 set BOOST_BRANCH=develop 171 if "%GITHUB_BASE_REF%" == "master" set BOOST_BRANCH=master 172 cd .. 173 git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root 174 cd boost-root 175 xcopy /s /e /q %GITHUB_WORKSPACE% libs\exception\ 176 git submodule update --init tools/boostdep 177 python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" exception 178 cmd /c bootstrap 179 b2 -d0 headers 180 181 - name: Run tests 182 shell: cmd 183 run: | 184 cd ../boost-root 185 b2 -j3 libs/exception/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} address-model=${{matrix.addrmd}} variant=debug,release exception-handling=on,off rtti=on,off 186