Skip to content

Implement toasts feedback #265

Implement toasts feedback

Implement toasts feedback #265

Workflow file for this run

on:
push:
branches:
- master
- develop
pull_request:
branches:
- develop
types: [opened, reopened, synchronize]
workflow_call: # When another workflow invokes this one.
outputs:
matrix:
description: "Strategy matrix"
value: ${{ jobs.get-targets.outputs.matrix }}
workflow_dispatch: # Manually invoked by user.
name: ci-build
env:
NODE_VERSION: 16
PYTHON_VERSION: 3.12
OPENSHOCK_API_DOMAIN: api.shocklink.net
# OPENSHOCK_FW_VERSION:
# - If this is branch "master" or "develop", we use "0.0.0-master" or "0.0.0-develop" respectively.
# - All other scenarios we use "0.0.0-unknown", as we cannot guarantee SemVer compliance by accepting any branch name. So this is the safe option.
OPENSHOCK_FW_VERSION: ${{ (contains(fromJSON('["master","develop"]'), github.ref_name) && format('0.0.0-{0}', github.ref_name)) || '0.0.0-unknown' }}
OPENSHOCK_FW_COMMIT: ${{ github.sha }}
jobs:
# Read platformio.ini and extract all specific targets. See the referenced file for more info.
get-targets:
uses: ./.github/workflows/get-targets.yml
build-captive-portal:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
sparse-checkout: |
.github
WebUI
- uses: ./.github/actions/build-captive-portal
with:
node-version: ${{ env.NODE_VERSION }}
build-filesystem:
runs-on: ubuntu-latest
needs: build-captive-portal
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/build-filesystem
with:
python-version: ${{ env.PYTHON_VERSION }}
skip-checkout: true
build-firmware:
runs-on: ubuntu-latest
needs: get-targets
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.get-targets.outputs.matrix) }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/build-firmware
with:
python-version: ${{ env.PYTHON_VERSION }}
board: ${{ matrix.board }}
skip-checkout: true
merge-images:
runs-on: ubuntu-latest
needs: [get-targets, build-filesystem, build-firmware]
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.get-targets.outputs.matrix )}}
steps:
- uses: actions/checkout@v4
with:
sparse-checkout: |
.github
scripts
boards
chips
- uses: ./.github/actions/merge-images
with:
python-version: ${{ env.PYTHON_VERSION }}
board: ${{ matrix.board }}
skip-checkout: true
done:
runs-on: ubuntu-latest
needs: [build-filesystem, merge-images]
steps:
- run: echo "Done"