Skip to content

Build and deploy nightly release #509

Build and deploy nightly release

Build and deploy nightly release #509

Workflow file for this run

---
name: Build and deploy nightly release
on:
schedule:
- cron: '0 2 * * *' # run at 2 AM UTC
workflow_dispatch:
concurrency:
group: 'nightly'
cancel-in-progress: true
jobs:
build:
name: Build firmware
runs-on: ubuntu-latest
strategy:
matrix:
target:
- nv14;el18
- pl18;pl18ev
- t12;t12max
- t15;t16;t18
- t8;zorro;pocket;mt12;commando8
- tlite;tpro;tprov2;tpros;lr3pro
- t20;t20v2;t14
- tx12;tx12mk2;boxer
- tx16s
- f16
- x10;x10express
- x12s
- x7;x7access
- x9d;x9dp;x9dp2019
- 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: nightly
run: ./tools/build-gh.sh
- name: Package firmware ${{ matrix.target }}
uses: actions/upload-artifact@v4
with:
name: edgetx-firmware-nightly-${{ matrix.target }}
path: |
fw.json
LICENSE
*.bin
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-nightly-*
path: edgetx-firmware-nightly
merge-multiple: true
- name: Compose release filename
run: echo "release_filename=edgetx-firmware-nightly-${GITHUB_SHA::8}.zip" >> $GITHUB_ENV
- name: Zip release file
uses: montudor/action-zip@v1
with:
args: zip -qq -j -r ${{ env.release_filename }} ./edgetx-firmware-nightly
- name: Deploy nightly release
uses: crowbarmaster/GH-Automatic-Releases@latest
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: 'nightly'
prerelease: true
files: |
*.zip