mirror of
https://github.com/meshtastic/firmware.git
synced 2025-02-10 14:41:26 +00:00
![Austin](/assets/img/avatar_default.png)
Some checks are pending
CI / setup (check) (push) Waiting to run
CI / setup (esp32) (push) Waiting to run
CI / setup (esp32c3) (push) Waiting to run
CI / setup (esp32c6) (push) Waiting to run
CI / setup (esp32s3) (push) Waiting to run
CI / setup (nrf52840) (push) Waiting to run
CI / setup (rp2040) (push) Waiting to run
CI / setup (stm32) (push) Waiting to run
CI / check (push) Blocked by required conditions
CI / build-esp32 (push) Blocked by required conditions
CI / build-esp32-s3 (push) Blocked by required conditions
CI / build-esp32-c3 (push) Blocked by required conditions
CI / build-esp32-c6 (push) Blocked by required conditions
CI / build-nrf52 (push) Blocked by required conditions
CI / build-rpi2040 (push) Blocked by required conditions
CI / build-stm32 (push) Blocked by required conditions
CI / package-raspbian (push) Waiting to run
CI / package-raspbian-armv7l (push) Waiting to run
CI / package-native (push) Waiting to run
CI / test-native (push) Waiting to run
CI / build-docker (push) Waiting to run
CI / after-checks (push) Blocked by required conditions
CI / gather-artifacts (esp32) (push) Blocked by required conditions
CI / gather-artifacts (esp32c3) (push) Blocked by required conditions
CI / gather-artifacts (esp32c6) (push) Blocked by required conditions
CI / gather-artifacts (esp32s3) (push) Blocked by required conditions
CI / gather-artifacts (nrf52840) (push) Blocked by required conditions
CI / gather-artifacts (rp2040) (push) Blocked by required conditions
CI / gather-artifacts (stm32) (push) Blocked by required conditions
CI / release-artifacts (push) Blocked by required conditions
CI / release-firmware (esp32) (push) Blocked by required conditions
CI / release-firmware (esp32c3) (push) Blocked by required conditions
CI / release-firmware (esp32c6) (push) Blocked by required conditions
CI / release-firmware (esp32s3) (push) Blocked by required conditions
CI / release-firmware (nrf52840) (push) Blocked by required conditions
CI / release-firmware (rp2040) (push) Blocked by required conditions
CI / release-firmware (stm32) (push) Blocked by required conditions
Flawfinder Scan / Flawfinder (push) Waiting to run
96 lines
2.6 KiB
YAML
96 lines
2.6 KiB
YAML
name: Setup Build Variant Composite Action
|
|
description: Variant build actions for Meshtastic Platform IO steps
|
|
|
|
inputs:
|
|
board:
|
|
description: The board to build for
|
|
required: true
|
|
github_token:
|
|
description: GitHub token
|
|
required: true
|
|
build-script-path:
|
|
description: Path to the build script
|
|
required: true
|
|
remove-debug-flags:
|
|
description: A space separated list of files to remove debug flags from
|
|
required: false
|
|
default: ""
|
|
ota-firmware-source:
|
|
description: The OTA firmware file to pull
|
|
required: false
|
|
default: ""
|
|
ota-firmware-target:
|
|
description: The target path to store the OTA firmware file
|
|
required: false
|
|
default: ""
|
|
artifact-paths:
|
|
description: A newline separated list of paths to store as artifacts
|
|
required: false
|
|
default: ""
|
|
include-web-ui:
|
|
description: Include the web UI in the build
|
|
required: false
|
|
default: "false"
|
|
arch:
|
|
description: Processor arch name
|
|
required: true
|
|
default: "esp32"
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Build base
|
|
id: base
|
|
uses: ./.github/actions/setup-base
|
|
|
|
- name: Pull web ui
|
|
if: inputs.include-web-ui == 'true'
|
|
uses: dsaltares/fetch-gh-release-asset@master
|
|
with:
|
|
repo: meshtastic/web
|
|
file: build.tar
|
|
target: build.tar
|
|
token: ${{ inputs.github_token }}
|
|
version: tags/v2.5.3
|
|
|
|
- name: Unpack web ui
|
|
if: inputs.include-web-ui == 'true'
|
|
shell: bash
|
|
run: |
|
|
tar -xf build.tar -C data/static
|
|
rm build.tar
|
|
|
|
- name: Remove debug flags for release
|
|
shell: bash
|
|
if: inputs.remove-debug-flags != ''
|
|
run: |
|
|
for INI_FILE in ${{ inputs.remove-debug-flags }}; do
|
|
sed -i '/DDEBUG_HEAP/d' ${INI_FILE}
|
|
done
|
|
|
|
- name: Build ${{ inputs.board }}
|
|
shell: bash
|
|
run: ${{ inputs.build-script-path }} ${{ inputs.board }}
|
|
|
|
- name: Pull OTA Firmware
|
|
if: inputs.ota-firmware-source != '' && inputs.ota-firmware-target != ''
|
|
uses: dsaltares/fetch-gh-release-asset@master
|
|
with:
|
|
repo: meshtastic/firmware-ota
|
|
file: ${{ inputs.ota-firmware-source }}
|
|
target: ${{ inputs.ota-firmware-target }}
|
|
token: ${{ inputs.github_token }}
|
|
|
|
- name: Get release version string
|
|
shell: bash
|
|
run: echo "long=$(./bin/buildinfo.py long)" >> $GITHUB_OUTPUT
|
|
id: version
|
|
|
|
- name: Store binaries as an artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: firmware-${{ inputs.arch }}-${{ inputs.board }}-${{ steps.version.outputs.long }}.zip
|
|
overwrite: true
|
|
path: |
|
|
${{ inputs.artifact-paths }}
|