Skip to content

Commit d8879fa

Browse files
committed
Merge remote-tracking branch 'github/develop' into feature/6-persistent-storage-for-configuration-and-task-information-7
2 parents b7a0efd + 8b3cd29 commit d8879fa

File tree

109 files changed

+6604
-12
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+6604
-12
lines changed

.clang-format

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Style configuration for code formatter Clang-Format (part of LLVM)
2+
BasedOnStyle: Microsoft
3+
ReflowComments: false
4+
ColumnLimit: 0
5+
Standard: c++17
6+
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Clang-Format Check
2+
3+
on:
4+
push:
5+
branches-ignore:
6+
- 'gh-pages'
7+
8+
jobs:
9+
formatting-check:
10+
name: check style formatting
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v3
14+
- name: Run clang-format style check.
15+
uses: jidicula/[email protected]
16+
with:
17+
clang-format-version: '17'
18+
fallback-style: 'none'
19+
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: Cleanup GitHub Pages Branch Workflow
2+
3+
on:
4+
push:
5+
branches-ignore:
6+
- 'gh-pages'
7+
8+
permissions:
9+
contents: write
10+
11+
env:
12+
GITHUB_PAGES_BRANCH: 'gh-pages' # Replace with your GitHub Pages branch name
13+
14+
jobs:
15+
cleanup:
16+
runs-on: ubuntu-latest
17+
18+
steps:
19+
- name: Fetch all history for all tags and branches
20+
uses: actions/checkout@v2
21+
with:
22+
fetch-depth: 0
23+
24+
- name: Generate a list of all branches
25+
run: |
26+
git branch --remotes --format='%(refname:lstrip=3)' > branches.txt
27+
{
28+
echo 'BRANCH_LIST<<EOF'
29+
cat branches.txt
30+
echo EOF
31+
} >> "$GITHUB_ENV"
32+
33+
- name: Checkout GitHub Pages branch
34+
uses: actions/checkout@v2
35+
with:
36+
ref: ${{ env.GITHUB_PAGES_BRANCH }}
37+
fetch-depth: 0 # necessary to be able to commit changes
38+
39+
- name: Remove files which are not part of branch-specific directories
40+
run: |
41+
echo "Process branches: $BRANCH_LIST"
42+
43+
# Loop through all files in the current Git HEAD
44+
git ls-tree -r HEAD --name-only | while read -r file; do
45+
46+
# Get the directory part of the file path
47+
file_dir=$(dirname "$file")
48+
49+
# Initialize a flag to check if the file is part of any directory in DIRS
50+
found=false
51+
52+
# Loop through each directory in BRANCH_LIST
53+
while IFS= read -r line; do
54+
55+
# Check if the line is not empty
56+
if [[ -n "$line" ]]; then
57+
directory=$line
58+
# Check if the directory is a prefix of the file path
59+
if [[ "$file_dir" == "$directory"* ]]; then
60+
found=true
61+
break
62+
fi
63+
fi
64+
done <<< "$BRANCH_LIST"
65+
66+
# If the file is not part of any directory in BRANCH_LIST, remove it
67+
if [ "$found" == "false" ]; then
68+
git rm $file
69+
fi
70+
done
71+
72+
- name: Generate landing page with branch list
73+
run: |
74+
echo '<html><body><h1>List of Branches</h1><ul>' > index.html
75+
76+
# Loop through each directory in BRANCH_LIST
77+
while IFS= read -r line; do
78+
# Check if the line is not empty
79+
if [[ -n "$line" ]]; then
80+
echo "<li><a href=\"$line\"><code>$line</code></a></li>" >> index.html
81+
fi
82+
done <<< "$BRANCH_LIST"
83+
84+
echo '</ul></body></html>' >> index.html
85+
git add index.html
86+
87+
- name: Commit and push deletions
88+
run: |
89+
git config user.name "GitHub Actions"
90+
git config user.email "[email protected]"
91+
git commit --all --allow-empty --message="Cleanup branch directories."
92+
git push
93+
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: generate and deploy documentation
2+
3+
on:
4+
workflow_run:
5+
workflows: [Cleanup GitHub Pages Branch Workflow]
6+
types: [completed]
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
build:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- name: Install tools for generation of documentation
17+
run: |
18+
sudo apt-get install doxygen graphviz
19+
sudo apt-get install texlive-base perl # necessary for citing bib files
20+
21+
- name: Checkout code
22+
uses: actions/checkout@v2
23+
24+
- name: Determine Output Directory
25+
id: output_dir
26+
run: |
27+
branch_name="${{ github.ref }}"
28+
branch_name="${branch_name#refs/heads/}"
29+
output_dir="./${branch_name}"
30+
echo "DOC_OUTPUT_DIR=$output_dir" >> "$GITHUB_ENV"
31+
32+
- name: generate documentation
33+
run: |
34+
wget https://github.com/plantuml/plantuml/releases/latest/download/plantuml.jar
35+
(echo "PLANTUML_JAR_PATH = ."; cat Doxyfile) | doxygen -
36+
37+
- name: deploy documentation
38+
uses: peaceiris/actions-gh-pages@v3
39+
with:
40+
github_token: ${{ secrets.GITHUB_TOKEN }}
41+
publish_dir: ./doc/html
42+
destination_dir: ${{ env.DOC_OUTPUT_DIR }}
43+

.github/workflows/platformio.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: PlatformIO CI
2+
3+
on: [push]
4+
5+
jobs:
6+
test:
7+
8+
runs-on: ubuntu-latest
9+
10+
steps:
11+
- uses: actions/checkout@v3
12+
- uses: actions/cache@v3
13+
with:
14+
path: |
15+
~/.cache/pip
16+
~/.platformio/.cache
17+
key: ${{ runner.os }}-pio
18+
- name: Set up Python
19+
uses: actions/setup-python@v4
20+
with:
21+
python-version: '3.9'
22+
- name: Install PlatformIO Core
23+
run: |
24+
python -m pip install --upgrade pip
25+
pip install --upgrade platformio
26+
- name: Install the project dependencies or custom packages
27+
run: platformio pkg install
28+
- name: Build default environment
29+
run: platformio run --verbose
30+
- name: On native platform run tests
31+
run: platformio test --verbose --environment native

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,7 @@
33
.vscode/c_cpp_properties.json
44
.vscode/launch.json
55
.vscode/ipch
6+
.vscode/extensions.json
7+
doc/html/
8+
doc/latex/
9+
.vscode/settings.json

CODE_OF_CONDUCT.md

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and leaders pledge to make participation in our
6+
community a harassment-free experience for everyone, regardless of age, body
7+
size, visible or invisible disability, ethnicity, sex characteristics, gender
8+
identity and expression, level of experience, education, socio-economic status,
9+
nationality, personal appearance, race, religion, or sexual identity
10+
and orientation.
11+
12+
We pledge to act and interact in ways that contribute to an open, welcoming,
13+
diverse, inclusive, and healthy community.
14+
15+
## Our Standards
16+
17+
Examples of behavior that contributes to a positive environment for our
18+
community include:
19+
20+
* Demonstrating empathy and kindness toward other people
21+
* Being respectful of differing opinions, viewpoints, and experiences
22+
* Giving and gracefully accepting constructive feedback
23+
* Accepting responsibility and apologizing to those affected by our mistakes,
24+
and learning from the experience
25+
* Focusing on what is best not just for us as individuals, but for the
26+
overall community
27+
28+
Examples of unacceptable behavior include:
29+
30+
* The use of sexualized language or imagery, and sexual attention or
31+
advances of any kind
32+
* Trolling, insulting or derogatory comments, and personal or political attacks
33+
* Public or private harassment
34+
* Publishing others' private information, such as a physical or email
35+
address, without their explicit permission
36+
* Other conduct which could reasonably be considered inappropriate in a
37+
professional setting
38+
39+
## Enforcement Responsibilities
40+
41+
Community leaders are responsible for clarifying and enforcing our standards of
42+
acceptable behavior and will take appropriate and fair corrective action in
43+
response to any behavior that they deem inappropriate, threatening, offensive,
44+
or harmful.
45+
46+
Community leaders have the right and responsibility to remove, edit, or reject
47+
comments, commits, code, wiki edits, issues, and other contributions that are
48+
not aligned to this Code of Conduct, and will communicate reasons for moderation
49+
decisions when appropriate.
50+
51+
## Scope
52+
53+
This Code of Conduct applies within all community spaces, and also applies when
54+
an individual is officially representing the community in public spaces.
55+
Examples of representing our community include using an official e-mail address,
56+
posting via an official social media account, or acting as an appointed
57+
representative at an online or offline event.
58+
59+
## Enforcement
60+
61+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
62+
reported to the community leaders responsible for enforcement at
63+
64+
All complaints will be reviewed and investigated promptly and fairly.
65+
66+
All community leaders are obligated to respect the privacy and security of the
67+
reporter of any incident.
68+
69+
## Enforcement Guidelines
70+
71+
Community leaders will follow these Community Impact Guidelines in determining
72+
the consequences for any action they deem in violation of this Code of Conduct:
73+
74+
### 1. Correction
75+
76+
**Community Impact**: Use of inappropriate language or other behavior deemed
77+
unprofessional or unwelcome in the community.
78+
79+
**Consequence**: A private, written warning from community leaders, providing
80+
clarity around the nature of the violation and an explanation of why the
81+
behavior was inappropriate. A public apology may be requested.
82+
83+
### 2. Warning
84+
85+
**Community Impact**: A violation through a single incident or series
86+
of actions.
87+
88+
**Consequence**: A warning with consequences for continued behavior. No
89+
interaction with the people involved, including unsolicited interaction with
90+
those enforcing the Code of Conduct, for a specified period of time. This
91+
includes avoiding interactions in community spaces as well as external channels
92+
like social media. Violating these terms may lead to a temporary or
93+
permanent ban.
94+
95+
### 3. Temporary Ban
96+
97+
**Community Impact**: A serious violation of community standards, including
98+
sustained inappropriate behavior.
99+
100+
**Consequence**: A temporary ban from any sort of interaction or public
101+
communication with the community for a specified period of time. No public or
102+
private interaction with the people involved, including unsolicited interaction
103+
with those enforcing the Code of Conduct, is allowed during this period.
104+
Violating these terms may lead to a permanent ban.
105+
106+
### 4. Permanent Ban
107+
108+
**Community Impact**: Demonstrating a pattern of violation of community
109+
standards, including sustained inappropriate behavior, harassment of an
110+
individual, or aggression toward or disparagement of classes of individuals.
111+
112+
**Consequence**: A permanent ban from any sort of public interaction within
113+
the community.
114+
115+
## Attribution
116+
117+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118+
version 2.0, available at
119+
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
120+
121+
Community Impact Guidelines were inspired by [Mozilla's code of conduct
122+
enforcement ladder](https://github.com/mozilla/diversity).
123+
124+
[homepage]: https://www.contributor-covenant.org
125+
126+
For answers to common questions about this code of conduct, see the FAQ at
127+
https://www.contributor-covenant.org/faq. Translations are available at
128+
https://www.contributor-covenant.org/translations.

0 commit comments

Comments
 (0)