Skip to content

Commit

Permalink
Updates for Ubuntu 24.04 and debian bookworm (#1345)
Browse files Browse the repository at this point in the history
* updates for ubuntu24

* pipx ensure path

* fix tests, bump pio

* try again

* fixed comon test and moved debugger

* use poetry for debugger

* common installs poetry

* updated wiring generation scripts

* docs should work

* install graphviz with apt

* exclude siargo links from checker

* refactoring of bash scripts

* fixup

* more fixup

* more cleanup and restructuring

* more refactoring and lib bumps

* more better

* desktop files readded

* docs lychee as part of script

* try different way to install docker

* run docker non interactive

* gitignore refactoring

* attempt fix

* fix gui build

* documentation improvements

* bootstrap to branch

* fix update script

* fix update script

* fix update script

* relax python requirements in poetry

* ocd patch update

* update bootstrap docs for new raspi os, install ocd-patch during update
  • Loading branch information
martukas authored Nov 10, 2024
1 parent 20104be commit ec1e567
Show file tree
Hide file tree
Showing 93 changed files with 3,559 additions and 1,724 deletions.
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

0 comments on commit ec1e567

Please sign in to comment.