# Copyright 2020 Evan Miller # Copyright 2020 Matt Borland # Copyright 2021 John Maddock # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) name: CI on: [ push, pull_request ] jobs: ubuntu: runs-on: ubuntu-latest strategy: fail-fast: false matrix: compiler: [ g++-13, g++-14, clang++-19 ] mpi: [ mpich, libopenmpi-dev ] steps: - uses: actions/checkout@v4 with: fetch-depth: '0' - uses: mstachniuk/ci-skip@v1 with: commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[apple];[Apple];[APPLE]' commit-filter-separator: ';' fail-fast: true - name: Set TOOLSET run: echo ${{ matrix.compiler }} | awk '/^g/ { print "TOOLSET=gcc" } /^clang/ { print "TOOLSET=clang" }' >> $GITHUB_ENV - name: Install packages run: sudo apt-get update; sudo apt-get install -y g++-13 g++-14 clang-19 ${{matrix.mpi}} - name: Checkout main boost run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root - name: Update tools/boostdep run: git submodule update --init tools/boostdep working-directory: ../boost-root - name: Copy files run: cp -r $GITHUB_WORKSPACE/* libs/graph_parallel working-directory: ../boost-root - name: Install deps run: python tools/boostdep/depinst/depinst.py graph_parallel working-directory: ../boost-root - name: Bootstrap run: ./bootstrap.sh working-directory: ../boost-root - name: Generate headers run: ./b2 headers working-directory: ../boost-root - name: Generate user config run: 'echo "using $TOOLSET : : ${{ matrix.compiler }} ;" > ~/user-config.jam && echo "using mpi ;" >> ~/user-config.jam' working-directory: ../boost-root - name: Config info run: ../../../b2 print_config_info toolset=$TOOLSET cxxstd=14,17,20 working-directory: ../boost-root/libs/config/test - name: Test run: ../../../b2 toolset=$TOOLSET cxxstd=14,17,20 working-directory: ../boost-root/libs/graph_parallel/test macos: runs-on: macos-latest strategy: fail-fast: false matrix: toolset: [ clang ] steps: - uses: actions/checkout@v4 with: fetch-depth: '0' - uses: mstachniuk/ci-skip@v1 with: commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[linux];[Linux];[LINUX]' commit-filter-separator: ';' fail-fast: true - name: Checkout main boost run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root - name: Update tools/boostdep run: git submodule update --init tools/boostdep working-directory: ../boost-root - name: Copy files run: cp -r $GITHUB_WORKSPACE/* libs/graph_parallel working-directory: ../boost-root - name: Install deps run: python tools/boostdep/depinst/depinst.py graph_parallel working-directory: ../boost-root - name: Bootstrap run: ./bootstrap.sh working-directory: ../boost-root - name: Generate headers run: ./b2 headers working-directory: ../boost-root - name: Install MPI run: brew install mpich - name: Generate user-config run: echo "using mpi ;" > ~/user-config.jam - name: Config info run: ../../../b2 print_config_info toolset=${{ matrix.toolset }} cxxstd=14,17,20 working-directory: ../boost-root/libs/config/test - name: Test run: ../../../b2 toolset=${{ matrix.toolset }} cxxstd=14,17,20 define=CI_SUPPRESS_KNOWN_ISSUES working-directory: ../boost-root/libs/graph_parallel/test