Stable Release #3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Stable Release | |
on: | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT | |
- name: Checkout | |
uses: actions/checkout@master | |
with: | |
fetch-depth: 0 | |
#ref: next | |
# The branch, tag or SHA to checkout. When checking out the repository that | |
# triggered a workflow, this defaults to the reference or SHA for that event. | |
# Otherwise, uses the default branch. | |
# https://github.com/actions/checkout | |
# So scheduled runs will use the default branch (next) but its now possible to trigger a workflow from another branch | |
submodules: true | |
- name: Git Sumbodule Update | |
run: | | |
git submodule update --init --recursive | |
- name: Get version | |
id: version | |
run: echo "version=$(cat .github/workflows/version.txt)" >> $GITHUB_OUTPUT | |
- name: Get past version | |
id: past_version | |
run: echo "past_version=$(cat .github/workflows/past_version.txt)" >> $GITHUB_OUTPUT | |
- name: Build the Docker image | |
run: docker build -t portapack-dev -f dockerfile-nogit . --tag my-image-name:$(date +%s) | |
- name: Make build folder | |
run: mkdir ${{ github.workspace }}/build | |
- name: Run the Docker image | |
run: docker run -e VERSION_STRING=${{ steps.version.outputs.version }} -i -v ${{ github.workspace }}:/havoc portapack-dev | |
- name: Create Firmware ZIP | |
run: | | |
zip -j firmware.zip build/firmware/portapack-shipping.bin && cd flashing && zip -r ../firmware.zip * | |
- name: Create changelog | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
{ | |
echo 'content<<EOF' | |
python3 .github/workflows/changelog.py ${{ steps.past_version.outputs.past_version }} | |
echo EOF | |
} >> "$GITHUB_OUTPUT" | |
id: changelog | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ steps.version.outputs.version }} | |
release_name: Mayhem firmware ${{ steps.version.outputs.version }} | |
body: | | |
**Shipping release - ${{ steps.version.outputs.version }}** | |
This firmware is made for to be pre installed on portapacks before its shipped out to the customer. | |
## Release notes | |
### Revision (${{ steps.version.outputs.version }}): | |
${{ steps.changelog.outputs.content }} | |
**Full Changelog**: https://github.com/portapack-mayhem/shipping-firmware/compare/${{ steps.past_version.outputs.past_version }}...${{ steps.version.outputs.version }} | |
draft: true | |
prerelease: false | |
- name: Upload Firmware TAR Asset | |
id: upload-firmware-tar-asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: build/firmware/portapack-shipping.bin | |
asset_name: portapack-shipping_${{ steps.version.outputs.version }}.bin | |
asset_content_type: application/x-tar | |
- name: Upload Firmware Asset | |
id: upload-firmware-asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./firmware.zip | |
asset_name: portapack-shipping_${{ steps.version.outputs.version }}_FIRMWARE.zip | |
asset_content_type: application/zip | |