* Lib: move cube to libs. Firmware: prepare for code base refactoring, detach from cube, port to cmsis_os2. * Firmware, target f2: regenerate project with latest cube package, tim17 for os ticks. * Firmware: unified codebase. * Core: do not include semaphore on old targets. Firmware: dfu uplaod target. * CI: submodules, add firmware build. * CI: proper submodule config. * refactor build system * CI: update chain to use new targets. Documentation: update to match current structure. * CI: clean before rebuild. * Add local test docker-compose exec dev make -C firmware TARGET=local TEST=1 run * Makefile: target specific build directory. CI: updated artifacts path. * Makefile: init git submodules if they don't exists. * Makefile: debug rule now doesn't reset MCU, prevent SIGINT propagation to st-util. * Makefile: proper rebuild sequence in zz and zzz * Makefile: timestamp tracking for flash and upload commands. * Apps: modular build. Input: fix flipper hal inline. * Wiki: proper bootloader link. * Applications: fix broken build for local targets. * add st-flash to docker * fix build * force rebuild app * move app force to firmware part * fix build deps * qrcode build ok * fix example display * add testing routine * update build instruction Co-authored-by: Aleksandr Kutuzov <aku@plooks.com> Co-authored-by: aanper <mail@s3f.ru>
68 lines
1.8 KiB
YAML
68 lines
1.8 KiB
YAML
name: 'CI'
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
paths-ignore:
|
|
- 'wiki/**'
|
|
- 'wiki_static/**'
|
|
pull_request:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
with:
|
|
submodules: true
|
|
|
|
- uses: satackey/action-docker-layer-caching@v0.0.8
|
|
continue-on-error: true
|
|
with:
|
|
key: docker-cache-${{ hashFiles('docker/**') }}-{hash}
|
|
restore-keys: docker-cache-${{ hashFiles('docker/**') }}-
|
|
- name: Build docker image
|
|
uses: ./.github/actions/docker
|
|
|
|
- name: Check syntax
|
|
uses: ./.github/actions/docker
|
|
continue-on-error: true
|
|
with:
|
|
run: /syntax_check.sh
|
|
|
|
- name: Build F2 bootloader in docker
|
|
uses: ./.github/actions/docker
|
|
with:
|
|
run: make -C bootloader TARGET=f2
|
|
|
|
- name: Publish F2 bootloader artifacts
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: bootloader_f2
|
|
path: |
|
|
bootloader/.obj/f2/bootloader.elf
|
|
bootloader/.obj/f2/bootloader.bin
|
|
bootloader/.obj/f2/bootloader.hex
|
|
if-no-files-found: error
|
|
|
|
- name: Build local testing firmware in docker
|
|
uses: ./.github/actions/docker
|
|
with:
|
|
run: make -C firmware TARGET=local
|
|
|
|
- name: Build F2 firmware in docker
|
|
uses: ./.github/actions/docker
|
|
with:
|
|
run: make -C firmware TARGET=f2
|
|
|
|
- name: Publish F2 firmware artifacts
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: firmware_f2
|
|
path: |
|
|
firmware/.obj/f2/firmware.elf
|
|
firmware/.obj/f2/firmware.bin
|
|
firmware/.obj/f2/firmware.hex
|
|
if-no-files-found: error
|