diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index f8abad984b..0000000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,52 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -name: "CodeQL" - -on: - schedule: - - cron: '0 0 * * 0' - workflow_dispatch: - -jobs: - analyze: - name: CodeQL analysis - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: cpp - - # Set up build environment - - name: Setup - run: | - sudo rm /etc/apt/sources.list.d/microsoft-prod.list - sudo apt update - sudo apt install -y libboost-dev - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v3 - - # ℹī¸ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 diff --git a/.github/workflows/copyrights.yml b/.github/workflows/copyrights.yml deleted file mode 100644 index 0b22b5442d..0000000000 --- a/.github/workflows/copyrights.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: Update copyright list -on: - push: - branches: - - '**' -jobs: - copyrights: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Check - run: | - ./tools/check_copyrights.sh - - uses: peter-evans/create-pull-request@v7 - with: - token: ${{ secrets.GITHUB_TOKEN }} - branch: update-copyright-list-${{ github.ref_name }} - delete-branch: true - commit-message: 'Update copyright list in license' - title: 'Update copyright list in license' - author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> diff --git a/.github/workflows/coveralls.yml b/.github/workflows/coveralls.yml deleted file mode 100644 index 7aff9ea4fd..0000000000 --- a/.github/workflows/coveralls.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: Coverage report -on: - push: - branches: - - master - pull_request: -jobs: - coverage: - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v4 - - name: Setup - run: | - sudo rm /etc/apt/sources.list.d/microsoft-prod.list - sudo apt update - sudo apt install -y lcov libboost-dev - - name: Compile - run: | - ./autogen.sh - ./configure --disable-shared CXXFLAGS='-O1 -fprofile-arcs -ftest-coverage' LDFLAGS='-lgcov' - make -j 4 - - name: Capture baseline - run: | - mkdir -p coverage tmp - lcov --no-external --capture --initial --directory . --output-file ./tmp/lcov_base.info - - name: Run tests - run: | - ./test-suite/quantlib-test-suite --log_level=message - - name: Run examples - run: | - make -C Examples check-examples - - name: Capture coverage - run: | - lcov --no-external --capture --directory . --output-file ./tmp/lcov_run.info - lcov --add-tracefile ./tmp/lcov_base.info --add-tracefile ./tmp/lcov_run.info --output-file ./tmp/lcov_total.info - lcov --remove ./tmp/lcov_total.info "$PWD/Examples/*" "$PWD/test-suite/*" --output-file ./coverage/lcov.info - - name: Upload coverage to Coveralls - uses: coverallsapp/github-action@master - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - path-to-lcov: ./coverage/lcov.info diff --git a/.github/workflows/doxygen.yml b/.github/workflows/doxygen.yml deleted file mode 100644 index 84a98c08c6..0000000000 --- a/.github/workflows/doxygen.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Check doc generation -on: [push, pull_request] -jobs: - docs: - runs-on: macos-latest - steps: - - uses: actions/checkout@v4 - - name: Setup - env: - HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1 - run: | - brew install automake autoconf libtool boost doxygen graphviz - ./autogen.sh - ./configure --with-boost-include=$(brew --prefix)/include - - name: Doxygen version - run: | - doxygen --version - - name: Check - run: | - make docs - - header-docs: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Check - run: | - ./tools/check_all_header_docs.sh diff --git a/.github/workflows/filelists.yml b/.github/workflows/filelists.yml deleted file mode 100644 index 501ef2b0f7..0000000000 --- a/.github/workflows/filelists.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Check CMake file list and VC++ projects -on: [push, pull_request] -jobs: - filelists: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Setup - run: | - sudo rm /etc/apt/sources.list.d/microsoft-prod.list - sudo apt update - sudo apt install -y libboost-dev - - name: Configure - run: | - ./autogen.sh - ./configure - - name: Check - run: | - ./tools/check_filelists.sh diff --git a/.github/workflows/generated-headers.yml b/.github/workflows/generated-headers.yml deleted file mode 100644 index bc8a4ec908..0000000000 --- a/.github/workflows/generated-headers.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Update generated headers -on: - push: - branches: - - '**' -jobs: - filelists: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Setup - run: | - sudo rm /etc/apt/sources.list.d/microsoft-prod.list - sudo apt update - sudo apt install -y libboost-dev - - name: Configure - run: | - ./autogen.sh - ./configure - - name: Update headers - run: | - find ql -name *.am | xargs touch - make dist - rm QuantLib-*.tar.gz - - uses: peter-evans/create-pull-request@v7 - with: - token: ${{ secrets.GITHUB_TOKEN }} - branch: update-generated-headers-${{ github.ref_name }} - delete-branch: true - commit-message: 'Update generated headers' - title: 'Update generated headers' - author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> diff --git a/.github/workflows/headers.yml b/.github/workflows/headers.yml deleted file mode 100644 index a6eb0a7ad3..0000000000 --- a/.github/workflows/headers.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Compile single headers -on: [push, pull_request] -jobs: - headers: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Setup - run: | - sudo rm /etc/apt/sources.list.d/microsoft-prod.list - sudo apt update - sudo apt install -y libboost-dev ccache - - name: Cache - uses: hendrikmuhs/ccache-action@v1.2 - with: - key: single-headers-${{ github.ref }} - restore-keys: | - single-headers-${{ github.ref }} - single-headers-refs/heads/master - single-headers- - - name: Check - env: - CXX: ccache g++ - run: | - ./tools/check_all_headers.sh diff --git a/.github/workflows/linux-full-tests.yml b/.github/workflows/linux-full-tests.yml deleted file mode 100644 index 311cbd824c..0000000000 --- a/.github/workflows/linux-full-tests.yml +++ /dev/null @@ -1,214 +0,0 @@ -name: Linux build with full test matrix -on: - schedule: - - cron: '0 0 * * 0' - workflow_dispatch: -jobs: - build: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - include: - - name: "gcc 8.3 (Boost 1.72)" - shortname: gcc8 - tag: cosmic - cc: gcc - cxx: g++ - - name: "gcc 9.3 (Boost 1.78)" - shortname: gcc9 - tag: focal - cc: gcc - cxx: g++ - - name: "gcc 10.3 (Boost 1.79)" - shortname: gcc10 - tag: hirsute - cc: gcc - cxx: g++ - - name: "gcc 11.4 (Boost 1.82)" - shortname: gcc11 - tag: jammy - cc: gcc - cxx: g++ - - name: "gcc 12.3 (Boost 1.86)" - shortname: gcc12 - tag: lunar - cc: gcc - cxx: g++ - - name: "gcc 13.x" - shortname: gcc13 - tag: noble - cc: gcc - cxx: g++ - - name: "gcc 14.x" - shortname: gcc14 - tag: oracular - cc: gcc - cxx: g++ - - name: "Clang 7 (Boost 1.72)" - shortname: clang7 - tag: cosmic - cc: clang - cxx: clang++ - - name: "Clang 8 (Boost 1.72)" - shortname: clang8 - tag: disco - cc: clang - cxx: clang++ - - name: "Clang 9 (Boost 1.74)" - shortname: clang9 - tag: eoan - cc: clang - cxx: clang++ - - name: "Clang 10 (Boost 1.78)" - shortname: clang10 - tag: focal - cc: clang - cxx: clang++ - - name: "Clang 11 (Boost 1.78)" - shortname: clang11 - tag: groovy - cc: clang - cxx: clang++ - - name: "Clang 12 (Boost 1.79)" - shortname: clang12 - tag: hirsute - cc: clang - cxx: clang++ - - name: "Clang 13 (Boost 1.79)" - shortname: clang13 - tag: impish - cc: clang - cxx: clang++ - - name: "Clang 14 (Boost 1.82)" - shortname: clang14 - tag: jammy - cc: clang - cxx: clang++ - - name: "Clang 15 (Boost 1.86)" - shortname: clang15 - tag: lunar - cc: clang - cxx: clang++ - - name: "Clang 16 (Boost 1.86)" - shortname: clang16 - tag: mantic - cc: clang - cxx: clang++ - - name: "Clang 17 (Boost 1.84)" - shortname: clang17 - tag: clang-17 - cc: clang - cxx: clang++ - - name: "Clang 18" - shortname: clang18 - tag: noble - cc: clang - cxx: clang++ - - name: "Clang 19" - shortname: clang19 - tag: oracular - cc: clang - cxx: clang++ - - name: "C++17 mode" - shortname: c++17 - tag: rolling - cc: gcc - cxx: g++ - cxxflags: "-std=c++17" - - name: "C++20 mode" - shortname: c++20 - tag: rolling - cc: gcc - cxx: g++ - cxxflags: "-std=c++20" - - name: "C++23 mode" - shortname: c++23 - tag: rolling - cc: gcc - cxx: g++ - cxxflags: "-std=c++23" - - name: "Unity build enabled" - shortname: unity - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-unity-build - - name: "Intraday calculations enabled" - shortname: intraday - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-intraday - - name: "Throwing in cycles enabled" - shortname: cycles - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-throwing-in-cycles --disable-faster-lazy-objects - - name: "Indexed coupons enabled" - shortname: indexed - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-indexed-coupons - - name: "Standard Library classes enabled" - shortname: stdclasses - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-std-classes - - name: "Thread-safe observer enabled" - shortname: threadsafe - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-thread-safe-observer-pattern - - name: "Sessions enabled" - shortname: sessions - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-sessions - - name: "OpenMP enabled" - shortname: openmp - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-openmp - - name: "Parallel unit-test runner" - shortname: paralleltests - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-parallel-unit-test-runner - - name: "Null as function template" - shortname: nullfunctions - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-null-as-functions - container: ghcr.io/lballabio/quantlib-devenv:${{ matrix.tag }} - steps: - - uses: actions/checkout@v4 - - name: Compiler version - run: | - ${{ matrix.cc }} --version - - name: Build - run: | - ./autogen.sh - ./configure --disable-static ${{ matrix.configureflags }} CC="${{ matrix.cc }}" CXX="${{ matrix.cxx }}" CXXFLAGS="-O2 -g0 -Wall -Wno-unknown-pragmas -Werror ${{ matrix.cxxflags }}" - cat ql/config.hpp - make -j 4 - - name: Run tests - run: | - ./test-suite/quantlib-test-suite --log_level=message - - name: Run examples - run: | - make check-examples - - name: Check global header - run: | - echo "#include " > test1.cpp && echo "int main() { return 0; }" >> test1.cpp - echo "#include " > test2.cpp - make install - ${{ matrix.cxx }} -O2 -g0 -Wall -Wno-unknown-pragmas -Werror ${{ matrix.cxxflags }} `quantlib-config --cflags` test1.cpp test2.cpp `quantlib-config --libs` diff --git a/.github/workflows/linux-nondefault.yml b/.github/workflows/linux-nondefault.yml deleted file mode 100644 index 1f7f691c1c..0000000000 --- a/.github/workflows/linux-nondefault.yml +++ /dev/null @@ -1,167 +0,0 @@ -name: Linux build with non-default configuration -on: - schedule: - - cron: '0 0 * * 0' - workflow_dispatch: -jobs: - build: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - include: - - name: "gcc 8.3 (Boost 1.72)" - shortname: gcc8 - tag: cosmic - cc: gcc - cxx: g++ - - name: "gcc 9.3 (Boost 1.78)" - shortname: gcc9 - tag: focal - cc: gcc - cxx: g++ - - name: "gcc 10.3 (Boost 1.79)" - shortname: gcc10 - tag: hirsute - cc: gcc - cxx: g++ - - name: "gcc 11.4 (Boost 1.82)" - shortname: gcc11 - tag: jammy - cc: gcc - cxx: g++ - - name: "gcc 12.3 (Boost 1.86)" - shortname: gcc12 - tag: lunar - cc: gcc - cxx: g++ - - name: "gcc 13.x" - shortname: gcc13 - tag: noble - cc: gcc - cxx: g++ - - name: "gcc 14.x" - shortname: gcc14 - tag: oracular - cc: gcc - cxx: g++ - - name: "Clang 7 (Boost 1.72)" - shortname: clang7 - tag: cosmic - cc: clang - cxx: clang++ - - name: "Clang 8 (Boost 1.72)" - shortname: clang8 - tag: disco - cc: clang - cxx: clang++ - - name: "Clang 9 (Boost 1.74)" - shortname: clang9 - tag: eoan - cc: clang - cxx: clang++ - - name: "Clang 10 (Boost 1.78)" - shortname: clang10 - tag: focal - cc: clang - cxx: clang++ - - name: "Clang 11 (Boost 1.78)" - shortname: clang11 - tag: groovy - cc: clang - cxx: clang++ - - name: "Clang 12 (Boost 1.79)" - shortname: clang12 - tag: hirsute - cc: clang - cxx: clang++ - - name: "Clang 13 (Boost 1.79)" - shortname: clang13 - tag: impish - cc: clang - cxx: clang++ - - name: "Clang 14 (Boost 1.82)" - shortname: clang14 - tag: jammy - cc: clang - cxx: clang++ - - name: "Clang 15 (Boost 1.86)" - shortname: clang15 - tag: lunar - cc: clang - cxx: clang++ - - name: "Clang 16 (Boost 1.86)" - shortname: clang16 - tag: mantic - cc: clang - cxx: clang++ - - name: "Clang 18" - shortname: clang18 - tag: noble - cc: clang - cxx: clang++ - - name: "Clang 19" - shortname: clang19 - tag: oracular - cc: clang - cxx: clang++ - - name: "C++17 mode" - shortname: c++17 - tag: rolling - cc: gcc - cxx: g++ - cxxflags: "-std=c++17" - - name: "C++20 mode" - shortname: c++20 - tag: rolling - cc: gcc - cxx: g++ - cxxflags: "-std=c++20" - - name: "C++23 mode" - shortname: c++23 - tag: rolling - cc: gcc - cxx: g++ - cxxflags: "-std=c++23" - - name: "Unity build enabled" - shortname: unity - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-unity-build - - name: "Standard Library classes enabled" - shortname: stdclasses - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-std-classes - - name: "OpenMP enabled" - shortname: openmp - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-openmp - container: ghcr.io/lballabio/quantlib-devenv:${{ matrix.tag }} - steps: - - uses: actions/checkout@v4 - - name: Compiler version - run: | - ${{ matrix.cc }} --version - - name: Build - run: | - ./autogen.sh - ./configure --disable-static --enable-error-lines --enable-error-functions --enable-tracing --enable-indexed-coupons --enable-extra-safety-checks --enable-sessions --enable-thread-safe-observer-pattern --enable-intraday --disable-faster-lazy-objects --enable-throwing-in-cycles --enable-null-as-functions ${{ matrix.configureflags }} CC="${{ matrix.cc }}" CXX="${{ matrix.cxx }}" CXXFLAGS="-O2 -g0 -Wall -Wno-unknown-pragmas -Wno-array-bounds -Werror ${{ matrix.cxxflags }}" - cat ql/config.hpp - make -j 4 - - name: Run tests - run: | - ./test-suite/quantlib-test-suite --log_level=message - - name: Run examples - run: | - make check-examples - - name: Check global header - run: | - echo "#include " > test1.cpp && echo "int main() { return 0; }" >> test1.cpp - echo "#include " > test2.cpp - make install - ${{ matrix.cxx }} -O2 -g0 -Wall -Wno-unknown-pragmas -Werror ${{ matrix.cxxflags }} `quantlib-config --cflags` test1.cpp test2.cpp `quantlib-config --libs` diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml deleted file mode 100644 index 3b26272195..0000000000 --- a/.github/workflows/linux.yml +++ /dev/null @@ -1,175 +0,0 @@ -name: Linux build -on: [push, pull_request] -jobs: - build: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - include: - - name: "gcc 9.3 (Boost 1.78)" - shortname: gcc9 - tag: focal - cc: gcc - cxx: g++ - - name: "gcc 11.4 (Boost 1.82)" - shortname: gcc11 - tag: jammy - cc: gcc - cxx: g++ - - name: "gcc 13.x" - shortname: gcc13 - tag: noble - cc: gcc - cxx: g++ - tests: true - - name: "gcc 14.x" - shortname: gcc14 - tag: oracular - cc: gcc - cxx: g++ - tests: true - - name: "Clang 10 (Boost 1.78)" - shortname: clang10 - tag: focal - cc: clang - cxx: clang++ - - name: "Clang 14 (Boost 1.82)" - shortname: clang14 - tag: jammy - cc: clang - cxx: clang++ - - name: "Clang 18" - shortname: clang18 - tag: noble - cc: clang - cxx: clang++ - tests: true - - name: "Clang 19" - shortname: clang19 - tag: oracular - cc: clang - cxx: clang++ - tests: true - - name: "C++17 mode" - shortname: c++17 - tag: rolling - cc: gcc - cxx: g++ - cxxflags: "-std=c++17" - - name: "C++20 mode" - shortname: c++20 - tag: rolling - cc: gcc - cxx: g++ - cxxflags: "-std=c++20" - - name: "C++23 mode" - shortname: c++23 - tag: rolling - cc: gcc - cxx: g++ - cxxflags: "-std=c++23" - - name: "Unity build enabled" - shortname: unity - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-unity-build - - name: "Intraday calculations enabled" - shortname: intraday - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-intraday - tests: true - - name: "Throwing in cycles enabled" - shortname: cycles - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-throwing-in-cycles --disable-faster-lazy-objects - tests: true - - name: "Indexed coupons enabled" - shortname: indexed - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-indexed-coupons - tests: true - - name: "Standard Library classes enabled" - shortname: stdclasses - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-std-classes - tests: true - - name: "Thread-safe observer enabled" - shortname: threadsafe - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-thread-safe-observer-pattern - tests: true - - name: "Sessions enabled" - shortname: sessions - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-sessions - tests: true - - name: "OpenMP enabled" - shortname: openmp - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-openmp - tests: true - - name: "Parallel unit-test runner" - shortname: paralleltests - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-parallel-unit-test-runner - tests: true - - name: "Null as function template" - shortname: nullfunctions - tag: rolling - cc: gcc - cxx: g++ - configureflags: --enable-null-as-functions - tests: true - container: ghcr.io/lballabio/quantlib-devenv:${{ matrix.tag }} - steps: - - uses: actions/checkout@v4 - - name: Cache - uses: hendrikmuhs/ccache-action@v1.2 - with: - key: linux-ci-build-${{ matrix.shortname }}-${{ github.ref }} - restore-keys: | - linux-ci-build-${{ matrix.shortname }}-${{ github.ref }} - linux-ci-build-${{ matrix.shortname }}-refs/heads/master - linux-ci-build-${{ matrix.shortname }}- - - name: Compiler version - run: | - ${{ matrix.cc }} --version - - name: Build - run: | - ./autogen.sh - ./configure --disable-static ${{ matrix.configureflags }} CC="ccache ${{ matrix.cc }}" CXX="ccache ${{ matrix.cxx }}" CXXFLAGS="-O2 -g0 -Wall -Wno-unknown-pragmas -Werror ${{ matrix.cxxflags }}" - cat ql/config.hpp - make -j 4 - - name: Run tests - if: ${{ matrix.tests }} - run: | - ./test-suite/quantlib-test-suite --log_level=message - - name: Run examples - if: ${{ matrix.tests }} - run: | - make check-examples - - name: Check global header - if: ${{ matrix.tests }} - run: | - echo "#include " > test1.cpp && echo "int main() { return 0; }" >> test1.cpp - echo "#include " > test2.cpp - make install - ${{ matrix.cxx }} -O2 -g0 -Wall -Wno-unknown-pragmas -Werror ${{ matrix.cxxflags }} `quantlib-config --cflags` test1.cpp test2.cpp `quantlib-config --libs` diff --git a/.github/workflows/macos-nondefault.yml b/.github/workflows/macos-nondefault.yml deleted file mode 100644 index 7a9286516c..0000000000 --- a/.github/workflows/macos-nondefault.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Mac OS build with non-default configuration -on: - schedule: - - cron: '0 0 * * 0' - workflow_dispatch: -jobs: - build: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [macos-13, macos-14] - classes: [boost, std] - include: - - classes: std - configureflags: --enable-std-classes - steps: - - uses: actions/checkout@v4 - - name: Setup - env: - HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1 - run: | - brew install automake autoconf libtool boost - - name: Compiler version - run: | - clang --version - - name: Build - run: | - ./autogen.sh - ./configure --disable-shared --with-boost-include=`brew --prefix`/include --enable-error-lines --enable-error-functions --enable-tracing --enable-indexed-coupons --enable-extra-safety-checks --enable-sessions --enable-thread-safe-observer-pattern --enable-intraday --disable-faster-lazy-objects --enable-throwing-in-cycles --enable-null-as-functions ${{ matrix.configureflags }} CC="clang" CXX="clang++" CXXFLAGS="-O2 -g0 -Wall -Werror" - cat ql/config.hpp - make -j 3 - - name: Run tests - run: | - ./test-suite/quantlib-test-suite --log_level=message - - name: Run examples - run: | - make -C Examples check-examples diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml deleted file mode 100644 index a034797d72..0000000000 --- a/.github/workflows/macos.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Mac OS build -on: [push, pull_request] -jobs: - build: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [macos-13, macos-14] - steps: - - uses: actions/checkout@v4 - - name: Setup - env: - HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1 - run: | - brew install automake autoconf libtool boost ccache - - name: Cache - uses: hendrikmuhs/ccache-action@v1.2 - with: - key: macos-ci-build-${{ matrix.os }}-${{ github.ref }} - restore-keys: | - macos-ci-build-${{ matrix.os }}-${{ github.ref }} - macos-ci-build-${{ matrix.os }}-refs/heads/master - macos-ci-build-${{ matrix.os }}- - - name: Compiler version - run: | - clang --version - - name: Build - run: | - ./autogen.sh - ./configure --disable-shared --with-boost-include=`brew --prefix`/include ${{ matrix.configureflags }} CC="ccache clang" CXX="ccache clang++" CXXFLAGS="-O2 -g0 -Wall -Werror ${{ matrix.cxxflags }}" - make -j 3 - - name: Run tests - run: | - ./test-suite/quantlib-test-suite --log_level=message - - name: Run examples - run: | - make -C Examples check-examples diff --git a/.github/workflows/misspell.yml b/.github/workflows/misspell.yml deleted file mode 100644 index 06c61e1825..0000000000 --- a/.github/workflows/misspell.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Misspell fixer -on: - push: - branches: - - '**' -jobs: - check: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: sobolevn/misspell-fixer-action@master - - uses: peter-evans/create-pull-request@v7 - with: - token: ${{ secrets.GITHUB_TOKEN }} - branch: misspell-fixes-${{ github.ref_name }} - delete-branch: true - commit-message: 'Fixes by misspell-fixer' - title: 'Typos fixed by misspell-fixer' - author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> diff --git a/.github/workflows/namespaces.yml b/.github/workflows/namespaces.yml deleted file mode 100644 index 6bb209511f..0000000000 --- a/.github/workflows/namespaces.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Fix deprecated uses of ext namespace -on: - push: - branches: - - '**' -jobs: - namespaces: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Check - run: | - shopt -s globstar - sed -i -e 's/ext::function\b/std::function/g' **/*.[hc]pp - sed -i -e 's/ext::bind\b/std::bind/g' **/*.[hc]pp - sed -i -e 's/ext::ref\b/std::ref/g' **/*.[hc]pp - sed -i -e 's/ext::cref\b/std::cref/g' **/*.[hc]pp - sed -i -e 's/ext::placeholders\b/std::placeholders/g' **/*.[hc]pp - sed -i -e 's/ext::tuple\b/std::tuple/g' **/*.[hc]pp - sed -i -e 's/ext::make_tuple\b/std::make_tuple/g' **/*.[hc]pp - sed -i -e 's/ext::get\b/std::get/g' **/*.[hc]pp - sed -i -e 's/ext::tie\b/std::tie/g' **/*.[hc]pp - - uses: peter-evans/create-pull-request@v7 - with: - token: ${{ secrets.GITHUB_TOKEN }} - branch: fix-ext-namespace-${{ github.ref_name }} - delete-branch: true - commit-message: 'Fix deprecated uses of ext namespace' - title: 'Fix deprecated uses of ext namespace' - author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> diff --git a/.github/workflows/sanitizer.yml b/.github/workflows/sanitizer.yml deleted file mode 100644 index c521a675ce..0000000000 --- a/.github/workflows/sanitizer.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: Linux build with address sanitizer enabled -on: - schedule: - - cron: '0 0 * * 0' - workflow_dispatch: -jobs: - sanitize-address-undefined: - runs-on: ubuntu-latest - container: ghcr.io/lballabio/quantlib-devenv:rolling - steps: - - uses: actions/checkout@v4 - - name: Compiler version - run: | - gcc --version - - name: Build - run: | - ./autogen.sh - ./configure --disable-static CC="gcc" CXX="g++" CXXFLAGS="-O2 -g0 -fsanitize=address,undefined -fno-sanitize-recover=all -fno-omit-frame-pointer -Wall -Wno-unknown-pragmas -Werror" - make -j 4 - - name: Run tests - run: | - LSAN_OPTIONS=suppressions=.lsan.txt ./test-suite/quantlib-test-suite --log_level=message - - name: Run examples - run: | - make check-examples - sanitize-thread: - runs-on: ubuntu-latest - container: ghcr.io/lballabio/quantlib-devenv:rolling - steps: - - uses: actions/checkout@v4 - - name: Compiler version - run: | - gcc --version - - name: Build - run: | - ./autogen.sh - ./configure --disable-static --enable-sessions --enable-thread-safe-observer-pattern CC="gcc" CXX="g++" CXXFLAGS="-O2 -g0 -fsanitize=thread -fno-sanitize-recover=all -Wall -Wno-unknown-pragmas -Werror" - make -j 4 - - name: Run tests - run: | - ./test-suite/quantlib-test-suite --log_level=message - - name: Run examples - run: | - make check-examples diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml deleted file mode 100644 index 14d8c62f78..0000000000 --- a/.github/workflows/stale.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Close stale issues and PR -on: - schedule: - - cron: '30 1 * * *' -jobs: - staleness-check: - runs-on: ubuntu-latest - steps: - - uses: actions/stale@v9 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - stale-issue-message: 'This issue was automatically marked as stale because it has been open 60 days with no activity. Remove stale label or comment, or this will be closed in two weeks.' - close-issue-message: 'This issue was automatically closed because it has been stalled for two weeks with no further activity.' - stale-pr-message: 'This PR was automatically marked as stale because it has been open 60 days with no activity. Remove stale label or comment, or this will be closed in two weeks.' - close-pr-message: 'This PR was automatically closed because it has been stalled for two weeks with no further activity.' - days-before-stale: 60 - days-before-close: 14 - stale-issue-label: 'stale' - stale-pr-label: 'stale' - exempt-issue-labels: 'help wanted,in progress' - exempt-pr-labels: 'help wanted,in progress' - exempt-all-milestones: true diff --git a/.github/workflows/test-times.yml b/.github/workflows/test-times.yml deleted file mode 100644 index defad44165..0000000000 --- a/.github/workflows/test-times.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Check test times -on: [push, pull_request] -jobs: - check-test-times: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Cache - uses: hendrikmuhs/ccache-action@v1.2 - with: - key: linux-ci-test-times-${{ github.ref }} - restore-keys: | - linux-ci-test-times-${{ github.ref }} - linux-ci-test-times-refs/heads/master - linux-ci-test-times- - - name: Setup - run: | - sudo rm /etc/apt/sources.list.d/microsoft-prod.list - sudo apt update - sudo apt install -y libboost-dev autoconf automake libtool ccache - - name: Build - run: | - ./autogen.sh - ./configure --disable-static CC="ccache gcc" CXX="ccache g++" CXXFLAGS="-O2 -g0" - make -j 4 - - name: Run faster tests - run: | - ./test-suite/quantlib-test-suite --logger=JUNIT,warning,faster.xml:HRF,message -- --faster - - name: Run fast tests - run: | - ./test-suite/quantlib-test-suite --logger=JUNIT,warning,fast.xml:HRF,message -- --fast - - name: Run all tests - run: | - ./test-suite/quantlib-test-suite --logger=JUNIT,warning,all.xml:HRF,message - - name: Save test times - uses: actions/upload-artifact@v4 - with: - name: test-reports - path: ./*.xml - - name: Check test times - run: | - python ./tools/check_test_times.py diff --git a/.github/workflows/tidy.yml b/.github/workflows/tidy.yml deleted file mode 100644 index a028733ba7..0000000000 --- a/.github/workflows/tidy.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Apply clang-tidy fixes -on: - schedule: - - cron: '0 0 * * 0' - workflow_dispatch: -jobs: - check: - runs-on: ubuntu-24.04 - steps: - - uses: actions/checkout@v4 - - name: Setup - run: | - sudo apt-get update - sudo apt-get install -y clang-tidy-18 libboost-dev - - name: Check - run: | - cmake --preset linux-ci-build-with-clang-tidy - cd build/linux-ci-build-with-clang-tidy - cmake --build . -j1 - - uses: peter-evans/create-pull-request@v7 - with: - token: ${{ secrets.GITHUB_TOKEN }} - branch: clang-tidy-fixes-${{ github.ref_name }} - delete-branch: true - commit-message: 'Automated fixes by clang-tidy' - title: 'Automated fixes by clang-tidy' - author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> - body: | - This is an automated PR generated by the [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action. - - Please review the changes before merging. -