Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates for Ubuntu 24.04 and debian bookworm #1345

Merged
merged 32 commits into from
Nov 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
cf54d19
updates for ubuntu24
martukas Oct 23, 2024
c9a10e4
pipx ensure path
martukas Oct 23, 2024
e83067f
fix tests, bump pio
martukas Oct 23, 2024
6638b3f
try again
martukas Oct 23, 2024
114ccc9
fixed comon test and moved debugger
martukas Oct 23, 2024
00514f4
use poetry for debugger
martukas Oct 24, 2024
24ce88b
common installs poetry
martukas Oct 24, 2024
4148bb1
updated wiring generation scripts
martukas Oct 27, 2024
a365659
docs should work
martukas Oct 27, 2024
dacc9c5
install graphviz with apt
martukas Oct 27, 2024
54bf9f7
exclude siargo links from checker
martukas Oct 27, 2024
a59c0bc
refactoring of bash scripts
martukas Oct 29, 2024
3be0b01
fixup
martukas Oct 29, 2024
ed8c1ce
more fixup
martukas Oct 29, 2024
6b63048
more cleanup and restructuring
martukas Oct 30, 2024
214e53c
more refactoring and lib bumps
martukas Oct 31, 2024
98b8779
more better
martukas Nov 1, 2024
d047cf6
desktop files readded
martukas Nov 1, 2024
f62222e
docs lychee as part of script
martukas Nov 1, 2024
bf9a725
try different way to install docker
martukas Nov 3, 2024
fcecd46
run docker non interactive
martukas Nov 3, 2024
e2670a6
gitignore refactoring
martukas Nov 3, 2024
15f2621
attempt fix
martukas Nov 3, 2024
df4fe7e
fix gui build
martukas Nov 3, 2024
7400634
documentation improvements
martukas Nov 3, 2024
5243ae6
bootstrap to branch
martukas Nov 8, 2024
97b91fa
fix update script
martukas Nov 9, 2024
1ceaf14
fix update script
martukas Nov 9, 2024
1b8f27c
fix update script
martukas Nov 9, 2024
ce3bfca
relax python requirements in poetry
martukas Nov 9, 2024
faed19c
ocd patch update
martukas Nov 9, 2024
c6e3114
update bootstrap docs for new raspi os, install ocd-patch during update
martukas Nov 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 12 additions & 9 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:

common-tests:
machine:
image: ubuntu-2204:current
image: ubuntu-2404:current
environment:
GIT_LFS_SKIP_SMUDGE: 1
steps:
Expand All @@ -40,14 +40,14 @@ jobs:
name: Run tests & generate coverage reports
command: |
./software/common/common.sh test --cov --no-checks
./software/common/common.sh cov_cleanup
./software/common/common.sh cov-cleanup
- codecov/upload:
file: './software/common/coverage_reports/coverage.info'
flags: 'common'

controller-tests:
machine:
image: ubuntu-2204:current
image: ubuntu-2404:current
environment:
GIT_LFS_SKIP_SMUDGE: 1
resource_class: large
Expand All @@ -59,19 +59,19 @@ jobs:
sudo rm -rf /var/lib/apt/lists/*
export DEBIAN_FRONTEND=noninteractive
export FORCED_ROOT=1
./software/controller/controller.sh install
./software/common/common.sh install
- run:
name: Run tests & generate coverage reports
command: |
./software/controller/controller.sh test --cov --no-checks
./software/controller/controller.sh cov_cleanup
./software/controller/controller.sh cov-cleanup
- codecov/upload:
file: './software/controller/coverage_reports/coverage.info'
flags: 'controller'

gui-tests:
machine:
image: ubuntu-2204:current
image: ubuntu-2404:current
resource_class: large
environment:
GIT_LFS_SKIP_SMUDGE: 1
Expand Down Expand Up @@ -101,7 +101,7 @@ jobs:

debug-tests:
machine:
image: ubuntu-2204:current
image: ubuntu-2404:current
environment:
GIT_LFS_SKIP_SMUDGE: 1
resource_class: medium
Expand All @@ -113,11 +113,14 @@ jobs:
sudo rm -rf /var/lib/apt/lists/*
export DEBIAN_FRONTEND=noninteractive
export FORCED_ROOT=1
./software/controller/controller.sh install
./software/common/common.sh install
./software/common/common.sh generate
- run:
name: Run unit tests
command: |
pytest software/utils/debug/unit_test.py -v
cd software/tools
poetry install --no-interaction
poetry run pytest -v


workflows:
Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,17 @@ jobs:
- name: Pull in relevant images only
run: git lfs pull -I "docs/wiring/images/*.png"
- name: Build docs
run: cd docs
&& ./docs.sh build
&& touch _build/html/.nojekyll
- name: Link Checker
uses: lycheeverse/[email protected]
with:
fail: true
# Check all markdown and html files
args: -c docs/lychee.toml .
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
run: ./docs/docs.sh build
- name: Check links
run: ./docs/docs.sh check
# - name: Link Checker
# uses: lycheeverse/[email protected]
# with:
# fail: true
# # Check all markdown and html files
# args: -c docs/lychee.toml .
# env:
# GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Deploy to Github Pages
if: ${{ github.ref == 'refs/heads/master' }}
uses: JamesIves/github-pages-deploy-action@v4
Expand Down
72 changes: 30 additions & 42 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,65 +1,53 @@
#network protocol output files
software/common/generated_libs/protocols/*.c
software/common/generated_libs/protocols/*.h
software/gui/src/protocols/*.cc
software/gui/src/protocols/*.h
software/utils/debug/protocols/*
!.gitignore

build/
build_autotests/
.pio/
# OS
install
source/config/*
.DS_Store
*.app
*.desktop
*.user
*.log
!.gitignore

#IDE
software/controller/CMakeLists*
software/controller/.gitignore
software/common/CMakeLists*
software/common/.gitignore
cmake-build-*/
.idea/
# IDE: VSCode
.vscode

# IDE: JetBrains
.idea
.vscode/
.idea/
CMakeLists.txt.user
cmake-build-*/

# IDE: other
.ctags
ctags
tags
.cscope.out
cscope.out
*~

#CAD/Inventor
*.lck
OldVersions/

.DS_Store
.clangd/
.*.swp
*.map
__pycache__/
last_graph.dat
.pytype/

coverage_reports

# KiCAD backups
*.sch-bak
*.kicad_pcb-bak
*.bak
# KiCAD temp/unneeded cache files
_autosave-*
*.000
fp-info-cache
# (project symbol cache library not needed as all symbols kept in RespiraWorks libraries)
*-cache.lib

#performance test data
local_data/
test_data/

#Conan created files
CMakeUserPresets.json
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# mypy
.mypy_cache/
.dmypy.json
dmypy.json
14 changes: 10 additions & 4 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Documentation

The documentation created here is written in reStructuredTexT and generated using [Sphinx](https://www.sphinx-doc.org/en/master/) via a Github action.
The documentation created here is written in reStructuredTexT and generated using [Sphinx](https://www.sphinx-doc.org/en/master/) via a GitHub action.

## reStructuredText

reStructured text is similar to Markdown in that it is ASCII formatted text that is mostly human readable and contains directives that specify how the text should be rendered in HTML, and other output formats.
reStructured text is similar to Markdown in that it is ASCII formatted text that is mostly human-readable and contains directives that specify how the text should be rendered in HTML, and other output formats.

reStructuredText is more complex than Markdown and allows for much greater flexibility in formatting as well as additional features such as *directives* that act like variables/macros that are defined once and expanded in place.

## Document Generation

The Github action rules can be found in `.github/workflows/docs.yml`
The GitHub action rules can be found in `.github/workflows/docs.yml`

C++ API documentation is generated using [Doxygen](https://github.com/doxygen/doxygen)

Expand All @@ -34,7 +34,13 @@ To generate the documentation, run:
./docs.sh build
```

If the directories are polluted and you want a clean slate:
To render wiring harnesses only:

```shell
./docs.sh wire ./path/to/dir/or/file.yml
```

If the directories are polluted, and you want a clean slate:
```shell
./docs.sh clean
```
Expand Down
Loading
Loading