Skip to content

Improve Dockerfiles

Improve Dockerfiles #8

name: Smoketest Dockerfile builds for selected targets
on:
pull_request:
paths:
- '.devcontainer/sources/*'
- '.github/workflows/*'
jobs:
build-target:
strategy:
fail-fast: false # Continues to build other targets in the matrix, even if one fails.
matrix: # Add the target and build type you wish to generate firmware for:
include: [
{ target: SL_STK3701A, build-type: Debug, rtos: AzureRTOS},
{ target: ST_STM32F769I_DISCOVERY, build-type: Debug, rtos: ChibiOS },
{ target: M5Core2, build-type: Debug, rtos: ESP32 },
{ target: NXP_MIMXRT1060_EVK, build-type: Debug, rtos: All },
# { target: TI_CC1352R1_LAUNCHXL, build-type: Debug, rtos: TI radio-freq: 915 }
]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Adjust config templates for a devcontainer
run: |
# Move into the config directory
pushd config
# Rename the templates
mv user-prefs.TEMPLATE.json user-prefs.json
mv user-tools-repos.TEMPLATE.json user-tools-repos.json
# Adjust the file content for a devcontainer
sed -i -- 's|"name": "user-tools-repos-container"|"name": "user-tools-repos"|g' user-tools-repos.json
# Move out of the config directory
popd
- name: Adjust devcontainer.json for ${{ matrix.rtos }} source
run: |
# Move into the .devcontainer directory
pushd .devcontainer
# Target the dockerfile source.
sed -i -- 's|"dockerFile": "Dockerfile.All"|"dockerFile": "sources/Dockerfile.'${{ matrix.rtos }}'"|g' devcontainer.json
# Move out of the .devcontainer directory
popd
- name: Build ${{ matrix.target }} ${{ matrix.build-type }} Firmware
uses: devcontainers/[email protected]
with:
push: never
runCmd: |
# Build target:
cmake --preset=${{ matrix.target }} -DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
cmake --build build