tests: arduino-core-tests + test_config.h - #27
Open
IFX-Anusha wants to merge 12 commits into
Open
IFX-Anusha wants to merge 12 commits into
IFX-Anusha wants to merge 12 commits into
Conversation
The job runs in a container, where GitHub Actions defaults run: steps to sh instead of bash. The step uses <<< here-strings (bash-only), which sh rejects with 'Syntax error: redirection unexpected'.
…reachable git describe was picking up windows_toolchain_1.0.1 (created by repackage_toolchain_windows.yml) as the closest tag, since the existing --exclude '*/*' only filters tags containing a slash. The resulting non-semver describe output made the script's regex match fail and exit 1, breaking build-env on any branch reachable from that tag. Excluding it uncovers a second issue on edge-main/control-main: no semver tag is reachable at all from their rebuilt history (0.0.1/0.0.2 are on the old pre-branch-split history). Fall back to 9.9.9-0 in that case, same as the existing no-git-history fallback path.
Matches the codebase convention of putting CI logic in extra/*.sh scripts rather than inlining it in workflow YAML (get_core_version.sh, get_board_details.sh, package_core.sh, etc.). Invoking it as 'bash <script>' also sidesteps the sh-vs-bash default-shell issue at the source, instead of relying on an explicit shell: bash override on the step. Also installs jq on demand if missing, since zephyrprojectrtos/ci-base:latest doesn't ship it.
Direct pushes to edge-main/control-main only need to build/package that family's own feature boards; PRs still validate the full board matrix before merge. package_core.sh now respects a pre-filtered ALL_BOARD_DATA if the caller sets it, falling back to the full board set otherwise.
… opted in A direct push to a branch with zero feature_board=true boards (e.g. control-main today) previously filtered ALL_BOARD_DATA down to an empty array, causing build-board to produce zero binaries and package-core to crash with a confusing 'tar: Cannot open: No such file or directory' instead of a clear error. Only apply the feature-board filter if it leaves at least one board, so branches with no board opted in yet keep building/packaging their full board set exactly as before this mechanism existed.
Previously only direct pushes were limited to a board family's own feature_board boards; PRs always ran the full board matrix as a pre-merge safety net. Per request, apply the same filtering to PRs as well, so both events only build/test the branch's own boards (still falling back to the full set if none are opted in). Note: this trades away full-matrix pre-merge validation on PRs against edge-main/control-main - a PR touching shared CI/build logic will no longer be checked against unrelated boards (giga, portenta, etc.) before merge.
hal_infineon's pse84_metadata.cmake attempts to pip-install imgtool's Python dependencies (cryptography, cbor2, click, intelhex, Pillow) at CMake-configure time, but only emits a message(WARNING ...) if that fails rather than aborting the build. In our CI this silently no-ops, and the failure resurfaces later as a confusing ModuleNotFoundError: No module named 'cryptography' from imgtool.py during the post-build signing step. Pre-install the same packages explicitly in this workflow, scoped to kit_pse84_ai only, so the existing HAL-level install attempt becomes a harmless no-op regardless of whether/why it fails in CI.
IFX-Anusha
force-pushed
the
ifx-arduino-core-tests
branch
from
September 28, 2026 08:45
e20d53b to
729eea3
Compare
IFX-Anusha
force-pushed
the
ifx-arduino-core-tests
branch
from
September 28, 2026 08:48
729eea3 to
471a956
Compare
IFX-Anusha
requested review from
AkshayChandra-IFX,
djaumann and
jaenrig-ifx
September 28, 2026 08:54
jaenrig-ifx
force-pushed
the
ifx-main
branch
from
September 29, 2026 03:04
4a8b8cf to
a41a4af
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
By creating this pull request you agree to the terms in CONTRIBUTING.md.
https://github.com/Infineon/.github/blob/master/CONTRIBUTING.md
--- DO NOT DELETE ANYTHING ABOVE THIS LINE ---
CONTRIBUTING.md also tells you what to expect in the PR process.
Description
Infineon/arduino-core-tests (with its nested Unity submodule) as a pinned submodule under arduino_core_tests.
Add test_config.h as a shared scaffold — one file, one #if defined(ARDUINO_) block per board — matching where the submodule's own Makefile expects it. No board blocks included here; those belong to the family branch that owns each board (see edge-arduino-core-tests-config for kit_pse84_ai).
README.md documents the convention and how to run a test via make -C extra/arduino_core_tests.
Verified: test_digitalio_single compiles, links, flashes, and runs correctly on real KIT-PSE84-AI hardware using this mechanism.