Commit Graph

12 Commits

Author SHA1 Message Date
Nathaniel Wesley Filardo
eb0698fc09 CI: Add RISC-V 64 cross-build & qemu-user tests 2021-10-20 12:02:08 +01:00
David Chisnall
0007a53ef9 Move CI to GitHub Actions
A few highlights relative to our existing CI:

- Add a FreeBSD 12.2 and 13.0 runner so we have some FreeBSD CI.
- Windows builds use msbuild with the Visual-Studio-provided clang toolchain to test clang
 - The matrix builds describe the axes of the matrix, not all points.
 - The Arm builds now cross-compile with a native clang and run the tests with qemu, rather than running the compiler, linker, and ctest all with qemu.
 
This also includes a fix for one of the tests that was doing `static_cast<unsigned int>(1) << 36`, which is undefined behaviour and was sometimes causing qemu to hang.  There is now an assert to catch this in the future.
2021-08-03 17:10:56 +01:00
Nathaniel Filardo
c132c86cf9 ci/README: document how to test docker images locally
While here, fix the `docker build` command: the images are named `build_${IMG}`
while the ci files are just `ci/${IMG}`, no `build_` prefix.
2021-04-21 21:49:01 +01:00
Nathaniel Filardo
7b0c38228b ci/scripts/build: allow out-of-tree builds
Specify SNMALLOC_SRC in the environment to override the default of ".." for the
source tree.
2021-04-21 21:49:01 +01:00
Nathaniel Filardo
2f3a5f7974 ci/scripts/build: Don't force C++17
Let cmake do that for us
2021-04-21 21:49:01 +01:00
Nathaniel Filardo
a949e37602 ci: move linux_x64 to Ubuntu 20.04 LTS
This brings us clang 10 and its understanding of C++20 as a standard (rather
than it being called c++2a in earlier versions).

Ubuntu folded together clang-N and clang++-N into the former, so adjust the
names of packages to be installed.
2021-04-21 21:49:01 +01:00
Matthew Parkinson
4e1f5829a7 Change default chunksize to 1MiB (#229)
This change makes the original 16MiB option not the common option.

It also changes the names of the defines to
  SNMALLOC_USE_LARGE_CHUNKS
  SNMALLOC_USE_SMALL_CHUNKS

The second should be set for Open Enclave configuration, and results in
256KiB chunk sizes.  The first being set builds the original 16MiB chunk
sizes.  If neither is set, then we default to 1MiB chunk sizes.
2020-07-09 13:22:32 +01:00
Paul Liétar
0f5cc165e8 Don't require 16-byte CAS on x86. (#173)
* Don't require 16-byte CAS on x86.

We only need to CAS 2 pointers, which is always possible on x86.

* Fix the way the Image variable is referenced.

* Replace failOnStderr by `set -eo pipefail` on Linux.

The x86 image doesn't have clangformat, which causes cmake to print a
warning on the stderr. Exit codes should be enough to detect failure.

* Use x86 images from snmallocciteam.

* clang-format
2020-04-16 07:33:02 +01:00
Amaury Chamayou
d87888096e Add CI README, explaining how to update docker images (#162) 2020-04-03 08:27:50 +01:00
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