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