Skip to content

Commit a625a41

Browse files
author
Gonzalo Diaz
committed
Project initialization
1 parent ea7666b commit a625a41

30 files changed

+1437
-0
lines changed

.dockerignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
.git
2+
build

.editorconfig

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# top-most EditorConfig file
2+
root = true
3+
4+
# Unix-style newlines with a newline ending every file
5+
[*]
6+
charset = utf-8
7+
end_of_line = lf
8+
insert_final_newline = true
9+
indent_style = space
10+
trim_trailing_whitespace = true
11+
indent_size = 4
12+
max_line_length = 80
13+
14+
# # Already default setting
15+
# [*.sh]
16+
# indent_size = 4
17+
18+
# # Already default setting
19+
# Same as in .clang-format
20+
# [{*.cpp, *.hpp, *.S}]
21+
# indent_size = 4
22+
23+
# # Already default setting
24+
# [{*.ld, *.lds}]
25+
# indent_size = 4
26+
27+
[*.nix]
28+
indent_size = 2
29+
30+
[*.toml]
31+
indent_size = 2
32+
33+
[*.yml]
34+
indent_size = 2
35+
36+
37+
[{CMakeLists.txt,*.cmake}]
38+
indent_size = 2
39+
40+
[{Makefile,**.mk}]
41+
# Use tabs for indentation (Makefiles require tabs)
42+
indent_style = tab
43+
indent_size = 2

.github/ISSUE_TEMPLATE/bug_report.md

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: "[BUG] ..."
5+
labels: bug
6+
assignees: sir-gon
7+
8+
---
9+
10+
---
11+
name: Bug report
12+
about: Create a report to help us improve
13+
title: ''
14+
labels: ''
15+
assignees: ''
16+
17+
---
18+
19+
**Describe the bug**
20+
A clear and concise description of what the bug is.
21+
22+
**To Reproduce**
23+
Steps to reproduce the behavior:
24+
25+
1. Go to '...'
26+
2. Click on '....'
27+
3. Scroll down to '....'
28+
4. See error
29+
30+
**Expected behavior**
31+
A clear and concise description of what you expected to happen.
32+
33+
**Screenshots**
34+
If applicable, add screenshots to help explain your problem.
35+
36+
**Desktop (please complete the following information):**
37+
38+
- OS: [e.g. MacOS, Windows, Linux \<distribution\>]
39+
- Version [e.g. 10]
40+
41+
**Additional context**
42+
Add any other context about the problem here. Consider environment variables,
43+
IDE (+ version), framework version, runtime version, command and parameters of execution.

.github/dependabot.yml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
---
6+
7+
version: 2
8+
updates:
9+
# Maintain dependencies for GitHub Actions
10+
- package-ecosystem: "github-actions"
11+
directory: "/"
12+
schedule:
13+
interval: "weekly"
14+
15+
# Maintain dependencies for Docker
16+
- package-ecosystem: "docker"
17+
directory: "/"
18+
schedule:
19+
interval: "weekly"

.github/workflows/cpp-coverage.yml

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
3+
name: C++ CI Coverage
4+
5+
on: # yamllint disable-line rule:truthy
6+
push:
7+
branches: ["main"]
8+
pull_request:
9+
# The branches below must be a subset of the branches above
10+
branches: ["main"]
11+
workflow_dispatch:
12+
13+
jobs:
14+
coverage:
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Checkout repository
19+
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
20+
21+
- name: Install Tools
22+
run: |
23+
pip install gcovr
24+
25+
- name: Check Tools
26+
run: |
27+
make --version
28+
cmake --version
29+
vcpkg --version
30+
gcovr --version
31+
32+
- name: Install dependencies
33+
run: |
34+
vcpkg integrate install
35+
vcpkg install catch2
36+
37+
# yamllint disable rule:line-length
38+
- name: Build
39+
run: |
40+
export VCPKG_ROOT=/usr/local/share/vcpkg
41+
cmake --preset debug -B build
42+
cmake --preset debug \
43+
-DCMAKE_TOOLCHAIN_FILE=/usr/local/share/vcpkg/scripts/buildsystems/vcpkg.cmake \
44+
-DCMAKE_EXPORT_COMPILE_COMMANDS=1 \
45+
build
46+
cmake --build build --verbose
47+
# yamllint enable rule:line-length
48+
49+
- name: Test / Coverage
50+
run: make coverage
51+
52+
- name: Upload coverage reports to Codecov with GitHub Action
53+
uses: codecov/codecov-action@v4
54+
with:
55+
directory: ./coverage
56+
files: coverage.lcov
57+
token: ${{ secrets.CODECOV_TOKEN }} # required
58+
verbose: true # optional (default = false)
59+
60+
- name: SonarCloud Scan
61+
uses: SonarSource/sonarcloud-github-action@master
62+
env:
63+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
64+
# Needed to get PR information, if any
65+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/cpp.yml

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
3+
name: C++ CI Tests
4+
5+
on: # yamllint disable-line rule:truthy
6+
push:
7+
branches: ["main"]
8+
pull_request:
9+
# The branches below must be a subset of the branches above
10+
branches: ["main"]
11+
workflow_dispatch:
12+
13+
jobs:
14+
build:
15+
runs-on: ubuntu-latest
16+
strategy:
17+
matrix:
18+
os: [
19+
"windows-latest",
20+
"ubuntu-latest",
21+
"macOS-latest"
22+
]
23+
24+
steps:
25+
- name: Checkout repository
26+
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
27+
28+
- name: Check Tools
29+
run: |
30+
make --version
31+
cmake --version
32+
vcpkg --version
33+
printenv
34+
35+
- name: Install dependencies
36+
run: |
37+
vcpkg integrate install
38+
vcpkg install catch2
39+
40+
# yamllint disable rule:line-length
41+
- name: Build
42+
run: |
43+
export VCPKG_ROOT=/usr/local/share/vcpkg
44+
cmake --preset debug -B build
45+
cmake --preset debug \
46+
-DCMAKE_TOOLCHAIN_FILE=/usr/local/share/vcpkg/scripts/buildsystems/vcpkg.cmake \
47+
-DCMAKE_EXPORT_COMPILE_COMMANDS=1 \
48+
build
49+
cmake --build build --verbose
50+
# yamllint enable rule:line-length
51+
52+
- name: Test
53+
run: make test

.github/workflows/cppcheck.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
3+
name: CppCheck Lint
4+
5+
on: # yamllint disable-line rule:truthy
6+
push:
7+
branches: ["main"]
8+
pull_request:
9+
# The branches below must be a subset of the branches above
10+
branches: ["main"]
11+
workflow_dispatch:
12+
13+
jobs:
14+
lint:
15+
name: CppCheck Lint
16+
runs-on: ubuntu-latest
17+
18+
steps:
19+
- name: Checkout repository
20+
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
21+
22+
- name: Install dependencies
23+
run: |
24+
sudo apt-get update
25+
sudo apt-get install cppcheck
26+
cppcheck --version
27+
28+
- name: Lint
29+
run: make test/static

0 commit comments

Comments
 (0)