mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-25 03:29:58 -07:00
github: workflow trigger optimizations (#3030)
This commit is contained in:
75
.github/workflows/build_compact.yml
vendored
Normal file
75
.github/workflows/build_compact.yml
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
name: 'Compact build'
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
env:
|
||||
FBT_TOOLCHAIN_PATH: /runner/_work
|
||||
|
||||
jobs:
|
||||
compact:
|
||||
runs-on: [self-hosted, FlipperZeroShell]
|
||||
strategy:
|
||||
matrix:
|
||||
target: [f7, f18]
|
||||
steps:
|
||||
- name: 'Wipe workspace'
|
||||
run: find ./ -mount -maxdepth 1 -exec rm -rf {} \;
|
||||
|
||||
- name: 'Checkout code'
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 1
|
||||
submodules: false
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
|
||||
- name: 'Get commit details'
|
||||
run: |
|
||||
if [[ ${{ github.event_name }} == 'pull_request' ]]; then
|
||||
TYPE="pull"
|
||||
elif [[ "${{ github.ref }}" == "refs/tags/"* ]]; then
|
||||
TYPE="tag"
|
||||
else
|
||||
TYPE="other"
|
||||
fi
|
||||
python3 scripts/get_env.py "--event_file=${{ github.event_path }}" "--type=$TYPE" || cat "${{ github.event_path }}"
|
||||
|
||||
- name: 'Build the firmware'
|
||||
id: build-fw
|
||||
run: |
|
||||
set -e
|
||||
TARGET="$(echo '${{ matrix.target }}' | sed 's/f//')"; \
|
||||
./fbt TARGET_HW=$TARGET DEBUG=0 COMPACT=1 fap_dist updater_package
|
||||
echo "sdk-file=$(ls dist/${{ matrix.target }}-*/flipper-z-${{ matrix.target }}-sdk-*.zip)" >> $GITHUB_OUTPUT
|
||||
echo "hw-target-code=$TARGET" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Deploy uFBT with SDK
|
||||
uses: flipperdevices/flipperzero-ufbt-action@v0.1.0
|
||||
with:
|
||||
task: setup
|
||||
sdk-file: ${{ steps.build-fw.outputs.sdk-file }}
|
||||
sdk-hw-target: ${{ steps.build-fw.outputs.hw-target-code }}
|
||||
|
||||
- name: Build test app with SDK
|
||||
run: |
|
||||
mkdir testapp
|
||||
cd testapp
|
||||
ufbt create APPID=testapp
|
||||
ufbt
|
||||
|
||||
- name: Build example & external apps with uFBT
|
||||
run: |
|
||||
for appdir in 'applications/examples'; do
|
||||
for app in $(find "$appdir" -maxdepth 1 -mindepth 1 -type d); do
|
||||
pushd $app
|
||||
TARGETS_FAM=$(grep "targets" application.fam || echo "${{ matrix.target }}")
|
||||
if ! grep -q "${{ matrix.target }}" <<< $TARGETS_FAM ; then
|
||||
echo Skipping unsupported app: $app
|
||||
popd
|
||||
continue
|
||||
fi
|
||||
echo Building $app
|
||||
ufbt
|
||||
popd
|
||||
done
|
||||
done
|
||||
Reference in New Issue
Block a user