Skip to content

Build and deploy nightly release #848

Build and deploy nightly release

Build and deploy nightly release #848

Workflow file for this run

---
name: Build and deploy nightly release
on:
push:
branches:
- 'nightly_filenames'
schedule:
- cron: '0 2 * * *' # run at 2 AM UTC
concurrency:
group: 'nightly'
cancel-in-progress: true
jobs:
build:
name: Build firmware
runs-on: ubuntu-latest
strategy:
matrix:
target:
- nv14;el18
- t12
- t16
- t18
- t8;zorro;pocket;commando8
- tlite;tlitef4;tpro;tprov2;lr3pro
- t20
- tx12;tx12mk2;boxer
- tx16s
- x10;x10-access
- x12s
- x7;x7-access
- x9d;x9dp;x9dp2019
- x9e;x9e-hall
- x9lite;x9lites
- xlite;xlites
container:
image: ghcr.io/edgetx/edgetx-dev:latest
volumes:
- ${{ github.workspace }}:/src
steps:
- name: Check out the repo
uses: actions/checkout@v3
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@v3
with:
name: edgetx-firmware-nightly
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@v3
with:
name: edgetx-firmware-nightly
path: edgetx-firmware-nightly
- 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 release
uses: marvinpinto/action-automatic-releases@latest
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: 'nightly'
prerelease: true
files: |
*.zip