diff options
| author | Stefan Boberg <[email protected]> | 2025-10-24 19:32:01 +0200 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2025-10-24 19:32:01 +0200 |
| commit | 4cba4eb3f122c7a1a49b629b1c0656d7f817f001 (patch) | |
| tree | e184821073167f6e81a75193efca91013d7b359b /thirdparty/asio/.github | |
| parent | fixed progress bar when scanning changed local files (#608) (diff) | |
| download | zen-4cba4eb3f122c7a1a49b629b1c0656d7f817f001.tar.xz zen-4cba4eb3f122c7a1a49b629b1c0656d7f817f001.zip | |
move cpr in-tree (#605)
* added cpr 1.10.5 in-tree to allow updates to vcpkg without breaking the build
* added asio 1.29.0 in-tree to remove one more vcpkg dependency
* bumped vcpkg to 2024.06.15 to address failure to build due to use of deprecated binaries in vcpkg (404 error: `https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-pkgconf-1~2.1.0-1-any.pkg.tar.zst` during build)
Diffstat (limited to 'thirdparty/asio/.github')
| -rw-r--r-- | thirdparty/asio/.github/workflows/ci.yml | 372 |
1 files changed, 372 insertions, 0 deletions
diff --git a/thirdparty/asio/.github/workflows/ci.yml b/thirdparty/asio/.github/workflows/ci.yml new file mode 100644 index 000000000..9637558b0 --- /dev/null +++ b/thirdparty/asio/.github/workflows/ci.yml @@ -0,0 +1,372 @@ +name: asio CI + +on: + push: + branches: [ master, citest-* ] + +jobs: + build: + strategy: + fail-fast: false + matrix: + build-type: ['sanity'] + runs-on: [ubuntu-20.04, ubuntu-22.04, macos-latest] + compiler: [g++-7, g++-8, g++-9, g++-10, g++-11, g++-12, clang++-10, clang++-14, g++] + cxx-std: ['c++11', 'c++14', 'c++17', 'c++2a', 'c++20'] + separate-compilation: ['', '--enable-separate-compilation'] + optim-level: ['-O0'] + no-deprecated: [''] + select-reactor: ['', '-DASIO_DISABLE_EPOLL', '-DASIO_DISABLE_KQUEUE'] + handler-tracking: [''] + boost: [''] + boost-url: [''] + exclude: + # New compilers don't run on ubuntu 20.04 + - runs-on: ubuntu-20.04 + compiler: g++-12 + - runs-on: ubuntu-20.04 + compiler: clang++-14 + # Older compilers don't run on ubuntu 22.04 + - runs-on: ubuntu-22.04 + compiler: g++-7 + - runs-on: ubuntu-22.04 + compiler: g++-8 + - runs-on: ubuntu-22.04 + compiler: clang++-10 + # Unversioned g++ doesn't run on ubuntu + - runs-on: ubuntu-20.04 + compiler: g++ + - runs-on: ubuntu-22.04 + compiler: g++ + # Versioned g++ and clang++ don't run on macOS + - runs-on: macos-latest + compiler: g++-7 + - runs-on: macos-latest + compiler: g++-8 + - runs-on: macos-latest + compiler: g++-9 + - runs-on: macos-latest + compiler: g++-10 + - runs-on: macos-latest + compiler: g++-11 + - runs-on: macos-latest + compiler: g++-12 + - runs-on: macos-latest + compiler: clang++-10 + - runs-on: macos-latest + compiler: clang++-14 + # Older compilers don't support newer std variants + - compiler: g++-7 + cxx-std: c++2a + - compiler: g++-7 + cxx-std: c++20 + - compiler: g++-8 + cxx-std: c++20 + - compiler: g++-9 + cxx-std: c++20 + - compiler: g++-10 + cxx-std: c++2a + - compiler: g++-11 + cxx-std: c++2a + - compiler: g++-12 + cxx-std: c++2a + - compiler: clang++-10 + cxx-std: c++20 + - compiler: clang++-14 + cxx-std: c++20 + - compiler: clang++-14 + cxx-std: c++2a + - runs-on: macos-latest + cxx-std: c++20 + # Specifying the select reactor is OS-specific + - runs-on: ubuntu-20.04 + select-reactor: -DASIO_DISABLE_KQUEUE + - runs-on: ubuntu-22.04 + select-reactor: -DASIO_DISABLE_KQUEUE + - runs-on: macos-latest + select-reactor: -DASIO_DISABLE_EPOLL + # Trim builds that use separate compilation + - compiler: g++-7 + separate-compilation: --enable-separate-compilation + - compiler: g++-8 + separate-compilation: --enable-separate-compilation + - compiler: g++-9 + separate-compilation: --enable-separate-compilation + - compiler: g++-10 + separate-compilation: --enable-separate-compilation + - compiler: g++-11 + separate-compilation: --enable-separate-compilation + - runs-on: macos-latest + cxx-std: c++14 + separate-compilation: --enable-separate-compilation + - runs-on: macos-latest + cxx-std: c++17 + separate-compilation: --enable-separate-compilation + # Trim builds that use select reactor + - compiler: g++-7 + select-reactor: -DASIO_DISABLE_EPOLL + - compiler: g++-8 + select-reactor: -DASIO_DISABLE_EPOLL + - compiler: g++-9 + select-reactor: -DASIO_DISABLE_EPOLL + - compiler: g++-10 + select-reactor: -DASIO_DISABLE_EPOLL + - compiler: g++-11 + select-reactor: -DASIO_DISABLE_EPOLL + include: + # + # Linux / g++-12 -std=c++20 -fcoroutines / -O2 / standalone + # + - build-type: full + runs-on: ubuntu-22.04 + compiler: g++-12 + cxx-std: c++20 -fcoroutines + optim-level: -O2 + # + # Linux / g++-12 -std=c++17 / -O2 / boost 1.76 + # + - build-type: full + runs-on: ubuntu-22.04 + compiler: g++-12 + cxx-std: c++17 + optim-level: -O2 + with-boost: --with-boost=$GITHUB_WORKSPACE/boost_1_76_0 + boost-url: https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2 + # + # Linux / g++-11 -std=c++14 / -O0 / standalone / separate compilation + # + - build-type: full + runs-on: ubuntu-22.04 + compiler: g++-11 + cxx-std: c++14 + separate-compilation: --enable-separate-compilation + optim-level: -O0 + # + # Linux / g++-10 / -O2 / standalone + # + - build-type: full + runs-on: ubuntu-20.04 + compiler: g++-10 + cxx-std: c++14 + optim-level: -O2 + # + # Linux / g++-10 / -O0 / standalone / handler tracking + # + - build-type: full + runs-on: ubuntu-20.04 + compiler: g++-10 + cxx-std: c++14 + optim-level: -O0 + handler-tracking: -DASIO_ENABLE_HANDLER_TRACKING + # + # Linux / g++-10 / -O0 / standalone / epoll disabled + # + - build-type: full + runs-on: ubuntu-20.04 + compiler: g++-10 + cxx-std: c++14 + optim-level: -O0 + select-reactor: -DASIO_DISABLE_EPOLL + # + # Linux / g++-10 / -O0 / standalone / separate compilation / handler tracking + # + - build-type: full + runs-on: ubuntu-20.04 + compiler: g++-10 + cxx-std: c++14 + separate-compilation: --enable-separate-compilation + optim-level: -O0 + handler-tracking: -DASIO_ENABLE_HANDLER_TRACKING + # + # Linux / g++-10 / -O0 / standalone / separate compilation / epoll disabled + # + - build-type: full + runs-on: ubuntu-20.04 + compiler: g++-10 + cxx-std: c++14 + separate-compilation: --enable-separate-compilation + optim-level: -O0 + select-reactor: -DASIO_DISABLE_EPOLL + # + # Linux / g++-10 / -O2 / boost 1.83 + # + - build-type: full + runs-on: ubuntu-20.04 + compiler: g++-10 + cxx-std: c++14 + optim-level: -O2 + with-boost: --with-boost=$GITHUB_WORKSPACE/boost_1_83_0 + boost-url: https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2 + # + # Linux / g++-10 / -O0 / boost 1.83 / epoll disabled + # + - build-type: full + runs-on: ubuntu-20.04 + compiler: g++-10 + cxx-std: c++14 + optim-level: -O0 + with-boost: --with-boost=$GITHUB_WORKSPACE/boost_1_83_0 + boost-url: https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2 + select-reactor: -DASIO_DISABLE_EPOLL + # + # Linux / g++-10 / -O0 / boost 1.83 / separate compilation + # + - build-type: full + runs-on: ubuntu-20.04 + compiler: g++-10 + cxx-std: c++14 + separate-compilation: --enable-separate-compilation + optim-level: -O0 + with-boost: --with-boost=$GITHUB_WORKSPACE/boost_1_83_0 + boost-url: https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2 + # + # Linux / g++-7 / -O2 / standalone + # + - build-type: full + runs-on: ubuntu-20.04 + compiler: g++-7 + cxx-std: c++11 + optim-level: -O2 + # + # Linux / g++-7 / -O0 / standalone / separate compilation + # + - build-type: full + runs-on: ubuntu-20.04 + compiler: g++-7 + cxx-std: c++11 + separate-compilation: --enable-separate-compilation + optim-level: -O0 + # + # Linux / g++-7 -std=c++11 / -O2 / boost 1.83 + # + - build-type: full + runs-on: ubuntu-20.04 + compiler: g++-7 + cxx-std: c++11 + separate-compilation: --enable-separate-compilation + optim-level: -O2 + with-boost: --with-boost=$GITHUB_WORKSPACE/boost_1_83_0 + boost-url: https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2 + # + # Linux / clang++-14 -std=c++2a / -O2 / standalone + # + - build-type: full + runs-on: ubuntu-22.04 + compiler: clang++-14 + cxx-std: c++2a + cxx-stdlib: -stdlib=libc++ + optim-level: -O2 + # + # Linux / clang++-14 -std=c++11 / -O0 / standalone / separate compilation + # + - build-type: full + runs-on: ubuntu-22.04 + compiler: clang++-14 + cxx-std: c++11 + separate-compilation: --enable-separate-compilation + optim-level: -O0 + # + # Linux / clang++-14 -std=c++20 / -O2 / standalone / separate compilation + # + - build-type: full + runs-on: ubuntu-22.04 + compiler: clang++-14 + cxx-std: c++20 + cxx-stdlib: -stdlib=libc++ + separate-compilation: --enable-separate-compilation + optim-level: -O2 + # + # Linux / clang++-10 -std=c++11 / -O2 / standalone + # + - build-type: full + runs-on: ubuntu-20.04 + compiler: clang++-10 + cxx-std: c++11 + optim-level: -O2 + # + # macOS / c++2a -fcoroutines-ts / -O2 / standalone + # + - build-type: full + runs-on: macos-latest + compiler: g++ + cxx-std: c++2a -fcoroutines-ts + optim-level: -O2 + # + # macOS / c++11 / -O2 / standalone + # + - build-type: full + runs-on: macos-latest + compiler: g++ + cxx-std: c++11 + optim-level: -O2 + # + # macOS / c++11 / -O0 / standalone / kqueue disabled + # + - build-type: full + runs-on: macos-latest + compiler: g++ + cxx-std: c++11 + optim-level: -O0 + select-reactor: -DASIO_DISABLE_KQUEUE + # + # macOS / c++11 / -O0 / standalone / separate compilation + # + - build-type: full + runs-on: macos-latest + compiler: g++ + cxx-std: c++11 + separate-compilation: --enable-separate-compilation + optim-level: -O0 + # + # macOS / c++11 / -O2 / boost 1.83 + # + - build-type: full + runs-on: macos-latest + compiler: g++ + cxx-std: c++11 + optim-level: -O2 + with-boost: --with-boost=$GITHUB_WORKSPACE/boost_1_83_0 + boost-url: https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2 + # + # macOS / c++11 / -O2 / boost 1.83 / separate compilation + # + - build-type: full + runs-on: macos-latest + compiler: g++ + cxx-std: c++11 + separate-compilation: --enable-separate-compilation + optim-level: -O0 + with-boost: --with-boost=$GITHUB_WORKSPACE/boost_1_83_0 + boost-url: https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2 + runs-on: ${{ matrix.runs-on }} + env: + CXX: ${{ matrix.compiler }} + CXXFLAGS: -std=${{ matrix.cxx-std }} ${{ matrix.cxx-stdlib }} ${{ matrix.optim-level }} -Wall -Wextra ${{ matrix.no-deprecated }} ${{ matrix.select-reactor }} ${{ matrix.handler-tracking }} + steps: + - uses: actions/checkout@v2 + - name: Install autotools + if: startsWith(matrix.runs-on, 'macos') + run: brew install automake + - name: Install compiler + if: startsWith(matrix.runs-on, 'ubuntu') + run: sudo apt-get install -y ${{ matrix.compiler }} + - name: Install boost + if: startsWith(matrix.with-boost, '--with-boost=$GITHUB_WORKSPACE') + run: | + wget --quiet -O - ${{ matrix.boost-url }} | tar -xj + - name: Configure + working-directory: asio + run: | + ./autogen.sh + ./configure ${{ matrix.separate-compilation }} ${{ matrix.with-boost }} + - name: Line length check + working-directory: asio + run: perl ./boostify.pl --includes-only + - name: Sanity check + if: startsWith(matrix.build-type, 'sanity') + working-directory: asio/src/tests + run: make unit/io_context.log unit/ip/tcp.log unit/ts/net.log + - name: Build + if: startsWith(matrix.build-type, 'full') + working-directory: asio + run: make && make check |