diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5afb625..03730f8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,97 +14,134 @@ jobs: matrix: include: - toolset: gcc-4.8 - standard: "03,11" - os: ubuntu-18.04 + cxxstd: "03,11" + container: ubuntu:18.04 + os: ubuntu-latest install: g++-4.8 - toolset: gcc-5 - standard: "03,11,14,1z" - os: ubuntu-18.04 + cxxstd: "03,11,14,1z" + container: ubuntu:18.04 + os: ubuntu-latest install: g++-5 - toolset: gcc-6 - standard: "03,11,14,1z" - os: ubuntu-18.04 + cxxstd: "03,11,14,1z" + container: ubuntu:18.04 + os: ubuntu-latest install: g++-6 - toolset: gcc-7 - standard: "03,11,14,17" - os: ubuntu-18.04 + cxxstd: "03,11,14,17" + container: ubuntu:20.04 + os: ubuntu-latest + install: g++-7 - toolset: gcc-8 - standard: "03,11,14,17,2a" - os: ubuntu-18.04 + cxxstd: "03,11,14,17,2a" + container: ubuntu:20.04 + os: ubuntu-latest install: g++-8 - toolset: gcc-9 - standard: "03,11,14,17,2a" - os: ubuntu-18.04 + cxxstd: "03,11,14,17,2a" + container: ubuntu:20.04 + os: ubuntu-latest - toolset: gcc-10 - standard: "03,11,14,17,2a" - os: ubuntu-20.04 + cxxstd: "03,11,14,17,2a" + container: ubuntu:20.04 + os: ubuntu-latest install: g++-10 - toolset: gcc-11 - standard: "03,11,14,17,2a" - os: ubuntu-20.04 + cxxstd: "03,11,14,17,2a" + container: ubuntu:24.04 + os: ubuntu-latest install: g++-11 - toolset: clang compiler: clang++-3.9 - standard: "03,11,14" - os: ubuntu-18.04 + cxxstd: "03,11,14" + container: ubuntu:18.04 + os: ubuntu-latest install: clang-3.9 - toolset: clang compiler: clang++-4.0 - standard: "03,11,14" - os: ubuntu-18.04 + cxxstd: "03,11,14" + container: ubuntu:18.04 + os: ubuntu-latest install: clang-4.0 - toolset: clang compiler: clang++-5.0 - standard: "03,11,14,1z" - os: ubuntu-18.04 + cxxstd: "03,11,14,1z" + container: ubuntu:18.04 + os: ubuntu-latest install: clang-5.0 - toolset: clang compiler: clang++-6.0 - standard: "03,11,14,17" - os: ubuntu-18.04 + cxxstd: "03,11,14,17" + container: ubuntu:20.04 + os: ubuntu-latest install: clang-6.0 - toolset: clang compiler: clang++-7 - standard: "03,11,14,17" - os: ubuntu-18.04 + cxxstd: "03,11,14,17" + container: ubuntu:20.04 + os: ubuntu-latest install: clang-7 - toolset: clang compiler: clang++-8 - standard: "03,11,14,17" - os: ubuntu-20.04 + cxxstd: "03,11,14,17" + container: ubuntu:20.04 + os: ubuntu-latest install: clang-8 - toolset: clang compiler: clang++-9 - standard: "03,11,14,17,2a" - os: ubuntu-20.04 + cxxstd: "03,11,14,17" + container: ubuntu:20.04 + os: ubuntu-latest install: clang-9 - toolset: clang compiler: clang++-10 - standard: "03,11,14,17,2a" - os: ubuntu-20.04 + cxxstd: "03,11,14,17,2a" + container: ubuntu:20.04 + os: ubuntu-latest install: clang-10 - toolset: clang compiler: clang++-11 cxxstd: "03,11,14,17,2a" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest install: clang-11 - toolset: clang compiler: clang++-12 cxxstd: "03,11,14,17,2a" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest install: clang-12 - toolset: clang - standard: "03,11,14,17,2a" - os: macos-10.15 + cxxstd: "03,11,14,17,20,2b" + os: macos-15 runs-on: ${{matrix.os}} + container: + image: ${{matrix.container}} + volumes: + - /node20217:/node20217:rw,rshared + - ${{ startsWith(matrix.container, 'ubuntu:1') && '/node20217:/__e/node20:ro,rshared' || ' ' }} steps: - - uses: actions/checkout@v2 + - name: Setup container environment + if: matrix.container + run: | + apt-get update + apt-get -y install sudo python3 git g++ curl xz-utils + + - name: Install nodejs20glibc2.17 + if: ${{ startsWith( matrix.container, 'ubuntu:1' ) }} + run: | + curl -LO https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz + tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217 + ldd /__e/node20/bin/node - name: Install packages if: matrix.install - run: sudo apt install ${{matrix.install}} + run: sudo apt-get -y install ${{matrix.install}} + + - uses: actions/checkout@v2 - name: Setup Boost run: | @@ -116,6 +153,7 @@ jobs: git submodule init libs/config git submodule init libs/core git submodule init libs/static_assert + git submodule init libs/throw_exception git submodule init libs/headers git submodule init tools/build git submodule init tools/boost_install @@ -131,19 +169,15 @@ jobs: - name: Run tests run: | cd ../boost - ./b2 -j3 libs/align/test toolset=${{matrix.toolset}} cxxstd=${{matrix.standard}} variant=debug,release + ./b2 -j3 libs/align/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} variant=debug,release windows: strategy: fail-fast: false matrix: include: - - toolset: msvc-14.1 - standard: "14,17,latest" - target: 32,64 - os: windows-2016 - toolset: msvc-14.2 - standard: "14,17,latest" + cxxstd: "14,17,latest" target: 32,64 os: windows-2019 - toolset: msvc-14.3 @@ -151,7 +185,7 @@ jobs: addrmd: 32,64 os: windows-2022 - toolset: gcc - standard: "03,11,14,17,2a" + cxxstd: "03,11,14,17,2a" target: 64 os: windows-2019 @@ -171,6 +205,7 @@ jobs: git submodule init libs/config git submodule init libs/core git submodule init libs/static_assert + git submodule init libs/throw_exception git submodule init libs/headers git submodule init tools/build git submodule init tools/boost_install @@ -182,4 +217,4 @@ jobs: shell: cmd run: | cd ../boost - b2 -j3 libs/align/test toolset=${{matrix.toolset}} cxxstd=${{matrix.standard}} address-model=${{matrix.target}} variant=debug,release + b2 -j3 libs/align/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} address-model=${{matrix.target}} variant=debug,release diff --git a/build.jam b/build.jam new file mode 100644 index 0000000..35fbf86 --- /dev/null +++ b/build.jam @@ -0,0 +1,25 @@ +# Copyright René Ferdinand Rivera Morell 2023-2024 +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +require-b2 5.2 ; + +constant boost_dependencies : + /boost/assert//boost_assert + /boost/config//boost_config + /boost/core//boost_core + /boost/static_assert//boost_static_assert ; + +project /boost/align + ; + +explicit + [ alias boost_align : : : + : include $(boost_dependencies) ] + [ alias all : boost_align test ] + ; + +call-if : boost-library align + ; + diff --git a/test/Jamfile b/test/Jamfile index 2004932..a082b92 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -6,6 +6,8 @@ import testing ; +project : requirements /boost/align//boost_align ; + run align_test.cpp ; run align_overflow_test.cpp ; run align_down_test.cpp ;