Skip to content

Build firmware

Build firmware #105

Workflow file for this run

---
name: Build firmware
on:
push:
branches:
- "master"
tags:
- v*
paths:
- "build-firmwares.sh"
- ".github/workflows/fw-build.yml"
workflow_dispatch:
concurrency:
group: "fw-build"
cancel-in-progress: true
jobs:
build:
name: Build firmware
runs-on: ubuntu-latest
strategy:
matrix:
target:
- x9dp2019;x9d;x9dp
- nv14;el18
- pl18;pl18ev
- t12
- t15;t16;t18
- t8;zorro;pocket;mt12;commando8
- tlite;tpro;tprov2;lr3pro
- t20;t20v2;t14
- tx12;tx12mk2;boxer
- tx16s
- f16
- x10;x10-access
- x12s
- x7;x7-access
- x9e;x9e-hall
- x9lite;x9lites
- xlite;xlites
- mt12
container:
image: ghcr.io/edgetx/edgetx-dev:latest
volumes:
- ${{ github.workspace }}:/src
steps:
- name: Check out the repo
uses: actions/checkout@v4
with:
submodules: recursive
- name: Build firmware ${{ matrix.target }}
env:
FLAVOR: ${{ matrix.target }}
EDGETX_VERSION_SUFFIX: lang-custom
run: ./build-firmwares.sh
- name: Package firmware ${{ matrix.target }}
uses: actions/upload-artifact@v4
with:
name: edgetx-firmware-custom-${{ matrix.target }}
path: |
*.zip
retention-days: 15
if-no-files-found: error
deploy:
name: Deploy release
runs-on: ubuntu-latest
needs: build
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
pattern: edgetx-firmware-custom-*
path: edgetx-firmware-custom
merge-multiple: true
- name: Deploy release
uses: softprops/action-gh-release@v1
if: startsWith(github.event.ref, 'refs/tags/v')
with:
token: "${{ secrets.GITHUB_TOKEN }}"
prerelease: false
generate_release_notes: true
files: |
edgetx-firmware-custom/*.zip
- name: Deploy pre-release
uses: softprops/action-gh-release@v1
if: ${{ !startsWith(github.event.ref, 'refs/tags/v') }}
with:
token: "${{ secrets.GITHUB_TOKEN }}"
tag_name: "latest"
prerelease: true
generate_release_notes: true
files: |
edgetx-firmware-custom/*.zip