Commit Graph

49 Commits

Author SHA1 Message Date
Martin Hořeňovský 355a6e273b
Add M1 MacOS workflow 2024-04-06 20:27:14 +02:00
Martin Hořeňovský ad99834c14
Add back g++ 5 and 6 to the CI builds
Previously these were removed in bbba3d8a06,
to allow Decomposer changes that were not compatible with old
GCCs. However, the compatibility was restored in
459ac8562b, and so we can restore
the builds again.
2024-03-26 18:11:01 +01:00
Uilian Ries a2a3c55058
Improve Conan recipe support (#2831)
* Improve Conan recipe support
* export files
* supports c++14
* update Conan client in the CI
* Better compatibility with Conan 1.x
* Manage options and cppstd for Conan 1.x
* copy eveything from extra


Signed-off-by: Uilian Ries <uilianries@gmail.com>
2024-03-12 22:59:28 +01:00
Martin Jeřábek 7677c1658e ci: add clang-tidy run 2024-03-01 21:24:45 +01:00
Devon Adair 62d4aecb8c
Conan v2 (#2805)
* Removed Conan1 build.py file using conan package tools that are no longer supported

* Working conan 1 and 2 build with the test package. 

updated the test_package to be updated to conan 2 and fixed missing cmake. Still need to check that the license file is packaged up and that the packages look identical before the changes

* Removing debug prints and the license check that isn't working yet

* Working license file copied over as it was before

* Migrated the properties of cpp_info to conan 2. Keeping conan 1 support by checking the version of conan

https://docs.conan.io/1/migrating_to_2.0/properties.html

* Revert "Removed Conan1 build.py file using conan package tools that are no longer supported"

This reverts commit a606d1dfe6.

* Need to add a set_version to parse the version from CMakeLists.txt

Adding a package build yaml to ensure conan keeps building on 1 and 2

* Setting lowercase catch2 for pkg_config and cmake_target_name

* Fixing the namespace for conan file cmake_target_name
2024-02-17 16:42:44 +01:00
Martin Hořeňovský bbba3d8a06
Disable CI for GCC 5 and 6
They can't compile the new constexpr decomposer because
`ITransientExpression` has a defaulted virtual destructor. We could
instead drop the virtual destructor - it only exists to silence
static analysis tools complaining about having virtual functions
without virtual destructor - but GCC 5 and 6 are positively ancient,
so we drop them instead.
2024-02-11 14:36:17 +01:00
Martin Hořeňovský 658acee86e
Run tests on all cores in GHA jobs 2024-01-15 14:22:45 +01:00
Martin Hořeňovský d1d7414eb9
Always run apt-get update before apt-get install
The base images for GitHub Actions are updated weekly, but
sometimes that is not enough to be able to install the packages
we require. The recommended fix for this is to always run
`apt-get update` before `apt-get install`.
2023-12-09 12:05:45 +01:00
Krzysiek Karbowiak 01cac90c62
Bump up actions/checkout version to v4 (#2760) 2023-11-09 10:31:49 +01:00
Krzysiek Karbowiak b735dfce2d
Increase build parallelism on macOS (#2759)
Co-authored-by: Martin Hořeňovský <martin.horenovsky@gmail.com>
2023-11-07 22:17:47 +01:00
Martin Hořeňovský c8363143e7
Add test scaffolding for catch_discover_tests 2023-06-14 21:14:33 +02:00
Martin Hořeňovský 72b60dfd28
Cleanup the Windows GHA builds
* Use CMD as the shell and simplify configure/build steps
* Include plaform in the build name
2022-12-30 23:58:05 +01:00
Martin Hořeňovský 77fbacb03f
Add VS 2019-2022 C+14/17 jobs to GHA
For now I added only the basic build matrix, without coverage
collection and more special builds, like WMAIN.

However, due to GHA being so much faster than AppVeyor, all
these builds are now done against the 'all-tests' prefix, making
the builds more uniform than they were on AppVeyor.
2022-12-16 22:34:33 +01:00
Martin Hořeňovský 2d7be1f7de
Add Clang-10 and GCC-10 C++20 builds 2022-11-22 16:17:18 +01:00
Vertexwahn 41990e0fe6
Fix Bazel build (#2563)
Also adds a CI job for Bazel build to avoid future breakage.
2022-11-11 16:54:22 +01:00
Martin Hořeňovský 0a1b0ae9d1
Meson build fixes
* Add missing files to `tests/meson.build`
* Rename meson build workflows to be more easily identifiable
2022-11-04 19:24:36 +01:00
Martin Hořeňovský 272bed081e
Set CMAKE_CXX_STANDARD_REQUIRED=ON in Github Action builds 2022-10-29 21:05:02 +02:00
Martin Hořeňovský e94976ec9c
Downgrade MacOS version in GHA 2022-10-15 13:06:50 +02:00
Mike Crowe 4db8b50aab
Add support for building with Meson (#2530)
The Meson[1] build system makes it easier incorporate third-party
libaries into a project if they also build using Meson.

Let's add a minimal Meson build that's compatible with the CMake build,
along with a GitHub workflow to check that it builds and that at least
the simplest SelfTest runs.

The handling of catch_user_config.hpp is inspired by BUILD.bazel and
doesn't attempt to support any configuratons options. Such features
could be added later.

Meson strongly discourages using wildcards to specify sources, so the
source and header lists are copied from CMakeLists.txt.

Add a new test workflow to test the Meson builds. I was unable to get
these tests to pass with Ubuntu 20.04, so they use Ubuntu 22.04.

I'm neither a CMake nor a Meson expert, but the results seem to work for
me.

[1] https://mesonbuild.com/

Co-authored-by: Mike Crowe <mcrowe@brightsign.biz>
2022-10-01 23:28:30 +02:00
Dimitrij Mijoski c75430834d Add GCC 5 and GCC 6 to CI 2022-09-15 13:40:16 +02:00
Martin Hořeňovský a118799631
Switch MacOS image to macos-12 in Github Actions
Also updated GCC version to GCC-11, which is packaged in the
runner image.
2022-08-03 23:54:49 +02:00
Martin Hořeňovský c2bc321607
Add pipeline running tests under Valgrind to GitHub Action 2022-04-24 13:34:50 +02:00
Martin Hořeňovský ea9029c478
Fix pkg list name in CMake config workflow 2022-04-24 13:34:36 +02:00
Martin Hořeňovský 72f0372664
Add tests for CMake configure toggles passing to Catch2 build 2022-02-20 19:32:30 +01:00
Martin Hořeňovský 4436a60456
Add myself to FUNDING 2021-10-11 10:44:29 +02:00
Martin Hořeňovský 96790b1d23
Always install the used compiler in Github Actions
This avoids the CI breaking again when the base images remove
an older compiler again.
2021-05-28 11:30:06 +02:00
Martin Hořeňovský 2cb5210caf
Fix and improve GitHub Actions CI
* Fixed problem with older compilers by explicitly installing the
  right compiler version.
* Split apart simple builds that can be well described by a build
  matrix, and builds that need special CMake defines or similar
  special snowflake handling.
* Ported some extras + examples builds from TravisCI to GitHub
  Actions.
2021-04-30 23:26:28 +02:00
Martin Hořeňovský 749d953712
Add Clang 10 + C++17 build to linux CI 2021-02-20 22:26:22 +01:00
Martin Hořeňovský 4b50b13970
Disable C++ extensions for linux CI builds 2021-02-20 20:39:23 +01:00
Martin Hořeňovský 29050daec0
Add Linux and Windows CI builds with surrogate TUs 2021-02-19 23:23:00 +01:00
Martin Hořeňovský c787b1edc9
Make Linux builds print stdout on ctest test failure 2020-12-15 09:58:19 +01:00
Martin Hořeňovský 230f23e6ee
Add more Clang builds to github actions 2020-11-29 10:22:21 +01:00
Martin Hořeňovský 88504e5332
Use Ubuntu-20.04 runner for running header guard validation
Using `ubuntu-latest` is triggering warning that it will soon migrate
from 18.04 to 20.04, so I am migrating preventively.
2020-11-28 23:09:10 +01:00
Martin Hořeňovský 4da0c18526
C++17 Mac builds 2020-11-28 21:13:00 +01:00
Martin Hořeňovský 1d746a15ac
Move Examples and ExtraTests Mac builds to Github Actions 2020-11-28 21:03:38 +01:00
Martin Hořeňovský f30a9e3feb
Move some Mac builds from Travis to GitHub Actions 2020-11-28 17:47:26 +01:00
Martin Hořeňovský 0442229dc9
Start using GitHub actions for Linux builds
For now we switched only some of the builds, those that do not
need manually installed compiler packages to function.
2020-11-28 11:13:16 +01:00
Martin Hořeňovský 0fa133a0c5
Run checking scripts directly 2020-11-10 15:25:52 +01:00
Martin Hořeňovský 447b39cae0
Better names for misc-checks workflow steps 2020-11-10 15:25:24 +01:00
George Xanthakis d913837a5d
Adds license check in CI 2020-11-10 00:51:24 +02:00
George Xanthakis 39e13bf530
Adds duplication check for source files in CI 2020-11-07 21:35:41 +02:00
Martin Hořeňovský 2baa472bcc
Add GitHub action to check that include guards use standard pattern
Based on work by @innerout, but finished and merged by me, because
the GitHub action refused to run for him.

Closes #2075
Closes #2091
2020-11-06 21:36:31 +01:00
Martin Hořeňovský b32d2fa016
Update FUNDING file (-Patreon, +PayPal) 2020-07-24 22:35:17 +02:00
Martin Hořeňovský f0b7b0ca11
Add a FUNDING file 2019-06-07 19:15:35 +02:00
Ryan Pavlik edde6f4736 Fix typos identified by codespell.
Self test baselines also modified accordingly, due to
one typo found in a string in test code.
2019-04-10 09:42:11 +02:00
Martin Hořeňovský b275ead8c3
Remove the obsolete issue template 2019-01-18 15:38:09 +01:00
Martin Hořeňovský b0381e42b2
Update issue templates
The old template that combined both bug reports and issue requests has led to various weird issues being filed, maybe having a separate one for each will help.
2019-01-18 15:36:34 +01:00
Martin Hořeňovský a6cdcd43aa Added "How to test changes in PR" section to documentation
Also linked it from PR template.

Closes #936
2017-06-22 18:56:10 +02:00
Martin Hořeňovský e1dbb7cf64 First draft of issue and PR templates.
Apparently we can also get contributing.md to be linked from
issues and PRs, but it would also have to be in .github folder
or in root of the project.
2017-01-28 11:42:11 +01:00