Commit Graph

39 Commits

Author SHA1 Message Date
Amaury Chamayou
60861eef44 CI for both arms (#151)
* Add another ARM
2020-03-20 09:17:38 +00:00
Amaury Chamayou
e92fef6e63 ARM CI (#148)
* Add ARM setup

* Factor what can be into common scripts
2020-03-20 08:07:12 +00:00
Amaury Chamayou
a6d6eecf22 Containerise Linux build (#145) 2020-03-19 09:28:06 +00:00
Amaury Chamayou
3911e2c4b5 Update the macOS image, since 10.13 is going out of support 2020-03-11 14:46:41 +00:00
Matthew Parkinson
b756ca08a7 Address GCC8 warning
The bootstrapping allocator needs to perform a memcpy to bypass the
removed move constructors on std::atomic.  This is safe as there is no
concurrency at this point, but GCC is unhappy with this.

This commit moves CI to GCC8 and disables this warning for that line.
2020-03-01 20:48:03 +00:00
Matthew Parkinson
ba5bcf031c Fix Clang-tidy call 2020-02-06 13:04:06 +00:00
Matthew Parkinson
cae3317964 Update to use clangformat9
With clangformat9 the AfterCaseLabel is introduced.
And this defaults to false, but our code is formatted
implicitly with this set to true.

PRs to Verona and Snmalloc are being formatted with clangformat9,
and this is causing complexity. Let's move forward to clangformat9
in CI.
2020-02-06 09:09:32 +00:00
Matthew Parkinson
afc77d9a0a Some improvements to CI (#121)
* Removing option as not supported by CI

Will migrate CI forward and readd.

* Made failure for clang-format errors.

* Improved handling of errors during CI.

* Prevent failures escaping.

* Clang-format fix

* Remove stderr

* Update azure-pipelines.yml

Co-Authored-By: Paul Liétar <plietar@users.noreply.github.com>

Co-authored-by: Paul Liétar <plietar@users.noreply.github.com>
2020-02-03 21:01:06 +00:00
Matthew Parkinson
0affc069cf Make snmalloc build on Windows with Clang
Fixes a few places where Clang complains about Windows specific code,
and also uses macros supported by Clang on Windows.  A few places
separating platform and compiler specific code, as MSVC and WIN32 were
used interchangably previously.
2020-01-26 19:46:18 +00:00
SchrodingerZhu
8304dedd17 add rust support (#113)
* add rust support

* move aligned_size to sizeclass.h

* add static qualifier

* adjust CMakeLists.txt, may broke CI tests

* fix msvc's complaining on c++17

* use SNMALLOC_FAST_PATH as the decorator of aligned_size

* adapt new alignment algorithm and add related test

Co-authored-by: mjp41 <mattpark@microsoft.com>

* fix test cases for msvc

* add extra test for size == 0

* treat memory block of same sizeclass as the same

* fix formatting problem

* remove extra declarations

Co-authored-by: Matthew Parkinson <mjp41@users.noreply.github.com>
2020-01-23 07:08:18 +00:00
Matthew Parkinson
3f9e63209d Make CI show clangformat failures. 2019-11-21 11:39:55 +00:00
Matthew Parkinson
f72d75ead8 Print stats on windows machines using WSL. 2019-08-15 10:49:01 +01:00
Matthew Parkinson
16b084f501 Changed abort behaviour for Windows CI. 2019-08-13 15:37:54 +01:00
David Chisnall
caec12c545 Reduce the parallelism in Windows Release build tests.
Hopefully this will stop the CI machines from running out of memory...
2019-08-01 12:53:03 +01:00
Paul Liétar
b185337c07 Specify a CMakeArgs for every matrix entry. 2019-07-17 13:54:56 +01:00
Paul Liétar
e87d184926 Remove $(CMakeOptions) that was leftover by accident. 2019-07-17 13:51:24 +01:00
Paul Liétar
a5379b24d5 Add remove_cache_friendly_offset calls in a few places that were missing it. 2019-07-17 13:14:59 +01:00
David Chisnall
bc34e5abe5 Reduce parallelism on the Win8Compat CI job
This version doesn't get to perform aligned allocations and so can
consume a lot more memory than the other modes.
2019-07-10 11:50:20 +01:00
Matthew Parkinson
1f2b60ef65 Updated the syntax of the Azure pipelines file. 2019-07-02 17:27:47 +01:00
Matthew Parkinson
b14735ff06 Fix clang format check. 2019-07-02 10:46:37 +01:00
Theo Butler
fd4d88ecc1 fix Windows build type 2019-05-18 13:00:25 +02:00
Theo Butler
070e0700a8 use clangformat cmake target 2019-05-18 12:54:35 +02:00
Theo Butler
f9b9523d0c add ld preload build to linux matrix 2019-05-18 11:07:50 +02:00
Theo Butler
f5000c087f merge clang and gcc build into one matrix 2019-05-18 10:38:41 +02:00
Theo Butler
54f219c902 Install g++7 for Linux-gcc CI 2019-05-16 20:35:04 +02:00
Matthew Parkinson
8fcedfc290 Fix the GCC build (#40)
* Make it compile with GCC.  
* Add GCC to CI.
* Add warning to documentation about using GCC.
2019-05-05 19:58:37 +01:00
David Chisnall
d259a87d03 Make clang-tidy fail when it ought to.
clang-tidy exits with an error code of 0 if the code compiles, even if
there are warnings.  Make it generate a file with the errors and fail
the test if this file exists.

Also remove the -fix flag - we don't want clang-tidy to fix things in CI
(yet?).
2019-04-30 15:02:55 +01:00
David Chisnall
4f8c7ba258 Add clang-tidy to CI. 2019-04-30 14:52:19 +01:00
David Chisnall
25c365682e Pipeline names can't contain spaces. 2019-02-25 16:33:57 +00:00
David Chisnall
11ccf365d3 Move LD_PRELOAD to a separate test.
The Linux Debug build is currently one of the slowest two, pull out one
phase of it that is independent and allow it to run in parallel with the
other tests.
2019-02-25 16:33:57 +00:00
David Chisnall
ef50a0282b Attempt to make CI faster.
- Don't run an expensive functionality test in debug builds.
- Don't run the different cache configurations (they're probably going
  away soon because they help only in synthetic benchmarks).
2019-02-25 16:33:57 +00:00
David Chisnall
feb77ac6c6 Split compile and test CI phases. 2019-02-25 16:33:57 +00:00
David Chisnall
aab4de7bc9 First attempt at adding macOS to CI. 2019-02-25 12:54:16 +00:00
David Chisnall
2ee3ba59ee Use VirtualAlloc2 on Windows.
The newer API (Windows 10 and newer) allows the allocator to ask for
strongly aligned memory.

This is enabled only if the `WINVER` macro is set to target Windows 10
or newer.  There is now a CMake option to target older versions of
Windows, so we can test both code paths.

The Azure Pipelines config now includes a test of the compatibility
version.  This runs only the release build, because it's mainly there as
a sanity check - 99% of the code is the same as the default Windows
config.
2019-02-20 17:36:39 +01:00
Matthew Parkinson
2cd84c80b2 Build shim with 1MiB superslabs. 2019-02-06 17:08:47 +00:00
Matthew Parkinson
c4e6af4bad Remove spaces from CI task names 2019-01-16 15:22:29 +00:00
Matthew Parkinson
8a0e20eae3 Added 32bit Windows compile to the CI 2019-01-16 15:17:38 +00:00
Matthew Parkinson
5d71f3bf85 Migrated original CI script. 2019-01-15 14:26:50 +00:00
Matthew Parkinson
4a7909f22b Set up CI with Azure Pipelines 2019-01-15 14:23:45 +00:00