-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
63 changed files
with
1,986 additions
and
1,489 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
BasedOnStyle: LLVM | ||
ColumnLimit: 120 | ||
BreakBeforeBraces: Custom | ||
BraceWrapping: | ||
AfterFunction: false | ||
AfterClass: false | ||
AlwaysBreakTemplateDeclarations: Yes | ||
AllowShortFunctionsOnASingleLine: Empty |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
|
||
Checks: 'clang-diagnostic-*,clang-analyzer-*' | ||
HeaderFileExtensions: | ||
- hpp | ||
ImplementationFileExtensions: | ||
- cpp | ||
|
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to | ||
# newer versions of the distribution. | ||
|
||
## Ubuntu distribution repository | ||
## | ||
## The following settings can be adjusted to configure which packages to use from Ubuntu. | ||
## Mirror your choices (except for URIs and Suites) in the security section below to | ||
## ensure timely security updates. | ||
## | ||
## Types: Append deb-src to enable the fetching of source package. | ||
## URIs: A URL to the repository (you may add multiple URLs) | ||
## Suites: The following additional suites can be configured | ||
## <name>-updates - Major bug fix updates produced after the final release of the | ||
## distribution. | ||
## <name>-backports - software from this repository may not have been tested as | ||
## extensively as that contained in the main release, although it includes | ||
## newer versions of some applications which may provide useful features. | ||
## Also, please note that software in backports WILL NOT receive any review | ||
## or updates from the Ubuntu security team. | ||
## Components: Aside from main, the following components can be added to the list | ||
## restricted - Software that may not be under a free license, or protected by patents. | ||
## universe - Community maintained packages. Software in this repository receives maintenance | ||
## from volunteers in the Ubuntu community, or a 10 year security maintenance | ||
## commitment from Canonical when an Ubuntu Pro subscription is attached. | ||
## multiverse - Community maintained of restricted. Software from this repository is | ||
## ENTIRELY UNSUPPORTED by the Ubuntu team, and may not be under a free | ||
## licence. Please satisfy yourself as to your rights to use the software. | ||
## Also, please note that software in multiverse WILL NOT receive any | ||
## review or updates from the Ubuntu security team. | ||
## | ||
## See the sources.list(5) manual page for further settings. | ||
Types: deb | ||
URIs: http://archive.ubuntu.com/ubuntu/ | ||
Suites: noble noble-updates noble-backports | ||
Components: main universe restricted multiverse | ||
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg | ||
|
||
## Ubuntu security updates. Aside from URIs and Suites, | ||
## this should mirror your choices in the previous section. | ||
Types: deb | ||
URIs: http://security.ubuntu.com/ubuntu/ | ||
Suites: noble-security | ||
Components: main universe restricted multiverse | ||
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,124 +1,40 @@ | ||
name: Unit Testing | ||
|
||
on: | ||
push: | ||
branches: [master] | ||
pull_request: | ||
types: [opened, synchronize, reopened] | ||
types: [opened, synchronize] | ||
|
||
jobs: | ||
ensure_tests: | ||
name: Ensure No Missing Tests | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
name: Checkout repository | ||
- run: | | ||
./scripts/test_generator.sh | ||
name: Run test generator script | ||
unit_test_gcc_linux: | ||
name: Linux (GCC=v${{ matrix.version }}, Double=${{ matrix.double-precision }}) | ||
needs: [ ensure_tests ] | ||
unit_test_gcc: | ||
strategy: | ||
matrix: | ||
version: [9, 10, 11, 12, 13] | ||
double-precision: [ON, OFF] | ||
version: [13, 14] | ||
runs-on: ubuntu-latest | ||
env: | ||
CC: gcc-${{ matrix.version }} | ||
CXX: g++-${{ matrix.version }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
name: Checkout repository | ||
- uses: egor-tensin/[email protected] | ||
name: Install GCC | ||
with: | ||
version: ${{ matrix.version }} | ||
- run: | | ||
cmake -Bbuild -DFirefly_ENABLE_TESTS=ON -DFirefly_ENABLE_DOUBLE_PRECISION=${{ matrix.double-precision }} -DFirefly_ENABLE_EXAMPLES=ON | ||
cmake --build build | ||
name: Configure and build binaries | ||
sudo cp .github/apt-sources/ubuntu.sources /etc/apt/sources.list.d/ | ||
sudo cp .github/apt-sources/ubuntu-archive-keyring.gpg /usr/share/keyrings/ubuntu-archive-keyring.gpg | ||
sudo apt update | ||
sudo apt install build-essential gcc-${{ matrix.version }} g++-${{ matrix.version }} -y | ||
- run: | | ||
ctest --output-on-failure | ||
name: Run tests | ||
working-directory: build/tests | ||
unit_test_llvm_linux: | ||
name: Linux (LLVM=v${{ matrix.version }}, Double=${{ matrix.double-precision }}) | ||
needs: [ ensure_tests ] | ||
cmake -Bbuild -DCMAKE_C_COMPILER=gcc-${{ matrix.version }} -DCMAKE_CXX_COMPILER=g++-${{ matrix.version }} -DFirefly_ENABLE_TESTS=ON -DFirefly_ENABLE_EXAMPLES=ON | ||
cmake --build build | ||
- run: ctest --test-dir build/tests --output-on-failure | ||
|
||
unit_test_llvm: | ||
strategy: | ||
matrix: | ||
version: [11, 12, 13, 14, 15, 16] | ||
double-precision: [ON, OFF] | ||
version: [16, 17, 18] | ||
runs-on: ubuntu-latest | ||
env: | ||
CC: clang-${{ matrix.version }} | ||
CXX: clang++-${{ matrix.version }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
name: Checkout repository | ||
- uses: egor-tensin/[email protected] | ||
name: Install LLVM | ||
with: | ||
version: ${{ matrix.version }} | ||
- run: | | ||
cmake -Bbuild -DFirefly_ENABLE_TESTS=ON -DFirefly_ENABLE_DOUBLE_PRECISION=${{ matrix.double-precision }} -DFirefly_ENABLE_EXAMPLES=ON | ||
cmake --build build | ||
name: Configure and build binaries | ||
- run: | | ||
ctest --output-on-failure | ||
name: Run tests | ||
working-directory: build/tests | ||
unit_test_gcc_macos: | ||
name: MacOS (GCC=v${{ matrix.version }}, Double=${{ matrix.double-precision }}) | ||
needs: [ ensure_tests ] | ||
strategy: | ||
matrix: | ||
version: [10, 11, 12, 13] | ||
double-precision: [ON, OFF] | ||
runs-on: macos-latest | ||
env: | ||
CC: gcc-${{ matrix.version }} | ||
CXX: g++-${{ matrix.version }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
name: Checkout repository | ||
- run: | | ||
brew install gcc@${{ matrix.version }} | ||
name: Install GCC | ||
- run: | | ||
cmake -Bbuild -DFirefly_ENABLE_TESTS=ON -DFirefly_ENABLE_DOUBLE_PRECISION=${{ matrix.double-precision }} -DFirefly_ENABLE_EXAMPLES=ON | ||
cmake --build build | ||
name: Configure and build binaries | ||
- run: | | ||
ctest --output-on-failure | ||
name: Run tests | ||
working-directory: build/tests | ||
unit_test_llvm_macos: | ||
name: MacOS (LLVM=v${{ matrix.version }}, Double=${{ matrix.double-precision }}) | ||
needs: [ ensure_tests ] | ||
strategy: | ||
matrix: | ||
version: [12, 13, 14, 15, 16] | ||
double-precision: [ON, OFF] | ||
runs-on: macos-latest | ||
env: | ||
CC: /usr/local/opt/llvm@${{ matrix.version }}/bin/clang | ||
CXX: /usr/local/opt/llvm@${{ matrix.version }}/bin/clang++ | ||
steps: | ||
- uses: actions/checkout@v3 | ||
name: Checkout repository | ||
- run: | | ||
brew install llvm@${{ matrix.version }} | ||
name: Install LLVM | ||
- run: | | ||
cmake -Bbuild -DFirefly_ENABLE_TESTS=ON -DFirefly_ENABLE_DOUBLE_PRECISION=${{ matrix.double-precision }} -DFirefly_ENABLE_EXAMPLES=ON | ||
cmake --build build | ||
name: Configure and build binaries | ||
sudo cp .github/apt-sources/ubuntu.sources /etc/apt/sources.list.d/ | ||
sudo cp .github/apt-sources/ubuntu-archive-keyring.gpg /usr/share/keyrings/ubuntu-archive-keyring.gpg | ||
sudo apt update | ||
sudo apt install build-essential clang-${{ matrix.version }} -y | ||
- run: | | ||
ctest --output-on-failure | ||
name: Run tests | ||
working-directory: build/tests | ||
cmake -Bbuild -DCMAKE_C_COMPILER=clang-${{ matrix.version }} -DCMAKE_CXX_COMPILER=clang++-${{ matrix.version }} -DFirefly_ENABLE_TESTS=ON -DFirefly_ENABLE_EXAMPLES=ON | ||
cmake --build build | ||
- run: ctest --test-dir build/tests --output-on-failure |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.