Skip to content

Commit

Permalink
workflow: Add workflow to attach release assets
Browse files Browse the repository at this point in the history
When a release is created this new workflow calls the other build
and test workflows and uploads the tested artifacts into github
release.
The existing workflows were modified to make them callable from other
workflows.
Build workflow now uploads the artifacts so that they can be added to
the release. The build workflow uploads the hex, bin and the .config
file. The names of the files will have the sha if built from main and
the tag name if built from a tag.

Signed-off-by: Balaji Srinivasan <[email protected]>
  • Loading branch information
Balaji Srinivasan committed Jun 10, 2024
1 parent 1c5e06c commit 402d76a
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 2 deletions.
32 changes: 32 additions & 0 deletions .github/workflows/attach_release_assets.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Workflow that attaches additional assets to github release.
name: Attach Release Assets

on:
release:
types: [created]

jobs:
trigger-build:
uses: ./.github/workflows/build.yml

trigger-dfu-check:
uses: ./.github/workflows/dfu_check.yml

trigger-target-test:
uses: ./.github/workflows/on_target.yml

attach-assets:
runs-on: ubuntu-22.04
# Only make a release if the above jobs are passing
needs: [trigger-build, trigger-dfu-check, trigger-target-test]
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: firmware

- name: Deploy release to github
uses: softprops/action-gh-release@v1
with:
fail_on_unmatched_files: true
files: hello.nrfcloud.com-*.*
30 changes: 28 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: Build

on:
workflow_call:
push:
branches:
- main
Expand Down Expand Up @@ -33,6 +34,31 @@ jobs:
pip install -r nrf/scripts/requirements-build.txt
- name: Build firmware
working-directory: thingy91x-oob
working-directory: thingy91x-oob/app
run: |
west build -b thingy91x/nrf9151/ns -p
- name: Set VERSION
shell: bash
run: |
if [[ "${{ startsWith(github.ref, 'refs/tags/') }}" == "true" ]]; then
echo "VERSION=${{ github.ref_name }}" >> $GITHUB_ENV
else
echo "VERSION=${{ github.sha }}" >> $GITHUB_ENV
fi
- name: Rename artifacts
working-directory: thingy91x-oob/app/build
run: |
west twister -T app -v --inline-logs --integration
cp merged.hex hello.nrfcloud.com-${{ env.VERSION }}-thingy91x-debug-app.hex
cp app/zephyr/.config hello.nrfcloud.com-${{ env.VERSION }}-thingy91x-debug-app.config
cp app/zephyr/zephyr.signed.bin hello.nrfcloud.com-${{ env.VERSION }}-thingy91x-debug-app_update_signed.bin
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: firmware
if-no-files-found: error
path: |
thingy91x-oob/app/build/hello.nrfcloud.com-*.*
1 change: 1 addition & 0 deletions .github/workflows/dfu_check.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: DFU image compatibility check

on:
workflow_call:
push:
branches:
- main
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/on_target.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: On_target

on:
workflow_call:
workflow_dispatch:
inputs:
run_test:
Expand Down Expand Up @@ -48,6 +49,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: oob-t91x-hex
if-no-files-found: error
path: thingy91x-oob/build/merged.hex

test:
Expand Down

0 comments on commit 402d76a

Please sign in to comment.