FIT: gzip-compressed kernel + ramdisk (initramfs) support #873
Workflow file for this run
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
| name: wolfboot CMake (.config) | |
| on: | |
| push: | |
| branches: [ 'master', 'main', 'release/**' ] | |
| pull_request: | |
| branches: [ '*' ] | |
| jobs: | |
| wolfboot_dot_config_test: | |
| name: cmake .config test (${{ matrix.target }}) | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/wolfssl/wolfboot-ci-arm:v1.0 | |
| timeout-minutes: 15 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| target: | |
| # These are exact file names from config/examples (including .config) | |
| # - imx-rt1040.config # Disabled, requires NXP SDK | |
| - sim.config | |
| - stm32c0.config | |
| - stm32f1.config | |
| - stm32f4-small-blocks-uart-update.config | |
| - stm32f7.config | |
| - stm32g0.config | |
| - stm32h5.config | |
| - stm32h7.config | |
| - stm32l0.config | |
| - stm32l4-cube.config | |
| - stm32l5.config | |
| - stm32u5.config | |
| - stm32wb.config | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - name: Trust workspace | |
| run: git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
| - name: Run dot-config examples | |
| run: | | |
| # Sample .config cmake test | |
| set -euo pipefail | |
| TARGET="${{ matrix.target }}" | |
| TARGET="${TARGET%.config}" | |
| TARGET="${TARGET%%-*}" | |
| BUILD_DIR="build-${TARGET}" | |
| LOG_FILE="run-${TARGET}.log" | |
| KEYWORD="Config mode: dot" | |
| echo "Target: ${TARGET}" | |
| echo "Build dir: ${BUILD_DIR}" | |
| echo "Saving output to ${LOG_FILE}" | |
| CONFIG_SRC="./config/examples/${{ matrix.target }}" | |
| echo "Fetch ${TARGET} example .config (source: ${CONFIG_SRC})" | |
| if [ ! -f "${CONFIG_SRC}" ]; then | |
| echo "Missing config file: ${CONFIG_SRC}" >&2 | |
| exit 1 | |
| fi | |
| cp "${CONFIG_SRC}" ./.config | |
| ls .config | |
| cat .config | |
| echo "" | |
| echo "Clean" | |
| rm -rf "./${BUILD_DIR}" | |
| # Here we should see the .config file values read and displayed: | |
| cmake -S . -B "${BUILD_DIR}" \ | |
| -DUSE_DOT_CONFIG=ON \ | |
| -DWOLFBOOT_TARGET="${TARGET}" 2>&1 | tee "${LOG_FILE}" | |
| # Config dot-config mode | |
| if grep -q -- "${KEYWORD}" "${LOG_FILE}"; then | |
| echo "Keyword found: ${KEYWORD}" | |
| else | |
| echo "Keyword not found: ${KEYWORD}" >&2 | |
| exit 1 | |
| fi | |
| # First: build keygen explicitly and inspect it | |
| echo "Building keygen_build for ${TARGET}" | |
| cmake --build "${BUILD_DIR}" --parallel 1 --target keygen_build | |
| if [ -f "${BUILD_DIR}/keygen" ]; then | |
| echo "Inspecting keygen:" | |
| ls -l "${BUILD_DIR}/keygen" | |
| file "${BUILD_DIR}/keygen" || true | |
| else | |
| echo "keygen not found at ${BUILD_DIR}/keygen" | |
| fi | |
| # Now run the normal build | |
| echo "Running full build" | |
| cmake --build "${BUILD_DIR}" --parallel 8 |