diff options
author | Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com> | 2019-09-12 00:38:24 +0300 |
---|---|---|
committer | Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com> | 2019-09-12 00:38:24 +0300 |
commit | af8b1a4642c69cb5a522a42fd11cfc2845e264a7 (patch) | |
tree | b646eb8ee7a412c3f1a63a63fbcf4ea0a8f1ae51 | |
parent | 4fdce86c35250b8244386a9c6d4a90ef4f7d59aa (diff) |
Add CI building on ARM, as people have asked for it (issue #37)
-rw-r--r-- | .ci.cmake | 33 | ||||
-rw-r--r-- | .travis.yml | 35 | ||||
-rw-r--r-- | Readme.md | 4 | ||||
-rw-r--r-- | include/llfio/revision.hpp | 6 | ||||
m--------- | include/llfio/v2.0/outcome | 0 | ||||
m--------- | include/llfio/v2.0/quickcpplib | 0 | ||||
-rw-r--r-- | release_notes.md | 2 | ||||
m--------- | test/kerneltest | 0 |
8 files changed, 55 insertions, 25 deletions
@@ -15,11 +15,13 @@ ctest_update() ctest_configure(OPTIONS ${CTEST_CONFIGURE_OPTIONS}) ctest_build(TARGET _dl) ctest_build(TARGET _sl) -if(WIN32) - # Appveyor's Windows version doesn't permit unprivileged creation of symbolic links - ctest_test(RETURN_VALUE retval EXCLUDE "llfio_hl|shared_fs_mutex|symlink") -else() - ctest_test(RETURN_VALUE retval EXCLUDE "llfio_hl|shared_fs_mutex") +if(NOT CTEST_DISABLE_TESTING) + if(WIN32) + # Appveyor's Windows version doesn't permit unprivileged creation of symbolic links + ctest_test(RETURN_VALUE retval EXCLUDE "llfio_hl|shared_fs_mutex|symlink") + else() + ctest_test(RETURN_VALUE retval EXCLUDE "llfio_hl|shared_fs_mutex") + endif() endif() if(WIN32) if(EXISTS "prebuilt/bin/Release/llfio_dl-2.0-Windows-x64-Release.dll") @@ -60,9 +62,22 @@ else() COMMAND cp -a release_notes.md llfio/ COMMAND cp -a --parents prebuilt/lib/libllfio_sl-2.0-Linux-x86_64-Release.a llfio/ COMMAND cp -a --parents prebuilt/lib/libllfio_dl-2.0-Linux-x86_64-Release.so llfio/ - COMMAND "${CMAKE_COMMAND}" -E tar cfz llfio-v2.0-binaries-linux64.tgz llfio + COMMAND "${CMAKE_COMMAND}" -E tar cfz llfio-v2.0-binaries-linux-x64.tgz llfio + ) + get_filename_component(toupload llfio-v2.0-binaries-linux-x64.tgz ABSOLUTE) + endif() + if(EXISTS "prebuilt/lib/libllfio_dl-2.0-Linux-armhf-Release.so") + checked_execute_process("Tarring up binaries" + COMMAND mkdir llfio + COMMAND cp -a doc llfio/ + COMMAND cp -a include llfio/ + COMMAND cp -a Readme.md llfio/ + COMMAND cp -a release_notes.md llfio/ + COMMAND cp -a --parents prebuilt/lib/libllfio_sl-2.0-Linux-armhf-Release.a llfio/ + COMMAND cp -a --parents prebuilt/lib/libllfio_dl-2.0-Linux-armhf-Release.so llfio/ + COMMAND "${CMAKE_COMMAND}" -E tar cfz llfio-v2.0-binaries-linux-armhf.tgz llfio ) - get_filename_component(toupload llfio-v2.0-binaries-linux64.tgz ABSOLUTE) + get_filename_component(toupload llfio-v2.0-binaries-linux-armhf.tgz ABSOLUTE) endif() if(EXISTS "prebuilt/lib/libllfio_dl-2.0-Darwin-x86_64-Release.so") checked_execute_process("Tarring up binaries" @@ -73,9 +88,9 @@ else() COMMAND cp -a release_notes.md llfio/ COMMAND cp -a --parents prebuilt/lib/libllfio_sl-2.0-Darwin-x86_64-Release.a llfio/ COMMAND cp -a --parents prebuilt/lib/libllfio_dl-2.0-Darwin-x86_64-Release.dylib llfio/ - COMMAND "${CMAKE_COMMAND}" -E tar cfz llfio-v2.0-binaries-darwin64.tgz llfio + COMMAND "${CMAKE_COMMAND}" -E tar cfz llfio-v2.0-binaries-darwin-x64.tgz llfio ) - get_filename_component(toupload llfio-v2.0-binaries-darwin64.tgz ABSOLUTE) + get_filename_component(toupload llfio-v2.0-binaries-darwin-x64.tgz ABSOLUTE) endif() endif() set(retval2 0) diff --git a/.travis.yml b/.travis.yml index 5cbbe9d5..8a57f00c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,6 +21,7 @@ addons: packages: - g++ - clang + - g++-arm-linux-gnueabihf - python3 - cmake - cmake-data @@ -30,10 +31,12 @@ env: global: - secure: "A3TeWTlJdjUaQ31NF60kMOik8mzaJkdKA55jZXjN83BJ2ZjMDmWfq1XmZ7iDIxmn7HC2BVpjhdkj9jpRtPztb08L5VSlJIiVbXlBWNwgzmYANujpR9rA+bhZJwlKDaYQHUZUd4+iGHCHb0dLt2HG0eHF5azaifd0YqCfz5GcWl8=" matrix: - - __="cmake tests (error_code)" NAME=TravisLinuxWorkerEC CMAKE_CONFIGURE_OPTIONS= - - __="cmake tests (status_code)" NAME=TravisLinuxWorkerSC CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON + - __="x64 cmake tests (error_code)" NAME=Linux_x64_EC CMAKE_CONFIGURE_OPTIONS= + - __="x64 cmake tests (status_code)" NAME=Linux_x64_SC CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON + - __="ARM32 cmake tests (error_code)" NAME=Linux_ARM32_EC CMAKE_CONFIGURE_OPTIONS= + - __="ARM32 cmake tests (status_code)" NAME=Linux_ARM32_SC CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON # - __="cmake tests" NAME=TravisOSXWorker - - __="Documentation" NAME=TravisDocumentation + - __="Documentation" NAME=Documentation - __="Programs" matrix: @@ -47,10 +50,16 @@ matrix: # - os: osx # env: __="cmake tests (status_code)" NAME=TravisLinuxWorkerSC CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON - os: linux - compiler: g++ - env: __="Documentation" NAME=TravisDocumentation + compiler: clang++ + env: __="ARM32 cmake tests (error_code)" NAME=Linux_ARM32_EC CMAKE_CONFIGURE_OPTIONS= + - os: linux + compiler: clang++ + env: __="ARM32 cmake tests (status_code)" NAME=Linux_ARM32_SC CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON - os: linux - env: __="cmake tests" NAME=TravisOSXWorker + compiler: g++ + env: __="Documentation" NAME=Documentation +# - os: linux +# env: __="cmake tests" NAME=TravisOSXWorker cache: apt: true @@ -72,11 +81,17 @@ before_install: script: - - if [ "$__" = "cmake tests" ] || [ "$__" = "cmake tests (error_code)" ] || [ "$__" = "cmake tests (status_code)" ]; then + if [ "$__" = "cmake tests" ] || [ "$__" = "x64 cmake tests (error_code)" ] || [ "$__" = "x64 cmake tests (status_code)" ]; then export ASAN_OPTIONS=detect_leaks=0; ctest -S .ci.cmake -V --timeout 300 -DCTEST_CONFIGURE_OPTIONS=$CMAKE_CONFIGURE_OPTIONS ; fi - + if [ "$__" = "ARM32 cmake tests (error_code)" ] || [ "$__" = "ARM32 cmake tests (status_code)" ]; then + export CXX=arm-linux-gnueabihf-g++; + export $CMAKE_CONFIGURE_OPTIONS=$$CMAKE_CONFIGURE_OPTIONS -DCMAKE_SYSTEM_PROCESSOR=armhf; + ctest -S .ci.cmake -V --timeout 300 -DCTEST_DISABLE_TESTING=1 -DCTEST_CONFIGURE_OPTIONS=$CMAKE_CONFIGURE_OPTIONS ; + fi + - if [ "$__" = "Documentation" ]; then git config --global push.default simple; git config --global user.name "Jenkins nedprod CI"; @@ -103,14 +118,14 @@ script: after_success: # - bash -x ./update_coveralls.sh `pwd` # - NEWNAME=llfio-v2.0-binaries-linux64-$(date +%Y%m%d%H%M%S).tgz - - if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "$CXX" = "g++" ] && [ "$__" = "cmake tests (error_code)" ]; then + - if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "$CXX" = "g++" ] && [ "$__" = "x64 cmake tests (error_code)" ]; then NEWNAME=llfio-v2.0-binaries-linux64-$TRAVIS_COMMIT.tgz; - mv llfio-v2.0-binaries-linux64.tgz $NEWNAME; + mv llfio-v2.0-binaries-linux-x64.tgz $NEWNAME; curl -T $NEWNAME -u jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD https://dedi5.nedprod.com/static/files/upload/; fi - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then NEWNAME=llfio-v2.0-binaries-darwin64-$TRAVIS_COMMIT.tgz; - mv llfio-v2.0-binaries-darwin64.tgz $NEWNAME; + mv llfio-v2.0-binaries-darwin-x64.tgz $NEWNAME; curl -T $NEWNAME -u jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD https://dedi5.nedprod.com/static/files/upload/; fi @@ -4,9 +4,9 @@ This is the post-peer-review LLFIO v2 rewrite. You can view its documentation at Tarballs of source and prebuilt binaries for Linux x64, MacOS x64 and Windows x64: - https://dedi5.nedprod.com/static/files/llfio-v2.0-source-latest.tar.xz -- https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-linux64-latest.tgz +- https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-linux64-latest.tgz (Ubuntu 18.04 LTS x64) - https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-darwin64-latest.tgz (disabled pending XCode supporting Filesystem TS) -- https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-win64-latest.zip +- https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-win64-latest.zip (VS2017 x64) USAGE AND CONFIGURATION INSTRUCTIONS CAN BE FOUND AT https://ned14.github.io/llfio/ diff --git a/include/llfio/revision.hpp b/include/llfio/revision.hpp index f28715e9..01d11d47 100644 --- a/include/llfio/revision.hpp +++ b/include/llfio/revision.hpp @@ -1,4 +1,4 @@ // Note the second line of this file must ALWAYS be the git SHA, third line ALWAYS the git SHA update time -#define LLFIO_PREVIOUS_COMMIT_REF a302c5ab2f601c0116fb62c6b21dec4a143550e9 -#define LLFIO_PREVIOUS_COMMIT_DATE "2019-09-10 19:21:22 +00:00" -#define LLFIO_PREVIOUS_COMMIT_UNIQUE a302c5ab +#define LLFIO_PREVIOUS_COMMIT_REF 4fdce86c35250b8244386a9c6d4a90ef4f7d59aa +#define LLFIO_PREVIOUS_COMMIT_DATE "2019-09-11 19:35:14 +00:00" +#define LLFIO_PREVIOUS_COMMIT_UNIQUE 4fdce86c diff --git a/include/llfio/v2.0/outcome b/include/llfio/v2.0/outcome -Subproject caa46678eb64ddc4293f3c16f82c854860f5bfa +Subproject eddefe0fd483f39d20fa5f8ef65b4908ac9a67b diff --git a/include/llfio/v2.0/quickcpplib b/include/llfio/v2.0/quickcpplib -Subproject af4fd20c2adec666b23b77f1490a5fab3d92ffb +Subproject a2e5c5ac4ad3f414c46b5566cbfcef40a63279d diff --git a/release_notes.md b/release_notes.md index cc6c9e8c..6b49e866 100644 --- a/release_notes.md +++ b/release_notes.md @@ -5,7 +5,7 @@ <td align="center"> <a href="https://travis-ci.org/ned14/llfio">Linux and MacOS CI:</a><img src="https://travis-ci.org/ned14/llfio.svg?branch=master"/> </td> <td align="center"> <a href="https://ci.appveyor.com/project/ned14/llfio/branch/master">Windows CI:</a><img src="https://ci.appveyor.com/api/projects/status/dfctqfap3kpx89om/branch/master?svg=true"/> </td> <td align="center"> <a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-source-latest.tar.xz">Latest stable</a><br><a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-source-latest.tar.xz">sources</a> </td> -<td align="center"> <a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-linux64-latest.tgz">Latest stable</a><br><a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-linux64-latest.tgz">Linux x64 prebuilt</a> </td> +<td align="center"> <a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-linux64-latest.tgz">Latest stable</a><br><a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-linux64-latest.tgz">Ubuntu 18.04 x64 prebuilt</a> </td> <td align="center"> <!--<a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-darwin-latest.tgz">Latest stable</a><br><a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-darwin64-latest.tgz">OS X x64 prebuilt</a>--> </td> <td align="center"> <a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-win64-latest.zip">Latest stable</a><br/><a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-win64-latest.zip">VS2017 x64 prebuilt</a> </td> </tr> diff --git a/test/kerneltest b/test/kerneltest -Subproject 6290685726a577fc9a07223ce67aaca9ad1a9d3 +Subproject 2b083a84a178469829abb50767832604aaf76a3 |