Skip to content

Commit b6d64af

Browse files
committed
Merge branch 'main' of github.com:Open-Source-Space-Foundation/proves-core-reference into copilot/fix-058fbbfc-dd1c-484a-a127-6c6cde2d5652
2 parents 9417f8c + 95faeb9 commit b6d64af

Some content is hidden

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

65 files changed

+2075
-271
lines changed

.codespell-ignore-words.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
comIn

.github/workflows/ci.yaml

Lines changed: 80 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -11,99 +11,90 @@ jobs:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- uses: actions/checkout@v4
14+
1415
- name: Lint
1516
run: |
1617
make fmt
1718
1819
build:
19-
runs-on: ubuntu-latest
20+
runs-on: deathstar
21+
steps:
22+
- uses: actions/checkout@v4
2023

24+
- name: Download bin tools
25+
if: steps.cache-bin.outputs.cache-hit != 'true'
26+
run: |
27+
make download-bin
28+
29+
- name: Setup submodules
30+
if: steps.cache-submodules.outputs.cache-hit != 'true'
31+
run: |
32+
make submodules
33+
34+
- name: Create python venv
35+
run: |
36+
make fprime-venv
37+
38+
- name: Setup Zephyr
39+
if: steps.cache-zephyr-workspace.outputs.cache-hit != 'true'
40+
run: |
41+
make zephyr-workspace
42+
43+
- name: Setup Zephyr SDK
44+
if: steps.cache-zephyr-sdk.outputs.cache-hit != 'true'
45+
run: |
46+
make zephyr-sdk
47+
48+
- name: Setup Zephyr Export
49+
run: |
50+
make zephyr-export
51+
52+
- name: Install Zephyr Python Dependencies
53+
run: |
54+
make zephyr-python-deps
55+
56+
- name: Generate
57+
run: |
58+
make generate
59+
60+
- name: Build
61+
run: |
62+
make build
63+
64+
- name: Upload build artifacts
65+
uses: actions/upload-artifact@v4
66+
with:
67+
name: artifacts
68+
path: |
69+
build-artifacts/zephyr.uf2
70+
build-artifacts/zephyr/fprime-zephyr-deployment/dict/ReferenceDeploymentTopologyDictionary.json
71+
retention-days: 30
72+
73+
integration:
74+
runs-on:
75+
- integration
76+
needs: build
2177
steps:
22-
- name: Checkout repository
23-
uses: actions/checkout@v4
24-
with:
25-
submodules: false # We'll handle submodules with smart caching
26-
fetch-depth: 0
27-
28-
# - name: Cache bin
29-
# id: cache-bin
30-
# uses: actions/cache@v4
31-
# with:
32-
# path: |
33-
# bin
34-
# key: bin-${{ hashFiles('Makefile') }}-v3
35-
# restore-keys: |
36-
# bin-${{ hashFiles('Makefile') }}-
37-
# bin-
38-
39-
- name: Download bin tools
40-
if: steps.cache-bin.outputs.cache-hit != 'true'
41-
run: |
42-
make download-bin
43-
44-
# - name: Cache submodules
45-
# id: cache-submodules
46-
# uses: actions/cache@v4
47-
# with:
48-
# path: |
49-
# lib/fprime
50-
# lib/fprime-zephyr
51-
# lib/zephyr-workspace/zephyr
52-
# key: submodules-${{ hashFiles('.gitmodules') }}-v3
53-
# restore-keys: |
54-
# submodules-${{ hashFiles('.gitmodules') }}-
55-
# submodules-
56-
57-
- name: Setup submodules
58-
if: steps.cache-submodules.outputs.cache-hit != 'true'
59-
run: |
60-
make submodules
61-
62-
# - name: Cache python venv
63-
# id: cache-python
64-
# uses: actions/cache@v4
65-
# with:
66-
# path: fprime-venv
67-
# key: python-venv-${{ runner.os }}-${{ hashFiles('requirements.txt') }}-v3
68-
# restore-keys: |
69-
# python-venv-${{ runner.os }}-
70-
# python-venv-
71-
72-
- name: Setup python venv
73-
if: steps.cache-python.outputs.cache-hit != 'true'
74-
run: |
75-
make fprime-venv
76-
77-
# - name: Cache Zephyr workspace and SDK
78-
# id: cache-zephyr
79-
# uses: actions/cache@v4
80-
# with:
81-
# path: |
82-
# lib/zephyr-workspace/modules
83-
# lib/zephyr-workspace/bootloader
84-
# ~/zephyr-sdk-0.17.2
85-
# key: zephyr-${{ hashFiles('west.yml') }}-${{ runner.os }}-v3
86-
# restore-keys: |
87-
# zephyr-${{ hashFiles('west.yml') }}-${{ runner.os }}-
88-
# zephyr-
89-
90-
- name: Setup Zephyr
91-
if: steps.cache-zephyr.outputs.cache-hit != 'true'
92-
run: |
93-
make zephyr-setup
94-
env:
95-
PIP_DISABLE_PIP_VERSION_CHECK: 1
96-
PIP_NO_COMPILE: 1
97-
98-
- name: Build
99-
run: |
100-
make generate-ci build-ci
101-
102-
- name: Upload build artifacts
103-
uses: actions/upload-artifact@v4
104-
with:
105-
name: artifacts
106-
path: |
107-
build-artifacts/zephyr.uf2
108-
build-artifacts/zephyr/fprime-zephyr-deployment/dict/ReferenceDeploymentTopologyDictionary.json
109-
retention-days: 30
78+
- uses: actions/checkout@v4
79+
80+
- uses: actions/download-artifact@v5
81+
82+
- name: Set up dependencies
83+
run: |
84+
mkdir -p build-artifacts/zephyr/fprime-zephyr-deployment/dict \
85+
&& mv zephyr/fprime-zephyr-deployment/dict/ReferenceDeploymentTopologyDictionary.json build-artifacts/zephyr/fprime-zephyr-deployment/dict
86+
make submodules fprime-venv
87+
88+
- name: Trigger Bootloader
89+
run: |
90+
make bootloader
91+
sleep 10
92+
93+
- name: Copy Firmware
94+
run: |
95+
picotool load ./zephyr.uf2
96+
picotool reboot
97+
98+
- name: Run Integration Tests
99+
run: |
100+
make test-integration

.pre-commit-config.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ repos:
1212
rev: v2.4.1
1313
hooks:
1414
- id: codespell
15+
args: [--ignore-words=.codespell-ignore-words.txt]
1516

1617
- repo: https://github.com/pre-commit/mirrors-clang-format
1718
rev: v20.1.8
@@ -33,3 +34,14 @@ repos:
3334
- id: ruff-check
3435
args: [--fix, --select, I] # import sorting
3536
- id: ruff-format
37+
38+
- repo: https://github.com/econchick/interrogate/
39+
rev: 1.7.0
40+
hooks:
41+
- id: interrogate
42+
args:
43+
- --ignore-init-method
44+
- --omit-covered-files
45+
- --fail-under=100
46+
- -vv
47+
- --color
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# This CMake file is intended to register project-wide objects.
22
# This allows for reuse between deployments, or other projects.
33

4+
# Keep me first
45
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/project/config")
56
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/Components")
7+
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/ComCcsdsUart/")
68
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/ReferenceDeployment/")
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
register_fprime_module(
3+
EXCLUDE_FROM_ALL
4+
AUTOCODER_INPUTS
5+
"${CMAKE_CURRENT_LIST_DIR}/ComCcsds.fpp"
6+
HEADERS
7+
"${CMAKE_CURRENT_LIST_DIR}/SubtopologyTopologyDefs.hpp"
8+
"${CMAKE_CURRENT_LIST_DIR}/PingEntries.hpp"
9+
DEPENDS
10+
Svc_Subtopologies_ComCcsds_ComCcsdsConfig
11+
INTERFACE
12+
)

0 commit comments

Comments
 (0)