diff options
-rw-r--r-- | .ci.cmake | 2 | ||||
-rw-r--r-- | .github/workflows/ci.yml | 133 | ||||
-rw-r--r-- | .travis.yml | 248 | ||||
-rw-r--r-- | appveyor.yml | 38 | ||||
-rw-r--r-- | attic/.travis.yml | 310 | ||||
-rw-r--r-- | attic/appveyor.yml | 29 |
6 files changed, 380 insertions, 380 deletions
@@ -53,7 +53,7 @@ if(WIN32) COMMAND "${CMAKE_COMMAND}" -E copy prebuilt/bin/Release/ntkernel-error-category_dl.dll llfio/prebuilt/bin/Release/ ) checked_execute_process("Tarring up binaries final" - COMMAND 7z a -tzip llfio-v2.0-binaries-win64.zip llfio\\ + COMMAND "${CMAKE_COMMAND}" -E tar cfv llfio-v2.0-binaries-win64.zip --format=zip llfio/ ) get_filename_component(toupload llfio-v2.0-binaries-win64.zip ABSOLUTE) endif() diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..650ea5f1 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,133 @@ +name: CI + +on: + push: + branches: + - develop + pull_request: + schedule: + - cron: '0 0 1 * *' + +jobs: + Linux: + name: Ubuntu 18.04 + runs-on: ubuntu-18.04 + strategy: + matrix: + compiler: [clang++, g++] + env: + NAME: Linux-${{ matrix.compiler }} + CXX: ${{ matrix.compiler }} + + steps: + - uses: actions/checkout@v2 + + - name: CMake tests Linux + shell: bash + run: ctest -S .ci.cmake -V + + - name: Upload Prebuilt Binaries + uses: actions/upload-artifact@v2 + with: + name: Linux ${{ matrix.compiler }} prebuilt binaries + path: llfio-v2.0-binaries-linux-x64.tgz + + - name: Upload Test Results + if: always() + uses: actions/upload-artifact@v2 + with: + name: Linux ${{ matrix.compiler }} test results + path: prebuilt/merged_junit_results.xml + + MacOS: + name: Mac OS 10.15 + runs-on: macos-10.15 + env: + NAME: MacOS + + steps: + - uses: actions/checkout@v2 + + - name: CMake tests Mac OS + shell: bash + run: ctest -S .ci.cmake -V -E noexcept + + - name: Upload Prebuilt Binaries + uses: actions/upload-artifact@v2 + with: + name: Mac OS prebuilt binaries + path: llfio-v2.0-binaries-darwin-x64.tgz + + - name: Upload Test Results + if: always() + uses: actions/upload-artifact@v2 + with: + name: Mac OS test results + path: prebuilt/merged_junit_results.xml + + WinVS2019: + name: Windows VS2019 + runs-on: windows-2019 + env: + NAME: WinVS2019 + + steps: + - uses: actions/checkout@v2 + + - name: CMake tests Windows + shell: bash + run: ctest -S .ci.cmake -V + + - name: Upload Prebuilt Binaries + uses: actions/upload-artifact@v2 + with: + name: Windows VS2019 prebuilt binaries + path: llfio-v2.0-binaries-win64.zip + + - name: Upload Test Results + if: always() + uses: actions/upload-artifact@v2 + with: + name: Windows VS2019 test results + path: prebuilt/merged_junit_results.xml + + publish-test-results: + name: "Publish Documentation and Unit Tests Results" + needs: [Linux, MacOS, WinVS2019] + runs-on: ubuntu-latest + if: success() || failure() + env: + NAME: Documentation + + steps: + - name: Checkout Documentation + uses: actions/checkout@v2 + with: + fetch-depth: 0 + submodules: true + + - name: Download Artifacts + uses: actions/download-artifact@v2 + with: + path: artifacts + + - name: Publish Unit Test Results + uses: EnricoMi/publish-unit-test-result-action@v1.3 + with: + check_name: Unit Test Results + github_token: ${{ secrets.GITHUB_TOKEN }} + files: '**/merged_junit_results.xml' + + - name: Regenerate Documentation + shell: bash + run: | + sudo apt-get install -y doxygen graphviz + ctest -S .docs.cmake -V + + - name: Publish Documentation + uses: JamesIves/github-pages-deploy-action@3.7.1 + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH: gh-pages + FOLDER: doc/html + CLEAN: true diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index e6e5ff5f..00000000 --- a/.travis.yml +++ /dev/null @@ -1,248 +0,0 @@ -dist: bionic -language: cpp -sudo: true -git: - submodules: false -branches: - only: - - develop -notifications: - email: - recipients: - - nialldouglas14@gmail.com - -addons: - apt: -# sources: -# - sourceline: "ppa:ubuntu-toolchain-r/test" - packages: - - g++ - - clang - - g++-arm-linux-gnueabihf - - python3 - - cmake - - cmake-data - - doxygen - - python3 - - python3-pip -# homebrew: -# packages: -# - - -env: - global: - - secure: "A3TeWTlJdjUaQ31NF60kMOik8mzaJkdKA55jZXjN83BJ2ZjMDmWfq1XmZ7iDIxmn7HC2BVpjhdkj9jpRtPztb08L5VSlJIiVbXlBWNwgzmYANujpR9rA+bhZJwlKDaYQHUZUd4+iGHCHb0dLt2HG0eHF5azaifd0YqCfz5GcWl8=" - -matrix: - include: - - name: "g++ 7.5 x64 cmake tests (error_code)" - compiler: g++ - os: linux - env: NAME=x64_EC_tests - - name: "clang++ 7.0 x64 cmake tests (error_code)" - compiler: clang++ - os: linux - env: NAME=x64_EC_tests - - name: "libc++ x64 C++ 20 cmake tests (error_code)" - compiler: clang++-11 - os: linux - env: - - NAME=x64_EC_tests - - CMAKE_CONFIGURE_OPTIONS=-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-libc++.cmake - - name: "Xcode 11.6 x64 cmake tests (error_code)" - compiler: clang++ - os: osx - osx_image: xcode11.6 - env: NAME=x64_EC_tests - - name: "g++ 7.5 x64 cmake tests (status_code)" - compiler: g++ - os: linux - env: - - NAME=x64_SC_tests - - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON - - name: "clang++ 7.0 x64 cmake tests (status_code)" - compiler: clang++ - os: linux - env: - - NAME=x64_SC_tests - - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON - - name: "libc++ x64 C++ 20 cmake tests (status_code)" - compiler: clang++-11 - os: linux - env: - - NAME=x64_SC_tests - - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-libc++.cmake -# - name: "Xcode 11.6 x64 cmake tests (status_code)" -# compiler: clang++ -# os: osx -# osx_image: xcode11.6 -# env: -# - NAME=x64_SC_tests -# - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON - - name: "g++ ARM32 cmake build (error_code)" - compiler: g++ - os: linux - env: NAME=ARM32_EC_build - - name: "g++ ARM32 cmake build (status_code)" - compiler: g++ - os: linux - env: - - NAME=ARM32_SC_build - - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON - - name: "Documentation" - compiler: clang++ - os: linux - env: NAME=Documentation - - name: "g++ 7.5 x64 Programs (error_code)" - compiler: g++ - os: linux - env: NAME=x64_EC_programs - - name: "clang++ 7.0 x64 Programs (error_code)" - compiler: clang++ - os: linux - env: NAME=x64_EC_programs - - name: "libc++ x64 C++ 20 Programs (error_code)" - compiler: clang++-11 - os: linux - env: - - NAME=x64_EC_programs - - CMAKE_CONFIGURE_OPTIONS=-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-libc++.cmake - - name: "Xcode 11.6 x64 Programs (error_code)" - compiler: clang++ - os: osx - osx_image: xcode11.6 - env: NAME=x64_EC_programs -# - name: "x64 Programs (status_code)" -# compiler: -# - g++ -# - clang++ -# - clang++-11 -# env: -# - NAME=x64_SC_programs -# - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON - - name: "g++ 7.5 Installability (error_code)" - compiler: g++ - os: linux - env: NAME=x64_EC_install - - name: "clang++ 7.0 Installability (error_code)" - compiler: clang++ - os: linux - env: NAME=x64_EC_install - - name: "libc++ C++ 20 Installability (error_code)" - compiler: clang++-11 - os: linux - env: - - NAME=x64_EC_install - - CMAKE_CONFIGURE_OPTIONS=-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-libc++.cmake - - name: "Xcode 11.6 Installability (error_code)" - compiler: clang++ - os: osx - osx_image: xcode11.6 - env: NAME=x64_EC_install - - name: "g++ 7.5 Installability (status_code)" - compiler: g++ - os: linux - env: - - NAME=x64_SC_install - - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON - - name: "clang++ 7.0 Installability (status_code)" - compiler: clang++ - os: linux - env: - - NAME=x64_SC_install - - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON - - name: "libc++ C++ 20 Installability (status_code)" - compiler: clang++-11 - os: linux - env: - - NAME=x64_SC_install - - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-libc++.cmake -# - name: "Xcode 11.6 Installability (status_code)" -# compiler: clang++ -# os: osx -# osx_image: xcode11.6 -# env: -# - NAME=x64_SC_install -# - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON - -before_install: - - if [ "$TRAVIS_COMPILER" = "clang++-11" ]; then - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -; - echo "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main" >> /etc/apt/sources.list; - sudo apt update; - sudo apt install clang-11 libc++-11-dev libc++abi-11-dev libomp-11-dev; - fi - - mount - -# mkdir build; -# cd build; -# cmake .. $CMAKE_CONFIGURE_OPTIONS -DCMAKE_BUILD_TYPE=Release; -# cmake --build . -- _sl; -# cmake --build . -- _dl; -# ctest -C Release -E llfio_hl|shared_fs_mutex; -# cd ..; - -script: - - - if [[ "$NAME" == "x64_"*"_tests" ]]; then - export ASAN_OPTIONS=detect_leaks=0; - ctest -S .ci.cmake -VV --timeout 300 -DCTEST_CONFIGURE_OPTIONS=$CMAKE_CONFIGURE_OPTIONS ; - fi - - - if [[ "$NAME" == "ARM32_"*"_build" ]]; then - ctest -S .ci.cmake -V --timeout 300 -DCTEST_DISABLE_TESTING=1 '-DCTEST_CONFIGURE_OPTIONS=$CMAKE_CONFIGURE_OPTIONS -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-arm.cmake'; - fi - - - if [ "$NAME" = "Documentation" ]; then - git config --global push.default simple; - git config --global user.name "Jenkins nedprod CI"; - git config --global user.email "foo@nowhere"; - git submodule update --init; - cd doc/html; - git checkout gh-pages; - cd ../..; - ctest -S .docs.cmake -V; - cd doc/html; - git add . || true; - git commit -a -m "Travis CI updates documentation" || true; - git push -f https://jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD@github.com/ned14/llfio gh-pages; - cd ../..; - fi - - - if [[ "$NAME" == "x64_"*"_programs" ]]; then - cd programs; - mkdir build; - cd build; - cmake .. $CMAKE_CONFIGURE_OPTIONS -DCMAKE_BUILD_TYPE=Release; - cmake --build .; - fi - - - if [[ "$NAME" == "x64_"*"_install" ]]; then - git clone --depth 1 https://github.com/ned14/quickcpplib.git; - pip3 install --user gitpython; - python3 quickcpplib/scripts/test_cpp-pm_install.py test-packaging/example.cpp quickcpplib quickcpplib::hl https://github.com/ned14/quickcpplib master outcome outcome::hl https://github.com/ned14/outcome better_optimisation llfio llfio::sl https://github.com/ned14/llfio master; - cd test_cpp-pm_install; - mkdir build; - cd build; - cmake .. -DCMAKE_BUILD_TYPE=Release; - cmake --build .; - fi - -after_success: - - echo $TRAVIS_OS_NAME - - echo $TRAVIS_COMPILER - - echo $NAME -# - bash -x ./update_coveralls.sh `pwd` -# - NEWNAME=llfio-v2-binaries-linux64-$(date +%Y%m%d%H%M%S).tgz - - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$TRAVIS_COMPILER" = "g++" ] && [ "$NAME" = "x64_EC_tests" ]; then - NEWNAME=llfio-v2-binaries-linux64-$TRAVIS_COMMIT.tgz; - mv llfio-v2.0-binaries-linux-x64.tgz $NEWNAME; - curl -T $NEWNAME -u jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD https://dedi6.nedprod.com/static/files/upload/; - fi - - if [ "$TRAVIS_OS_NAME" = "osx" ] && [ "$NAME" = "x64_EC_tests" ]; then - NEWNAME=llfio-v2-binaries-darwin64-$TRAVIS_COMMIT.tgz; - mv llfio-v2.0-binaries-darwin-x64.tgz $NEWNAME; - curl -T $NEWNAME -u jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD https://dedi6.nedprod.com/static/files/upload/; - fi - -after_failure: diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 2e39d1dd..00000000 --- a/appveyor.yml +++ /dev/null @@ -1,38 +0,0 @@ -# version format -version: 2.00.{build}-{branch} - -# branches to build -branches: - # blacklist - except: - - master - - gh-pages -skip_tags: true - -image: Visual Studio 2017 -init: - - git config --global core.longpaths true - -clone_folder: c:\boost.llfio -platform: x64 -configuration: Release -environment: - JENKINS_NEDPROD_PASSWORD: - secure: 9Bx/dfr0ne9DTgnezRILRuOrPOZ71pVuzWBAscR9vTG9n42gIvNhYVCaCnr6FMa/ - -build_script: - - ctest -S .ci.cmake -V --timeout 300 -after_build: - -before_test: -test_script: -after_test: - -on_success: -# - set "NEWNAME=llfio-v2-binaries-win64-%date:~10,4%%date:~4,2%%date:~7,2%%time:~0,2%%time:~3,2%.zip" - - set "NEWNAME=llfio-v2-binaries-win64-%APPVEYOR_REPO_COMMIT%.zip" - - rename llfio-v2.0-binaries-win64.zip %NEWNAME% - - curl -T %NEWNAME% -u jenkins-nedprod:%JENKINS_NEDPROD_PASSWORD% https://dedi6.nedprod.com/static/files/upload/ -on_failure: -on_finish: - - ps: (new-object net.webclient).UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path prebuilt\merged_junit_results.xml)) diff --git a/attic/.travis.yml b/attic/.travis.yml index 87e6b8ba..e6e5ff5f 100644 --- a/attic/.travis.yml +++ b/attic/.travis.yml @@ -1,92 +1,248 @@ -# Travis CI script to invoke coveralls.io coverage reporting -# (C) 2015 Niall Douglas - +dist: bionic language: cpp -os: - - linux - - osx +sudo: true +git: + submodules: false +branches: + only: + - develop notifications: email: -# recipients: -# - one@example.com -# - other@example.com - on_success: change # [always|never|change] # default: change - on_failure: change # [always|never|change] # default: always + recipients: + - nialldouglas14@gmail.com + +addons: + apt: +# sources: +# - sourceline: "ppa:ubuntu-toolchain-r/test" + packages: + - g++ + - clang + - g++-arm-linux-gnueabihf + - python3 + - cmake + - cmake-data + - doxygen + - python3 + - python3-pip +# homebrew: +# packages: +# - env: - matrix: - - __="GCC 4.8 + Standalone unit/functional tests coverage" VALGRIND=0 CCFLAGS="-fprofile-arcs -ftest-coverage -DBOOST_AFIO_COMPILING_FOR_GCOV -DNDEBUG" GCCVER="g++-4.8" GCOV=1 UNITTESTS=1 - - __="MacOS X build" VALGRIND=0 CCFLAGS="-DNDEBUG" GCCVER="clang++" GCOV=0 UNITTESTS=0 - - __="MacOS X test" VALGRIND=0 CCFLAGS="-DNDEBUG" GCCVER="clang++" GCOV=0 UNITTESTS=1 global: - # Coveralls.io API key - - secure: "LU8flpdvLjaFIVgy8oqhHzy92AUPRgw3bRv+/Q91fnWNrvbeRVMEOj+vML+zDS7iU3L2ZbppNf/1YkavGhHh9HfD8PC0dYPEmU0xjS/3WdoKxMd0MCYUZxQ+6zgx3GLgZS2NxciVlruZSs9Q+hKbguvvjwGGSVin6LlMmC2KqGA=" - # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created - # via the "travis encrypt" command using the project repo's public key - - secure: "ouEimnVEYE28pbGvib6ks+i3mxl1CE0nBAZuvqvVrEbbcSaauEZZCyYiL291l2j90aSPJOJzbny+AhVwsr8mNLyiI9OGRtcnCFNjOHEXPF0Ep78ebmVLX4oyqv7DEPmeJSR/va/ebCrbAbOlPBCPGOFO5UfNtwvx2qJouMtNQMI=" - -#addons: -# coverity_scan: -# project: -# name: "ned14/boost.afio" -# description: "Build submitted via Travis CI" -# notification_email: s_github@nedprod.com -# build_command_prepend: "cd test && bash ./test_file_glob.sh && cd .." -# build_command: "$GCCVER -o test_all -g -O0 -std=c++11 test/test_all.cpp -Iinclude -Itest -DBOOST_AFIO_RUNNING_IN_CI=1 -DBOOST_CONSTEXPR= -DBOOST_CXX14_CONSTEXPR= -DBOOST_AFIO_INCLUDE_SPOOKY_IMPL=1 -Wno-constexpr-not-const -Wno-c++1y-extensions -Wno-unused-value -lboost_filesystem -lboost_system -lpthread -ldl" -# branch_pattern: master - + - secure: "A3TeWTlJdjUaQ31NF60kMOik8mzaJkdKA55jZXjN83BJ2ZjMDmWfq1XmZ7iDIxmn7HC2BVpjhdkj9jpRtPztb08L5VSlJIiVbXlBWNwgzmYANujpR9rA+bhZJwlKDaYQHUZUd4+iGHCHb0dLt2HG0eHF5azaifd0YqCfz5GcWl8=" + matrix: - exclude: - - os: linux - - os: osx include: - - os: linux - env: __="GCC 4.8 + Standalone unit/functional tests coverage" VALGRIND=0 CCFLAGS="-fprofile-arcs -ftest-coverage -DBOOST_AFIO_COMPILING_FOR_GCOV -DNDEBUG" GCCVER="g++-4.8" GCOV=1 UNITTESTS=1 - - os: osx - env: __="MacOS X build" VALGRIND=0 CCFLAGS="-DNDEBUG" GCCVER="clang++" GCOV=0 UNITTESTS=0 - - os: osx - env: __="MacOS X test" VALGRIND=0 CCFLAGS="-DNDEBUG" GCCVER="clang++" GCOV=0 UNITTESTS=1 - - + - name: "g++ 7.5 x64 cmake tests (error_code)" + compiler: g++ + os: linux + env: NAME=x64_EC_tests + - name: "clang++ 7.0 x64 cmake tests (error_code)" + compiler: clang++ + os: linux + env: NAME=x64_EC_tests + - name: "libc++ x64 C++ 20 cmake tests (error_code)" + compiler: clang++-11 + os: linux + env: + - NAME=x64_EC_tests + - CMAKE_CONFIGURE_OPTIONS=-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-libc++.cmake + - name: "Xcode 11.6 x64 cmake tests (error_code)" + compiler: clang++ + os: osx + osx_image: xcode11.6 + env: NAME=x64_EC_tests + - name: "g++ 7.5 x64 cmake tests (status_code)" + compiler: g++ + os: linux + env: + - NAME=x64_SC_tests + - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON + - name: "clang++ 7.0 x64 cmake tests (status_code)" + compiler: clang++ + os: linux + env: + - NAME=x64_SC_tests + - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON + - name: "libc++ x64 C++ 20 cmake tests (status_code)" + compiler: clang++-11 + os: linux + env: + - NAME=x64_SC_tests + - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-libc++.cmake +# - name: "Xcode 11.6 x64 cmake tests (status_code)" +# compiler: clang++ +# os: osx +# osx_image: xcode11.6 +# env: +# - NAME=x64_SC_tests +# - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON + - name: "g++ ARM32 cmake build (error_code)" + compiler: g++ + os: linux + env: NAME=ARM32_EC_build + - name: "g++ ARM32 cmake build (status_code)" + compiler: g++ + os: linux + env: + - NAME=ARM32_SC_build + - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON + - name: "Documentation" + compiler: clang++ + os: linux + env: NAME=Documentation + - name: "g++ 7.5 x64 Programs (error_code)" + compiler: g++ + os: linux + env: NAME=x64_EC_programs + - name: "clang++ 7.0 x64 Programs (error_code)" + compiler: clang++ + os: linux + env: NAME=x64_EC_programs + - name: "libc++ x64 C++ 20 Programs (error_code)" + compiler: clang++-11 + os: linux + env: + - NAME=x64_EC_programs + - CMAKE_CONFIGURE_OPTIONS=-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-libc++.cmake + - name: "Xcode 11.6 x64 Programs (error_code)" + compiler: clang++ + os: osx + osx_image: xcode11.6 + env: NAME=x64_EC_programs +# - name: "x64 Programs (status_code)" +# compiler: +# - g++ +# - clang++ +# - clang++-11 +# env: +# - NAME=x64_SC_programs +# - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON + - name: "g++ 7.5 Installability (error_code)" + compiler: g++ + os: linux + env: NAME=x64_EC_install + - name: "clang++ 7.0 Installability (error_code)" + compiler: clang++ + os: linux + env: NAME=x64_EC_install + - name: "libc++ C++ 20 Installability (error_code)" + compiler: clang++-11 + os: linux + env: + - NAME=x64_EC_install + - CMAKE_CONFIGURE_OPTIONS=-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-libc++.cmake + - name: "Xcode 11.6 Installability (error_code)" + compiler: clang++ + os: osx + osx_image: xcode11.6 + env: NAME=x64_EC_install + - name: "g++ 7.5 Installability (status_code)" + compiler: g++ + os: linux + env: + - NAME=x64_SC_install + - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON + - name: "clang++ 7.0 Installability (status_code)" + compiler: clang++ + os: linux + env: + - NAME=x64_SC_install + - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON + - name: "libc++ C++ 20 Installability (status_code)" + compiler: clang++-11 + os: linux + env: + - NAME=x64_SC_install + - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-libc++.cmake +# - name: "Xcode 11.6 Installability (status_code)" +# compiler: clang++ +# os: osx +# osx_image: xcode11.6 +# env: +# - NAME=x64_SC_install +# - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON + before_install: - - if [ "$__" = "MacOS X build" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then exit 0; fi - - if [ "$__" = "MacOS X test" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then exit 0; fi - - if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test; fi - - if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo add-apt-repository -y ppa:afrank/boost; fi - - if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get update -qq; fi - - if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get install -qq libboost1.57-all-dev; fi - - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ $GCCVER != "" ]; then sudo apt-get install -qq $GCCVER; fi - - git submodule update --init --recursive + - if [ "$TRAVIS_COMPILER" = "clang++-11" ]; then + wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -; + echo "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main" >> /etc/apt/sources.list; + sudo apt update; + sudo apt install clang-11 libc++-11-dev libc++abi-11-dev libomp-11-dev; + fi + - mount + +# mkdir build; +# cd build; +# cmake .. $CMAKE_CONFIGURE_OPTIONS -DCMAKE_BUILD_TYPE=Release; +# cmake --build . -- _sl; +# cmake --build . -- _dl; +# ctest -C Release -E llfio_hl|shared_fs_mutex; +# cd ..; script: - - if [ -e "cov-int" ]; then ls -l cov-int; fi - - if [ -e "cov-int/build-log.txt" ]; then cat cov-int/build-log.txt; fi - - if [ -e "cov-int/scm_log.txt" ]; then cat cov-int/scm_log.txt; fi - - if [ "$__" = "MacOS X build" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then exit 0; fi - - if [ "$__" = "MacOS X test" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then exit 0; fi - - CCFLAGS="$CCFLAGS -g -O0 -std=c++11 test/test_all.cpp detail/SpookyV2.cpp -Iinclude -Itest -DBOOST_AFIO_RUNNING_IN_CI=1 -DBOOST_CXX14_CONSTEXPR= -Wno-constexpr-not-const -Wno-c++1y-extensions -Wno-unused-value -lboost_filesystem -lboost_system -lpthread" - - if [ $GCOV -eq 1 ]; then LINKFLAGS="$LINKFLAGS -lgcov"; fi - - cd test - - bash ./test_file_glob.sh - - cd .. - - $GCCVER -o test_all $CCFLAGS $LINKFLAGS - - if [ "$TRAVIS_OS_NAME" = "osx" ]; then launchctl limit maxfiles; fi - - if [ "$TRAVIS_OS_NAME" = "osx" ]; then sudo launchctl limit maxfiles 10000 10000; fi - - if [ "$TRAVIS_OS_NAME" = "osx" ]; then launchctl limit maxfiles; fi - - if [ "$TRAVIS_OS_NAME" = "osx" ]; then ulimit -a; fi - - if [ "$TRAVIS_OS_NAME" = "osx" ]; then ulimit -n 10000; fi - - if [ "$TRAVIS_OS_NAME" = "osx" ]; then ulimit -a; fi -# - if [ "$TRAVIS_OS_NAME" = "osx" ]; then sysctl -a; fi - - if [ $UNITTESTS -eq 1 ]; then ./test_all; fi + - + if [[ "$NAME" == "x64_"*"_tests" ]]; then + export ASAN_OPTIONS=detect_leaks=0; + ctest -S .ci.cmake -VV --timeout 300 -DCTEST_CONFIGURE_OPTIONS=$CMAKE_CONFIGURE_OPTIONS ; + fi + - + if [[ "$NAME" == "ARM32_"*"_build" ]]; then + ctest -S .ci.cmake -V --timeout 300 -DCTEST_DISABLE_TESTING=1 '-DCTEST_CONFIGURE_OPTIONS=$CMAKE_CONFIGURE_OPTIONS -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-arm.cmake'; + fi + - + if [ "$NAME" = "Documentation" ]; then + git config --global push.default simple; + git config --global user.name "Jenkins nedprod CI"; + git config --global user.email "foo@nowhere"; + git submodule update --init; + cd doc/html; + git checkout gh-pages; + cd ../..; + ctest -S .docs.cmake -V; + cd doc/html; + git add . || true; + git commit -a -m "Travis CI updates documentation" || true; + git push -f https://jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD@github.com/ned14/llfio gh-pages; + cd ../..; + fi + - + if [[ "$NAME" == "x64_"*"_programs" ]]; then + cd programs; + mkdir build; + cd build; + cmake .. $CMAKE_CONFIGURE_OPTIONS -DCMAKE_BUILD_TYPE=Release; + cmake --build .; + fi + - + if [[ "$NAME" == "x64_"*"_install" ]]; then + git clone --depth 1 https://github.com/ned14/quickcpplib.git; + pip3 install --user gitpython; + python3 quickcpplib/scripts/test_cpp-pm_install.py test-packaging/example.cpp quickcpplib quickcpplib::hl https://github.com/ned14/quickcpplib master outcome outcome::hl https://github.com/ned14/outcome better_optimisation llfio llfio::sl https://github.com/ned14/llfio master; + cd test_cpp-pm_install; + mkdir build; + cd build; + cmake .. -DCMAKE_BUILD_TYPE=Release; + cmake --build .; + fi after_success: - - if [ "$__" = "MacOS X build" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then exit 0; fi - - if [ "$__" = "MacOS X test" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then exit 0; fi - - if [ $GCOV -eq 1 ]; then bash -x test/update_coveralls.sh `pwd`; fi + - echo $TRAVIS_OS_NAME + - echo $TRAVIS_COMPILER + - echo $NAME +# - bash -x ./update_coveralls.sh `pwd` +# - NEWNAME=llfio-v2-binaries-linux64-$(date +%Y%m%d%H%M%S).tgz + - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$TRAVIS_COMPILER" = "g++" ] && [ "$NAME" = "x64_EC_tests" ]; then + NEWNAME=llfio-v2-binaries-linux64-$TRAVIS_COMMIT.tgz; + mv llfio-v2.0-binaries-linux-x64.tgz $NEWNAME; + curl -T $NEWNAME -u jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD https://dedi6.nedprod.com/static/files/upload/; + fi + - if [ "$TRAVIS_OS_NAME" = "osx" ] && [ "$NAME" = "x64_EC_tests" ]; then + NEWNAME=llfio-v2-binaries-darwin64-$TRAVIS_COMMIT.tgz; + mv llfio-v2.0-binaries-darwin-x64.tgz $NEWNAME; + curl -T $NEWNAME -u jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD https://dedi6.nedprod.com/static/files/upload/; + fi after_failure: - - if [ "$__" = "MacOS X build" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then exit 0; fi - - if [ "$__" = "MacOS X test" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then exit 0; fi -# - if [ "$TRAVIS_OS_NAME" = "osx" ]; then ls -l /cores/; fi -# - if [ "$TRAVIS_OS_NAME" = "osx" ]; then lldb --help; fi - - if [ "$TRAVIS_OS_NAME" = "osx" ] && [ $UNITTESTS -eq 1 ]; then expect scripts/travis_lldb.expect; fi diff --git a/attic/appveyor.yml b/attic/appveyor.yml index 76e17988..2e39d1dd 100644 --- a/attic/appveyor.yml +++ b/attic/appveyor.yml @@ -1,41 +1,38 @@ # version format -version: 1.40.{build}-{branch} +version: 2.00.{build}-{branch} # branches to build branches: # blacklist except: + - master - gh-pages skip_tags: true -# Operating system (build VM template) -os: Visual Studio 2015 +image: Visual Studio 2017 init: - git config --global core.longpaths true -clone_folder: c:\boost.afio +clone_folder: c:\boost.llfio platform: x64 configuration: Release +environment: + JENKINS_NEDPROD_PASSWORD: + secure: 9Bx/dfr0ne9DTgnezRILRuOrPOZ71pVuzWBAscR9vTG9n42gIvNhYVCaCnr6FMa/ -before_build: - - git submodule update --init --recursive - - git submodule foreach git checkout master - - git submodule foreach git pull origin master - - cd test - - call test_file_glob.bat - - cd .. - - call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 build_script: - - standalone_alltests_msvc.bat + - ctest -S .ci.cmake -V --timeout 300 after_build: before_test: test_script: -# - test_all.exe --reporter junit --out results_all.xml - - test_all.exe after_test: -# - type results_all.xml on_success: +# - set "NEWNAME=llfio-v2-binaries-win64-%date:~10,4%%date:~4,2%%date:~7,2%%time:~0,2%%time:~3,2%.zip" + - set "NEWNAME=llfio-v2-binaries-win64-%APPVEYOR_REPO_COMMIT%.zip" + - rename llfio-v2.0-binaries-win64.zip %NEWNAME% + - curl -T %NEWNAME% -u jenkins-nedprod:%JENKINS_NEDPROD_PASSWORD% https://dedi6.nedprod.com/static/files/upload/ on_failure: on_finish: + - ps: (new-object net.webclient).UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path prebuilt\merged_junit_results.xml)) |