betaflight-configurator/.github/workflows/nightly.yml

71 lines
2.3 KiB
YAML

# You'll need to setup the follwing environment variables:
# env.repoNightly - The repository to release nightly builds to e.g. betaflight-configurator-nightly
# env.releaseNotes - The release notes to be published as part of the github release
# secrets.REPO_TOKEN - A GitHub token with permissions to push and publish releases to the nightly repo
env:
repoNightly: betaflight/betaflight-configurator-nightlies
debugReleaseNotes: >
This is an automated development build.
It may be unstable and result in corrupted configurations or data loss.
**Use only for testing.**
releaseNotes: This is a release build. It does not contain the debug console.
name: Nightly
on:
push:
branches:
- master
- '*-maintenance'
jobs:
ci:
name: CI
uses: ./.github/workflows/ci.yml
release:
name: Release
needs: ci
runs-on: ubuntu-20.04
steps:
- name: Fetch build artifacts
uses: actions/download-artifact@v2
with:
path: release-assets/
- name: Select release notes
id: notes
run: |
set -- release-assets/Betaflight-Configurator-Debug-*
echo "::set-output name=notes::$(test -e "$1" && echo '${{ env.debugReleaseNotes }}' || echo '${{ env.releaseNotes }}')"
- name: Get current date
id: date
run: echo "::set-output name=today::$(date '+%Y%m%d')"
- name: Release
uses: softprops/action-gh-release@1e07f4398721186383de40550babbdf2b84acfc5 # v0.1.14
with:
token: ${{ secrets.REPO_TOKEN }}
repository: ${{ env.repoNightly }}
tag_name: v${{ steps.date.outputs.today }}.${{ github.run_number }}
files: release-assets/Betaflight-Configurator-*/**
draft: false
prerelease: true
fail_on_unmatched_files: true
body: |
${{ steps.notes.outputs.notes }}
### Repository:
${{ github.repository }} ([link](${{ github.event.repository.html_url }}))
### Branch:
${{ github.ref_name }} ([link](${{ github.event.repository.html_url }}/tree/${{ github.ref_name }}))
### Latest changeset:
${{ github.event.head_commit.id }} ([link](${{ github.event.head_commit.url }}))
### Changes:
${{ github.event.head_commit.message }}