2021-07-24 13:23:03 -07:00
|
|
|
name: HW CI
|
2021-01-31 14:35:12 -08:00
|
|
|
|
|
|
|
on: [push, pull_request]
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
build-firmware:
|
2021-06-21 05:56:23 -07:00
|
|
|
strategy:
|
|
|
|
# Let all builds finish even if one fails early
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
2024-02-18 21:28:27 -08:00
|
|
|
build-target: [f407-discovery, proteus_f7]
|
2021-06-21 05:56:23 -07:00
|
|
|
|
|
|
|
include:
|
2022-12-21 17:33:37 -08:00
|
|
|
- build-target: f407-discovery
|
|
|
|
runs-on: hw-ci-f4-discovery
|
2023-01-23 09:19:21 -08:00
|
|
|
test-suite: com.rusefi.HwCiF4Discovery
|
2023-02-06 04:37:17 -08:00
|
|
|
folder: config/boards/f407-discovery
|
2022-12-21 17:33:37 -08:00
|
|
|
openocd-script: ../.github/workflows/openocd_ci_f4_discovery.cfg
|
|
|
|
serial-device: /dev/serial/by-id/usb-rusEFI_LLC_rusEFI_Engine_Management_ECU_2B003B000A51343033393930-if01
|
2021-06-21 05:56:23 -07:00
|
|
|
|
2024-02-18 21:28:27 -08:00
|
|
|
# https://github.com/rusefi/rusefi/issues/5981
|
|
|
|
# - build-target: proteus_f4
|
|
|
|
# runs-on: hw-ci-proteus
|
2023-08-01 18:29:17 -07:00
|
|
|
# test-suite: com.rusefi.HwCiProteus
|
|
|
|
# folder: config/boards/proteus
|
2024-02-18 21:28:27 -08:00
|
|
|
# openocd-script: ../.github/workflows/openocd_ci_proteus_f4.cfg
|
|
|
|
# serial-device: /dev/serial/by-id/usb-rusEFI_LLC_rusEFI_Engine_Management_ECU_41003D000451383037343335-if01
|
|
|
|
|
|
|
|
- build-target: proteus_f7
|
|
|
|
runs-on: hw-ci-proteus-f7
|
|
|
|
test-suite: com.rusefi.HwCiProteus
|
|
|
|
folder: config/boards/proteus
|
|
|
|
openocd-script: ../.github/workflows/openocd_ci_proteus_f7.cfg
|
|
|
|
serial-device: /dev/serial/by-id/usb-rusEFI_LLC_rusEFI_Engine_Management_ECU_38002D0005504B4634303120-if01
|
2023-07-23 20:03:49 -07:00
|
|
|
|
2021-06-21 05:56:23 -07:00
|
|
|
runs-on: ${{matrix.runs-on}}
|
2021-01-31 14:35:12 -08:00
|
|
|
|
|
|
|
steps:
|
2023-11-30 00:06:18 -08:00
|
|
|
- uses: actions/setup-java@v4
|
2023-07-02 15:51:45 -07:00
|
|
|
with:
|
|
|
|
distribution: 'zulu'
|
|
|
|
java-version: '11'
|
|
|
|
|
2023-09-05 06:09:12 -07:00
|
|
|
- uses: actions/checkout@v4
|
2023-01-29 01:43:27 -08:00
|
|
|
|
|
|
|
- name: Checkout Submodules
|
|
|
|
run: |
|
|
|
|
git submodule update --init --depth=1 firmware/ChibiOS
|
|
|
|
git submodule update --init --depth=1 firmware/ChibiOS-Contrib
|
|
|
|
git submodule update --init --depth=1 firmware/libfirmware
|
|
|
|
git submodule update --init --depth=1 firmware/ext/lua
|
|
|
|
git submodule update --init --depth=1 firmware/ext/uzlib
|
|
|
|
git submodule update --init --depth=1 firmware/controllers/lua/luaaa
|
|
|
|
git submodule update --init --depth=1 firmware/controllers/can/wideband_firmware
|
2023-12-15 08:55:25 -08:00
|
|
|
git submodule update --init --depth=1 java_console/peak-can-basic
|
2021-01-31 14:35:12 -08:00
|
|
|
|
|
|
|
- name: Identify Agent
|
|
|
|
run: uname -a
|
|
|
|
|
2023-06-25 08:03:46 -07:00
|
|
|
- name: Acquire GCC
|
2023-12-28 13:01:55 -08:00
|
|
|
uses: carlosperate/arm-none-eabi-gcc-action@v1
|
|
|
|
with:
|
2024-01-02 14:34:33 -08:00
|
|
|
release: '12.3.Rel1'
|
2022-10-17 12:36:02 -07:00
|
|
|
|
2021-01-31 14:35:12 -08:00
|
|
|
# Make sure the compiler works
|
2022-10-17 12:36:02 -07:00
|
|
|
- name: Test/Identify Compiler
|
2021-01-31 14:35:12 -08:00
|
|
|
run: arm-none-eabi-gcc -v
|
|
|
|
|
|
|
|
- name: Build Firmware
|
2023-07-03 21:05:54 -07:00
|
|
|
run: .github/workflows/hw-ci/build_for_hw_ci.sh ${{matrix.folder}} ${{matrix.build-target}}
|
2021-01-31 14:35:12 -08:00
|
|
|
|
2021-07-24 13:23:32 -07:00
|
|
|
- name: Check for STLINK
|
2021-07-24 13:54:44 -07:00
|
|
|
run: lsusb | grep 'ST-LINK\|STLINK'
|
2021-07-24 13:23:32 -07:00
|
|
|
|
2021-01-31 14:35:12 -08:00
|
|
|
- name: OpenOCD wipe & flash STM32
|
2023-07-04 06:49:16 -07:00
|
|
|
run: .github/workflows/hw-ci/openocd_wipe_and_flash.sh ${{matrix.openocd-script}}
|
2021-01-31 14:35:12 -08:00
|
|
|
|
2024-02-18 04:51:44 -08:00
|
|
|
- name: Show USB status
|
|
|
|
run: lsusb
|
|
|
|
|
2023-11-01 13:27:34 -07:00
|
|
|
- name: Upload build bin artifact
|
2023-12-15 00:37:05 -08:00
|
|
|
uses: actions/upload-artifact@v4
|
2023-11-01 13:27:34 -07:00
|
|
|
with:
|
|
|
|
name: rusefi_hw-ci-${{matrix.build-target}}.bin
|
2024-02-05 15:30:07 -08:00
|
|
|
path: ./firmware/build/rusefi*.bin
|
2023-11-01 13:27:34 -07:00
|
|
|
|
2023-07-03 21:05:54 -07:00
|
|
|
- name: Set EXTRA env
|
|
|
|
run: |
|
|
|
|
echo "HARDWARE_CI_SERIAL_DEVICE=${{matrix.serial-device}}" >> $GITHUB_ENV
|
|
|
|
|
2021-01-31 14:35:12 -08:00
|
|
|
# This both compiles and runs HW CI tests
|
|
|
|
- name: Run Hardware CI
|
2023-07-04 09:29:07 -07:00
|
|
|
run: .github/workflows/hw-ci/run_hw_ci.sh ${{matrix.test-suite}}
|
2022-05-25 10:52:35 -07:00
|
|
|
|