firmware/.github/workflows/release.yml

90 lines
3.0 KiB
YAML
Raw Normal View History

2021-04-16 05:37:00 +00:00
name: Make Release
on:
# Can optionally take parameters from the github UI, more info here https://github.blog/changelog/2020-07-06-github-actions-manual-triggers-with-workflow_dispatch/#:~:text=You%20can%20now%20create%20workflows,the%20workflow%20is%20run%20on.
2021-04-16 07:03:38 +00:00
# workflow_dispatch:
# inputs:
# Only want to be run if a new tag starting with v is pushed.
push:
branches:
- "!*"
tags:
2021-04-17 01:28:36 +00:00
- "v1*"
2021-04-16 05:37:00 +00:00
jobs:
2021-04-16 07:31:53 +00:00
release-build:
2021-04-16 05:37:00 +00:00
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
submodules: 'recursive'
2021-04-16 07:03:38 +00:00
# get github branch and tag names as ${{ steps.branch_name.outputs.SOURCE_TAG }}
- name: Branch name
id: branch_name
run: |
echo ::set-output name=SOURCE_NAME::${GITHUB_REF#refs/*/}
echo ::set-output name=SOURCE_BRANCH::${GITHUB_REF#refs/heads/}
echo ::set-output name=SOURCE_TAG::${GITHUB_REF#refs/tags/}
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.x
# Note: we don't use caches on release builds because we don't want to accidentally not have a virgin build machine
- name: Upgrade python tools
# We actually want to run this every time
# if: steps.cache-pip.outputs.cache-hit != 'true'
run: |
python -m pip install --upgrade pip
pip install -U platformio meshtastic adafruit-nrfutil
- name: Upgrade platformio
run: |
pio upgrade
2021-04-16 05:37:00 +00:00
# Will be available in steps.version.outputs.version
- name: Get version string
2021-05-25 00:45:47 +00:00
run: echo "::set-output name=version::$(./bin/buildinfo.py long)"
2021-04-16 05:37:00 +00:00
id: version
- name: Build everything
run: bin/build-all.sh
- name: Create release
2021-04-16 05:37:00 +00:00
uses: actions/create-release@v1
id: create_release
with:
draft: true
prerelease: true
release_name: ${{ steps.version.outputs.version }} alpha
2021-04-16 07:03:38 +00:00
tag_name: ${{ steps.branch_name.outputs.SOURCE_TAG }}
# was ${{ github.ref }}
body: |
Autogenerated by github action, developer should edit as required before publishing...
2021-04-16 05:37:00 +00:00
env:
GITHUB_TOKEN: ${{ github.token }}
- name: Add bins to release
2021-04-16 05:37:00 +00:00
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: release/archive/firmware-${{ steps.version.outputs.version }}.zip
asset_name: firmware-${{ steps.version.outputs.version }}.zip
asset_content_type: application/zip
- name: Add debug elfs to release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: release/archive/elfs-${{ steps.version.outputs.version }}.zip
asset_name: debug-elfs-${{ steps.version.outputs.version }}.zip
asset_content_type: application/zip