Pushing to a PR branch now cancels the previous in-progress run
instead of queueing a duplicate ~40 minute build. Runs on branches
(master included) are never cancelled. Also drop the unused
RADIO_TOOL_VERSION env var.
Signed-off-by: Vlastimil Slinták <slintak@uart.cz>
The image is the layer cache for the build workflow and goes stale
whenever the ubuntu:24.04 base image is updated upstream. Since the
last rebuild (May 26) the base moved (Jul 2), so every CI run now
rebuilds the full Miosix toolchain (~40 min) and is exposed to GNU
mirror outages. Also drop two unused env vars from this workflow.
Signed-off-by: Vlastimil Slinták <slintak@uart.cz>
The artifact renaming step interpolates the branch name into output
file names. A branch name containing a slash (e.g. fix/foo) makes mv
interpret it as a nonexistent directory path and the build job fails.
Seen on PR #489.
Signed-off-by: Vlastimil Slinták <slintak@uart.cz>
Increased period before an issue or PR is marked as stale to 60 days and
skip issues and PRs labelled as 'In progress'
Signed-off-by: Silvano Seva <silseva@fastwebnet.it>
This change makes it so that unit tests and zephyr build run before the conventional builds, hopefully giving the user feedback about failures more quickly. This is because the conventional builds utilize the devcontainer, which takes quite some time to spin up.
Signed-off-by: Ryan Turner <ryan@turnrye.com>
This change makes it so that Catch2 reports its tests in JUnit format, and then a GH Action parses that and adds annotations on test failures.
Signed-off-by: Ryan Turner <ryan@turnrye.com>
Add a script to run gcovr; update contributing guide to explain usage; integrate
with vscode presents; add execution to ci.
To use this, execute `scripts/coverage.sh`. This builds with coverage
instrumentation, runs the test suite, and produces:
* HTML report: `build_coverage/coverage/index.html` -- open in a browser to see
per-file line-by-line coverage highlighting
* MD report: `build_coverage/coverage/coverage.md` -- human-readable summary of
test coverage which gets attached to the GitHub actions build
* Cobertura XML: `build/coverage/cobertura.xml` -- machine-readable format used
by CI; this gets archived today with the build, but no other use is in place
yet
In the future another tool could be used to track coverage over time, or we
could institute minimum coverage requirements and have a GH actions
automatically open a comment when the coverage is not met, for instance.
Co-authored-by: GitHub Copilot <copilot@github.com> Signed-off-by: Ryan Turner
<ryan@turnrye.com>
This change simplifies how unit tests are run in CI, ensuring that we always run all of them. This also prints more details about test failures compared to before, making troubleshooting by contributors easier.
Signed-off-by: Ryan Turner <ryan@turnrye.com>
Add the catch2 subproject wrap file and its REUSE license entry. Declare
the catch2-with-main dependency for native/linux builds only. Wrap the
unit test section in a cross-build guard so that test targets are not
declared when cross-compiling for embedded targets. Install catch2 via
apt in CI.
Co-authored-by: GitHub Copilot <copilot@github.com>
Signed-off-by: Ryan Turner <ryan@turnrye.com>
This change adds a github action in order to warn users after 30 days of
inactivity that their PRs and issues are subject to being closed if they
are not updated within the next 5 days. Labels are added to auto-closed
issues so that analysis is easier, and issues with the labels bug or issue
are skipped from this.
I chose not to do this for the enhancement type issues, as the longer term
product backlog is being tracked in Tiaga, not GitHub Issues. Users are
still welcome to log issues for enhancements, but this will encourage them
to keep these discussions alive and work to a conclusion rather than having
the longer-term roadmap split across two places.
Signed-off-by: Ryan Turner <ryan@turnrye.com>
In file cross_cm7.txt, the target cpu was wrongly identified as being
Cortex M4. This does not affect compilation.
Also, file cross_arm.txt was renamed cross_cm4.txt and folder build_arm
was renamed to build_cm4. References to this were also updated.
Integrate the REUSE tool by adding a config which addresses all of the
linting complaints based on my research. Also, address deprecated
licenses where necessary (the license didnt change, but the identifier
did).
Signed-off-by: Ryan Turner <ryan@turnrye.com>
OpenRTX releases have had their artifacts follow a historical pattern,
which has both set users expectations and had documentation (both official
and unofficial) built. The CI builds don't follow those conventions though,
which causes confusion with users who don't have experience doing local
builds.
This change moves the build artifacts to match the file naming convention
users are accustomed to, and it uses the branch name as the name of the build
name that is listed.
Fixes: https://tasks.openrtx.org/project/openrtx/task/779
Signed-off-by: Ryan Turner <ryan@turnrye.com>
Acked-by: Silvano Seva <silseva@fastwebnet.it>
This change makes it so that CI/CD builds against all supported platforms,
utilizing the devcontainer as its environment rather than setting up one
separately. This allows to have the CICD builds and dev local builds more
similar and reduces the maintenance overhead.
Co-authored-by: Peter Buchegger <peter@pbuchegger.at>