fome-fw/.github/workflows/build-firmware.yaml

322 lines
11 KiB
YAML
Raw Normal View History

2022-01-26 13:27:17 -08:00
name: Firmware at GHA
on:
push:
pull_request:
workflow_dispatch:
inputs:
do_upload:
description: 'Upload Build Outputs'
required: false
type: boolean
build_name:
description: 'Release Build Name'
required: false
type: string
2023-03-02 01:17:39 -08:00
jobs:
Use github actions to build and upload bundles (#1583) * add env var to skip upload * remove checking from compile.bat * working on push.yaml * finish sorting * progress * rename push to builds * rename push to builds * Add skip upload env var * fix pull_request name * fixed typo and changed name * fixed indentation and runs-on * try different env var setup * add nucleos and switch to underscore * add quotes * remove boards that were commented * remove boards that were commented * fix project board name * fixed variable name * add ini-file and console-settings * try installing gcc-multilib first * Install g++-multilib as well * remove unnecessary export * fixed exit numbers * change to different env setup * add simulator and console compilation to board bundles * changed OS and added linux simulator build * add checkout and missing colon * add gcc-multilib installes * Install mingw * fixed install * remove mingw from linux sim and call compile directly * change directory * moved envs to command * debug ls * debug ls * set ftp vars * add makefile debug info * removed batchecks * redirect stdout to easier see orrs * change name * remove redirect, add file inpection * Add conditional project name * Try software upgrade * missing char * update ine files * try quotes * add escapes * add quotes * add escapes and quotes * remove quotes and escapes * remove software upgrade * ignore test 2 * update apt * like this then * forgot import * fix case * remove RUSEFI_SKIP_UPLOAD and check RUSEFI_FTP_SERVER instead * break workflow back apart * upload simulator artifact * fixed operator * update apt * change paths * Update build-firmware.yaml * move update bundle to artifacts * fix var name * Install ncftp * set env vars conditionally * remove check so zips are created * try things the github way and copy to primary * re-enable test * missing space
2020-07-08 08:10:24 -07:00
build-firmware:
2023-02-21 10:56:30 -08:00
runs-on: ubuntu-latest-selfhost
strategy:
# Let all builds finish even if one fails early
fail-fast: false
matrix:
include:
# Board configurations
2023-02-22 20:35:07 -08:00
- build-target: hellen72
folder: config/boards/hellen/hellen72
ini-file: fome_hellen72.ini
# - build-target: hellen81
# folder: config/boards/hellen/hellen81
# ini-file: fome_hellen81.ini
2021-12-01 19:07:25 -08:00
2023-04-28 23:11:59 -07:00
- build-target: alphax-2chan
folder: config/boards/hellen/alphax-2chan
ini-file: fome_alphax-2chan.ini
2022-01-05 11:12:12 -08:00
2022-02-09 16:59:08 -08:00
- build-target: alphax-4chan
folder: config/boards/hellen/alphax-4chan
2023-02-21 02:29:22 -08:00
ini-file: fome_alphax-4chan.ini
2022-02-09 16:59:08 -08:00
2023-04-28 23:11:59 -07:00
- build-target: alphax-8chan
folder: config/boards/hellen/alphax-8chan
ini-file: fome_alphax-8chan.ini
2022-12-01 20:07:13 -08:00
# - build-target: harley81
# folder: config/boards/hellen/harley81
# ini-file: fome_harley81.ini
2022-02-09 16:59:08 -08:00
# - build-target: hellen88bmw
# folder: config/boards/hellen/hellen88bmw
# ini-file: fome_hellen88bmw.ini
2021-10-11 17:51:05 -07:00
2021-08-07 10:02:39 -07:00
- build-target: hellen-nb1
folder: config/boards/hellen/hellen-nb1
2023-02-21 02:29:22 -08:00
ini-file: fome_hellen-nb1.ini
2021-08-07 10:02:39 -07:00
# - build-target: hellen-gm-e67
# folder: config/boards/hellen/hellen-gm-e67
# ini-file: fome_hellen-gm-e67.ini
2023-02-22 20:35:07 -08:00
- build-target: hellenNA8_96
folder: config/boards/hellen/hellenNA8_96
ini-file: fome_hellenNA8_96.ini
2023-02-22 20:35:07 -08:00
- build-target: hellenNA6
folder: config/boards/hellen/hellen64_miataNA6_94
ini-file: fome_hellenNA6.ini
# - build-target: hellen128
# folder: config/boards/hellen/hellen128
# ini-file: fome_hellen128mercedes.ini
# - build-target: hellen121vag
# folder: config/boards/hellen/hellen121vag
# ini-file: fome_hellen121vag.ini
# - build-target: hellen121nissan
# folder: config/boards/hellen/hellen121nissan
# ini-file: fome_hellen121nissan.ini
# - build-target: hellen-honda-k
# folder: config/boards/hellen/hellen-honda-k
# ini-file: fome_hellen-honda-k.ini
2023-04-28 23:11:59 -07:00
- build-target: hellen154hyundai
folder: config/boards/hellen/hellen154hyundai
ini-file: fome_hellen154hyundai.ini
# - build-target: frankenso_na6
# folder: config/boards/frankenso
# ini-file: fome_frankenso_na6.ini
2022-06-10 09:30:28 -07:00
Use github actions to build and upload bundles (#1583) * add env var to skip upload * remove checking from compile.bat * working on push.yaml * finish sorting * progress * rename push to builds * rename push to builds * Add skip upload env var * fix pull_request name * fixed typo and changed name * fixed indentation and runs-on * try different env var setup * add nucleos and switch to underscore * add quotes * remove boards that were commented * remove boards that were commented * fix project board name * fixed variable name * add ini-file and console-settings * try installing gcc-multilib first * Install g++-multilib as well * remove unnecessary export * fixed exit numbers * change to different env setup * add simulator and console compilation to board bundles * changed OS and added linux simulator build * add checkout and missing colon * add gcc-multilib installes * Install mingw * fixed install * remove mingw from linux sim and call compile directly * change directory * moved envs to command * debug ls * debug ls * set ftp vars * add makefile debug info * removed batchecks * redirect stdout to easier see orrs * change name * remove redirect, add file inpection * Add conditional project name * Try software upgrade * missing char * update ine files * try quotes * add escapes * add quotes * add escapes and quotes * remove quotes and escapes * remove software upgrade * ignore test 2 * update apt * like this then * forgot import * fix case * remove RUSEFI_SKIP_UPLOAD and check RUSEFI_FTP_SERVER instead * break workflow back apart * upload simulator artifact * fixed operator * update apt * change paths * Update build-firmware.yaml * move update bundle to artifacts * fix var name * Install ncftp * set env vars conditionally * remove check so zips are created * try things the github way and copy to primary * re-enable test * missing space
2020-07-08 08:10:24 -07:00
- build-target: mre_f4
folder: config/boards/microrusefi
2023-02-21 02:29:22 -08:00
ini-file: fome_mre_f4.ini
Use github actions to build and upload bundles (#1583) * add env var to skip upload * remove checking from compile.bat * working on push.yaml * finish sorting * progress * rename push to builds * rename push to builds * Add skip upload env var * fix pull_request name * fixed typo and changed name * fixed indentation and runs-on * try different env var setup * add nucleos and switch to underscore * add quotes * remove boards that were commented * remove boards that were commented * fix project board name * fixed variable name * add ini-file and console-settings * try installing gcc-multilib first * Install g++-multilib as well * remove unnecessary export * fixed exit numbers * change to different env setup * add simulator and console compilation to board bundles * changed OS and added linux simulator build * add checkout and missing colon * add gcc-multilib installes * Install mingw * fixed install * remove mingw from linux sim and call compile directly * change directory * moved envs to command * debug ls * debug ls * set ftp vars * add makefile debug info * removed batchecks * redirect stdout to easier see orrs * change name * remove redirect, add file inpection * Add conditional project name * Try software upgrade * missing char * update ine files * try quotes * add escapes * add quotes * add escapes and quotes * remove quotes and escapes * remove software upgrade * ignore test 2 * update apt * like this then * forgot import * fix case * remove RUSEFI_SKIP_UPLOAD and check RUSEFI_FTP_SERVER instead * break workflow back apart * upload simulator artifact * fixed operator * update apt * change paths * Update build-firmware.yaml * move update bundle to artifacts * fix var name * Install ncftp * set env vars conditionally * remove check so zips are created * try things the github way and copy to primary * re-enable test * missing space
2020-07-08 08:10:24 -07:00
# - build-target: mre_f4_no_openblt
# folder: config/boards/microrusefi
# ini-file: fome_mre_f4.ini
# - build-target: mre_f4_debug
# folder: config/boards/microrusefi
# ini-file: fome_mre_f4.ini
2022-01-10 13:42:31 -08:00
# - build-target: mre_f4_recovery
# folder: config/boards/microrusefi
# ini-file: fome_mre_f4.ini
2021-01-28 14:46:49 -08:00
- build-target: mre_f7
folder: config/boards/microrusefi
ini-file: fome_mre_f7.ini
# - build-target: prometheus_405
# folder: config/boards/prometheus
# ini-file: fome_prometheus_405.ini
Use github actions to build and upload bundles (#1583) * add env var to skip upload * remove checking from compile.bat * working on push.yaml * finish sorting * progress * rename push to builds * rename push to builds * Add skip upload env var * fix pull_request name * fixed typo and changed name * fixed indentation and runs-on * try different env var setup * add nucleos and switch to underscore * add quotes * remove boards that were commented * remove boards that were commented * fix project board name * fixed variable name * add ini-file and console-settings * try installing gcc-multilib first * Install g++-multilib as well * remove unnecessary export * fixed exit numbers * change to different env setup * add simulator and console compilation to board bundles * changed OS and added linux simulator build * add checkout and missing colon * add gcc-multilib installes * Install mingw * fixed install * remove mingw from linux sim and call compile directly * change directory * moved envs to command * debug ls * debug ls * set ftp vars * add makefile debug info * removed batchecks * redirect stdout to easier see orrs * change name * remove redirect, add file inpection * Add conditional project name * Try software upgrade * missing char * update ine files * try quotes * add escapes * add quotes * add escapes and quotes * remove quotes and escapes * remove software upgrade * ignore test 2 * update apt * like this then * forgot import * fix case * remove RUSEFI_SKIP_UPLOAD and check RUSEFI_FTP_SERVER instead * break workflow back apart * upload simulator artifact * fixed operator * update apt * change paths * Update build-firmware.yaml * move update bundle to artifacts * fix var name * Install ncftp * set env vars conditionally * remove check so zips are created * try things the github way and copy to primary * re-enable test * missing space
2020-07-08 08:10:24 -07:00
# - build-target: prometheus_469
# folder: config/boards/prometheus
# ini-file: fome_prometheus_469.ini
Use github actions to build and upload bundles (#1583) * add env var to skip upload * remove checking from compile.bat * working on push.yaml * finish sorting * progress * rename push to builds * rename push to builds * Add skip upload env var * fix pull_request name * fixed typo and changed name * fixed indentation and runs-on * try different env var setup * add nucleos and switch to underscore * add quotes * remove boards that were commented * remove boards that were commented * fix project board name * fixed variable name * add ini-file and console-settings * try installing gcc-multilib first * Install g++-multilib as well * remove unnecessary export * fixed exit numbers * change to different env setup * add simulator and console compilation to board bundles * changed OS and added linux simulator build * add checkout and missing colon * add gcc-multilib installes * Install mingw * fixed install * remove mingw from linux sim and call compile directly * change directory * moved envs to command * debug ls * debug ls * set ftp vars * add makefile debug info * removed batchecks * redirect stdout to easier see orrs * change name * remove redirect, add file inpection * Add conditional project name * Try software upgrade * missing char * update ine files * try quotes * add escapes * add quotes * add escapes and quotes * remove quotes and escapes * remove software upgrade * ignore test 2 * update apt * like this then * forgot import * fix case * remove RUSEFI_SKIP_UPLOAD and check RUSEFI_FTP_SERVER instead * break workflow back apart * upload simulator artifact * fixed operator * update apt * change paths * Update build-firmware.yaml * move update bundle to artifacts * fix var name * Install ncftp * set env vars conditionally * remove check so zips are created * try things the github way and copy to primary * re-enable test * missing space
2020-07-08 08:10:24 -07:00
- build-target: proteus_f4
folder: config/boards/proteus
2023-02-21 02:29:22 -08:00
ini-file: fome_proteus_f4.ini
Use github actions to build and upload bundles (#1583) * add env var to skip upload * remove checking from compile.bat * working on push.yaml * finish sorting * progress * rename push to builds * rename push to builds * Add skip upload env var * fix pull_request name * fixed typo and changed name * fixed indentation and runs-on * try different env var setup * add nucleos and switch to underscore * add quotes * remove boards that were commented * remove boards that were commented * fix project board name * fixed variable name * add ini-file and console-settings * try installing gcc-multilib first * Install g++-multilib as well * remove unnecessary export * fixed exit numbers * change to different env setup * add simulator and console compilation to board bundles * changed OS and added linux simulator build * add checkout and missing colon * add gcc-multilib installes * Install mingw * fixed install * remove mingw from linux sim and call compile directly * change directory * moved envs to command * debug ls * debug ls * set ftp vars * add makefile debug info * removed batchecks * redirect stdout to easier see orrs * change name * remove redirect, add file inpection * Add conditional project name * Try software upgrade * missing char * update ine files * try quotes * add escapes * add quotes * add escapes and quotes * remove quotes and escapes * remove software upgrade * ignore test 2 * update apt * like this then * forgot import * fix case * remove RUSEFI_SKIP_UPLOAD and check RUSEFI_FTP_SERVER instead * break workflow back apart * upload simulator artifact * fixed operator * update apt * change paths * Update build-firmware.yaml * move update bundle to artifacts * fix var name * Install ncftp * set env vars conditionally * remove check so zips are created * try things the github way and copy to primary * re-enable test * missing space
2020-07-08 08:10:24 -07:00
- build-target: proteus_f7
folder: config/boards/proteus
2023-02-21 02:29:22 -08:00
ini-file: fome_proteus_f7.ini
Use github actions to build and upload bundles (#1583) * add env var to skip upload * remove checking from compile.bat * working on push.yaml * finish sorting * progress * rename push to builds * rename push to builds * Add skip upload env var * fix pull_request name * fixed typo and changed name * fixed indentation and runs-on * try different env var setup * add nucleos and switch to underscore * add quotes * remove boards that were commented * remove boards that were commented * fix project board name * fixed variable name * add ini-file and console-settings * try installing gcc-multilib first * Install g++-multilib as well * remove unnecessary export * fixed exit numbers * change to different env setup * add simulator and console compilation to board bundles * changed OS and added linux simulator build * add checkout and missing colon * add gcc-multilib installes * Install mingw * fixed install * remove mingw from linux sim and call compile directly * change directory * moved envs to command * debug ls * debug ls * set ftp vars * add makefile debug info * removed batchecks * redirect stdout to easier see orrs * change name * remove redirect, add file inpection * Add conditional project name * Try software upgrade * missing char * update ine files * try quotes * add escapes * add quotes * add escapes and quotes * remove quotes and escapes * remove software upgrade * ignore test 2 * update apt * like this then * forgot import * fix case * remove RUSEFI_SKIP_UPLOAD and check RUSEFI_FTP_SERVER instead * break workflow back apart * upload simulator artifact * fixed operator * update apt * change paths * Update build-firmware.yaml * move update bundle to artifacts * fix var name * Install ncftp * set env vars conditionally * remove check so zips are created * try things the github way and copy to primary * re-enable test * missing space
2020-07-08 08:10:24 -07:00
2023-03-15 19:26:55 -07:00
- build-target: proteus_h7
folder: config/boards/proteus
ini-file: fome_proteus_h7.ini
- build-target: stm32f429_nucleo
folder: config/boards/nucleo_f429
2023-02-21 02:29:22 -08:00
ini-file: fome_stm32f429_nucleo.ini
# - build-target: stm32f767_nucleo
# folder: config/boards/nucleo_f767
# ini-file: fome_stm32f767_nucleo.ini
# - build-target: stm32h743_nucleo
# folder: config/boards/nucleo_h743
# ini-file: fome_stm32h743_nucleo.ini
# - build-target: subaru_eg33_f7
# folder: config/boards/subaru_eg33
# ini-file: fome_subaru_eg33_f7.ini
2023-01-31 20:31:42 -08:00
- build-target: f407-discovery
folder: config/boards/f407-discovery
2023-02-21 02:29:22 -08:00
ini-file: fome_f407-discovery.ini
2023-01-31 20:31:42 -08:00
# - build-target: f429-discovery
# folder: config/boards/f429-discovery
# ini-file: fome_f429-discovery.ini
# - build-target: core8
# folder: config/boards/core8
# ini-file: fome_core8.ini
2022-02-11 13:06:00 -08:00
# - build-target: 48way
# folder: config/boards/48way
# ini-file: fome_48way.ini
2022-05-30 12:56:21 -07:00
# - build-target: atlas
# folder: config/boards/atlas
# ini-file: fome_atlas.ini
# - build-target: tdg-pdm8
# folder: config/boards/tdg-pdm8
# ini-file: fome_tdg-pdm8.ini
steps:
- name: Check branch name
if: ${{ contains(github.ref_name, '.') }}
run: echo '::error::Branch names must not contain ".", this breaks firmware autoupdates.' && exit 1
2023-05-02 16:09:54 -07:00
- name: Set run condition variables
run: |
2023-05-02 16:19:29 -07:00
if [ "${{github.repository}}" = "FOME-Tech/fome-fw" ]\
2023-05-02 16:09:54 -07:00
&& [ "${{github.event_name}}" = "push" ]\
&& [ "${{github.ref}}" = "refs/heads/master" ]\
|| [ "${{toJSON(inputs.do_upload)}}" = "true" ]; then
2023-05-02 16:09:54 -07:00
echo "full=true" >> $GITHUB_ENV
echo "upload=true" >> $GITHUB_ENV
elif [ "${{github.event_name}}" = "push" ]\
&& [ "${{github.ref}}" = "refs/heads/master" ]; then
echo "full=true" >> $GITHUB_ENV
fi
- uses: actions/checkout@v3
2023-03-02 01:22:05 -08:00
with:
submodules: true
2022-01-04 08:51:06 -08:00
# - uses: actions/setup-java@v3
# with:
# distribution: 'zulu'
# java-version: '8'
# - name: Install multilib, mingw, sshpass and mtools
# working-directory: ./.github/workflows/
# run: |
# sudo ./add-ubuntu-latest-apt-mirrors.sh
# sudo apt-get install gcc-multilib g++-multilib g++-mingw-w64 gcc-mingw-w64 sshpass mtools
# sudo apt-get install zip
# sudo apt-get install dosfstools
- name: Generate Live Documentation
working-directory: ./firmware/
2022-08-31 17:43:07 -07:00
run: ./gen_live_documentation.sh
# live_data_ids.h is generated above so order of operations is important here!
- name: Generate Enum Strings
working-directory: ./firmware/
2022-08-31 17:43:07 -07:00
run: ./gen_enum_to_string.sh
- name: Generate Configs for build-target
working-directory: ./firmware/
# todo: we have code duplication with gen_config.sh here :(
Fix #1590 (#1602) * Add checkout * remove empty with statement * Actually we do need push depth * convert gen_upload_docs.bat * convert run.bat * forgot to add run.sh * convert gen_upload_docs.bat * remove checking from bats * change config * fix path * fix path again * fix file extension * remove escapes * added missing quotation and escapes * convert build_current_bundle * convert clean_bootloader * convert compile_bootloader_discovery * convert compile_bootloader * add env var to skip upload * remove checking from compile.bat * working on push.yaml * finish sorting * progress * rename push to builds * rename push to builds * Add skip upload env var * fix pull_request name * fixed typo and changed name * fixed indentation and runs-on * try different env var setup * add nucleos and switch to underscore * add quotes * remove boards that were commented * remove boards that were commented * fix project board name * fixed variable name * add ini-file and console-settings * try installing gcc-multilib first * Install g++-multilib as well * remove unnecessary export * fixed exit numbers * change to different env setup * add simulator and console compilation to board bundles * changed OS and added linux simulator build * add checkout and missing colon * add gcc-multilib installes * Install mingw * fixed install * remove mingw from linux sim and call compile directly * change directory * moved envs to command * debug ls * debug ls * set ftp vars * add makefile debug info * removed batchecks * redirect stdout to easier see orrs * change name * remove redirect, add file inpection * Add conditional project name * Try software upgrade * missing char * update ine files * try quotes * add escapes * add quotes * add escapes and quotes * remove quotes and escapes * remove software upgrade * ignore test 2 * update apt * like this then * forgot import * fix case * remove RUSEFI_SKIP_UPLOAD and check RUSEFI_FTP_SERVER instead * break workflow back apart * upload simulator artifact * fixed operator * update apt * change paths * Update build-firmware.yaml * move update bundle to artifacts * fix var name * Install ncftp * set env vars conditionally * remove check so zips are created * try things the github way and copy to primary * re-enable test * missing space * use bash * use bash * add workflow * add check before upload * install kicad * switch firmware to bash * switch unit_testts to bash * switch jenkins to bash * fix path * pwd * checkout submodules * add ppa for kicad 5.1 * install xvfb and set DISPLAY * use xvfb * use python3 and add NO_DISPLAY var * fetch all * remove blob * undo unintentional changes * reset accidentally commited config.xmlu * remove submodule * fix path * Only call one board * make simulator and console conditional * break away bundle packaging * pass bundle name * switch to bash * make primary bundle conditional * break away packaging for primary and pass config names * Add default name to unit tests * add check to skip config * add property to skip config, and fix check * switch primary bundle to still build * switch to bash * move default config to its own script * add exit 0 * go back to gen_config running all boards * remove TS stuf8f * remove TS stuff * switch to gen_config_board * switch to bash * add kinetis back * add check for kinetis * rename compile_and_upload * add error checking * Revert "add error checking" This reverts commit f6c9b7f2521f9c28ea150da8e733c593a59596a1. * Add readme Co-authored-by: David Holdeman <David Holdeman>
2020-07-14 07:28:26 -07:00
run: |
2023-02-20 20:28:16 -08:00
if [ "${{ matrix.build-target }}" = "subaru_eg33_f7" ]; then
bash config/boards/subaru_eg33/config/gen_subaru_config.sh
[ $? -eq 0 ] || { echo "ERROR generating board subaru_eg33 subaru_eg33_f7"; exit 1; }
elif [ "${{ matrix.ini-file }}" = "" ]; then
echo "ERROR: ${{ matrix.build-target }} is missing ini-file attribute"
exit -1
Fix #1590 (#1602) * Add checkout * remove empty with statement * Actually we do need push depth * convert gen_upload_docs.bat * convert run.bat * forgot to add run.sh * convert gen_upload_docs.bat * remove checking from bats * change config * fix path * fix path again * fix file extension * remove escapes * added missing quotation and escapes * convert build_current_bundle * convert clean_bootloader * convert compile_bootloader_discovery * convert compile_bootloader * add env var to skip upload * remove checking from compile.bat * working on push.yaml * finish sorting * progress * rename push to builds * rename push to builds * Add skip upload env var * fix pull_request name * fixed typo and changed name * fixed indentation and runs-on * try different env var setup * add nucleos and switch to underscore * add quotes * remove boards that were commented * remove boards that were commented * fix project board name * fixed variable name * add ini-file and console-settings * try installing gcc-multilib first * Install g++-multilib as well * remove unnecessary export * fixed exit numbers * change to different env setup * add simulator and console compilation to board bundles * changed OS and added linux simulator build * add checkout and missing colon * add gcc-multilib installes * Install mingw * fixed install * remove mingw from linux sim and call compile directly * change directory * moved envs to command * debug ls * debug ls * set ftp vars * add makefile debug info * removed batchecks * redirect stdout to easier see orrs * change name * remove redirect, add file inpection * Add conditional project name * Try software upgrade * missing char * update ine files * try quotes * add escapes * add quotes * add escapes and quotes * remove quotes and escapes * remove software upgrade * ignore test 2 * update apt * like this then * forgot import * fix case * remove RUSEFI_SKIP_UPLOAD and check RUSEFI_FTP_SERVER instead * break workflow back apart * upload simulator artifact * fixed operator * update apt * change paths * Update build-firmware.yaml * move update bundle to artifacts * fix var name * Install ncftp * set env vars conditionally * remove check so zips are created * try things the github way and copy to primary * re-enable test * missing space * use bash * use bash * add workflow * add check before upload * install kicad * switch firmware to bash * switch unit_testts to bash * switch jenkins to bash * fix path * pwd * checkout submodules * add ppa for kicad 5.1 * install xvfb and set DISPLAY * use xvfb * use python3 and add NO_DISPLAY var * fetch all * remove blob * undo unintentional changes * reset accidentally commited config.xmlu * remove submodule * fix path * Only call one board * make simulator and console conditional * break away bundle packaging * pass bundle name * switch to bash * make primary bundle conditional * break away packaging for primary and pass config names * Add default name to unit tests * add check to skip config * add property to skip config, and fix check * switch primary bundle to still build * switch to bash * move default config to its own script * add exit 0 * go back to gen_config running all boards * remove TS stuf8f * remove TS stuff * switch to gen_config_board * switch to bash * add kinetis back * add check for kinetis * rename compile_and_upload * add error checking * Revert "add error checking" This reverts commit f6c9b7f2521f9c28ea150da8e733c593a59596a1. * Add readme Co-authored-by: David Holdeman <David Holdeman>
2020-07-14 07:28:26 -07:00
else
bash gen_config_board.sh ${{matrix.folder}} ${{matrix.build-target}} ${{matrix.ini-file}}
Fix #1590 (#1602) * Add checkout * remove empty with statement * Actually we do need push depth * convert gen_upload_docs.bat * convert run.bat * forgot to add run.sh * convert gen_upload_docs.bat * remove checking from bats * change config * fix path * fix path again * fix file extension * remove escapes * added missing quotation and escapes * convert build_current_bundle * convert clean_bootloader * convert compile_bootloader_discovery * convert compile_bootloader * add env var to skip upload * remove checking from compile.bat * working on push.yaml * finish sorting * progress * rename push to builds * rename push to builds * Add skip upload env var * fix pull_request name * fixed typo and changed name * fixed indentation and runs-on * try different env var setup * add nucleos and switch to underscore * add quotes * remove boards that were commented * remove boards that were commented * fix project board name * fixed variable name * add ini-file and console-settings * try installing gcc-multilib first * Install g++-multilib as well * remove unnecessary export * fixed exit numbers * change to different env setup * add simulator and console compilation to board bundles * changed OS and added linux simulator build * add checkout and missing colon * add gcc-multilib installes * Install mingw * fixed install * remove mingw from linux sim and call compile directly * change directory * moved envs to command * debug ls * debug ls * set ftp vars * add makefile debug info * removed batchecks * redirect stdout to easier see orrs * change name * remove redirect, add file inpection * Add conditional project name * Try software upgrade * missing char * update ine files * try quotes * add escapes * add quotes * add escapes and quotes * remove quotes and escapes * remove software upgrade * ignore test 2 * update apt * like this then * forgot import * fix case * remove RUSEFI_SKIP_UPLOAD and check RUSEFI_FTP_SERVER instead * break workflow back apart * upload simulator artifact * fixed operator * update apt * change paths * Update build-firmware.yaml * move update bundle to artifacts * fix var name * Install ncftp * set env vars conditionally * remove check so zips are created * try things the github way and copy to primary * re-enable test * missing space * use bash * use bash * add workflow * add check before upload * install kicad * switch firmware to bash * switch unit_testts to bash * switch jenkins to bash * fix path * pwd * checkout submodules * add ppa for kicad 5.1 * install xvfb and set DISPLAY * use xvfb * use python3 and add NO_DISPLAY var * fetch all * remove blob * undo unintentional changes * reset accidentally commited config.xmlu * remove submodule * fix path * Only call one board * make simulator and console conditional * break away bundle packaging * pass bundle name * switch to bash * make primary bundle conditional * break away packaging for primary and pass config names * Add default name to unit tests * add check to skip config * add property to skip config, and fix check * switch primary bundle to still build * switch to bash * move default config to its own script * add exit 0 * go back to gen_config running all boards * remove TS stuf8f * remove TS stuff * switch to gen_config_board * switch to bash * add kinetis back * add check for kinetis * rename compile_and_upload * add error checking * Revert "add error checking" This reverts commit f6c9b7f2521f9c28ea150da8e733c593a59596a1. * Add readme Co-authored-by: David Holdeman <David Holdeman>
2020-07-14 07:28:26 -07:00
fi
# Build machines don't have arm-none-eabi gcc, so let's download it and put it on the path
# - name: Download & Install GCC
# env:
# ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
# run: |
# ./firmware/provide_gcc.sh
# echo "::add-path::`pwd`/gcc-arm-none-eabi/bin"
# Make sure the compiler we just downloaded works - just print out the version
- name: Test Compiler
run: arm-none-eabi-gcc -v
2023-03-02 01:17:39 -08:00
# - name: Configs Set SSH variables
2023-05-02 16:09:54 -07:00
# if: ${{ env.full == 'true' && env.upload == 'true' }}
2023-03-02 01:17:39 -08:00
# env:
# ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
# run: |
2023-05-02 16:09:54 -07:00
# echo "::set-env name=RUSEFI_SSH_SERVER::${{secrets.RUSEFI_SSH_SERVER}}";
# echo "::set-env name=RUSEFI_SSH_USER::${{secrets.RUSEFI_SSH_USER}}";
# echo "::set-env name=RUSEFI_SSH_PASS::${{secrets.RUSEFI_SSH_PASS}}";
Use github actions to build and upload bundles (#1583) * add env var to skip upload * remove checking from compile.bat * working on push.yaml * finish sorting * progress * rename push to builds * rename push to builds * Add skip upload env var * fix pull_request name * fixed typo and changed name * fixed indentation and runs-on * try different env var setup * add nucleos and switch to underscore * add quotes * remove boards that were commented * remove boards that were commented * fix project board name * fixed variable name * add ini-file and console-settings * try installing gcc-multilib first * Install g++-multilib as well * remove unnecessary export * fixed exit numbers * change to different env setup * add simulator and console compilation to board bundles * changed OS and added linux simulator build * add checkout and missing colon * add gcc-multilib installes * Install mingw * fixed install * remove mingw from linux sim and call compile directly * change directory * moved envs to command * debug ls * debug ls * set ftp vars * add makefile debug info * removed batchecks * redirect stdout to easier see orrs * change name * remove redirect, add file inpection * Add conditional project name * Try software upgrade * missing char * update ine files * try quotes * add escapes * add quotes * add escapes and quotes * remove quotes and escapes * remove software upgrade * ignore test 2 * update apt * like this then * forgot import * fix case * remove RUSEFI_SKIP_UPLOAD and check RUSEFI_FTP_SERVER instead * break workflow back apart * upload simulator artifact * fixed operator * update apt * change paths * Update build-firmware.yaml * move update bundle to artifacts * fix var name * Install ncftp * set env vars conditionally * remove check so zips are created * try things the github way and copy to primary * re-enable test * missing space
2020-07-08 08:10:24 -07:00
2023-03-02 02:16:16 -08:00
# Build the firmware!
- name: Build Firmware
run: bash misc/jenkins/compile_other_versions/compile.sh ${{matrix.folder}} ${{matrix.build-target}}
Use github actions to build and upload bundles (#1583) * add env var to skip upload * remove checking from compile.bat * working on push.yaml * finish sorting * progress * rename push to builds * rename push to builds * Add skip upload env var * fix pull_request name * fixed typo and changed name * fixed indentation and runs-on * try different env var setup * add nucleos and switch to underscore * add quotes * remove boards that were commented * remove boards that were commented * fix project board name * fixed variable name * add ini-file and console-settings * try installing gcc-multilib first * Install g++-multilib as well * remove unnecessary export * fixed exit numbers * change to different env setup * add simulator and console compilation to board bundles * changed OS and added linux simulator build * add checkout and missing colon * add gcc-multilib installes * Install mingw * fixed install * remove mingw from linux sim and call compile directly * change directory * moved envs to command * debug ls * debug ls * set ftp vars * add makefile debug info * removed batchecks * redirect stdout to easier see orrs * change name * remove redirect, add file inpection * Add conditional project name * Try software upgrade * missing char * update ine files * try quotes * add escapes * add quotes * add escapes and quotes * remove quotes and escapes * remove software upgrade * ignore test 2 * update apt * like this then * forgot import * fix case * remove RUSEFI_SKIP_UPLOAD and check RUSEFI_FTP_SERVER instead * break workflow back apart * upload simulator artifact * fixed operator * update apt * change paths * Update build-firmware.yaml * move update bundle to artifacts * fix var name * Install ncftp * set env vars conditionally * remove check so zips are created * try things the github way and copy to primary * re-enable test * missing space
2020-07-08 08:10:24 -07:00
# Build rusEFI console
- name: Build console
2023-05-02 16:09:54 -07:00
if: ${{ env.full == 'true' }}
Fix #1590 (#1602) * Add checkout * remove empty with statement * Actually we do need push depth * convert gen_upload_docs.bat * convert run.bat * forgot to add run.sh * convert gen_upload_docs.bat * remove checking from bats * change config * fix path * fix path again * fix file extension * remove escapes * added missing quotation and escapes * convert build_current_bundle * convert clean_bootloader * convert compile_bootloader_discovery * convert compile_bootloader * add env var to skip upload * remove checking from compile.bat * working on push.yaml * finish sorting * progress * rename push to builds * rename push to builds * Add skip upload env var * fix pull_request name * fixed typo and changed name * fixed indentation and runs-on * try different env var setup * add nucleos and switch to underscore * add quotes * remove boards that were commented * remove boards that were commented * fix project board name * fixed variable name * add ini-file and console-settings * try installing gcc-multilib first * Install g++-multilib as well * remove unnecessary export * fixed exit numbers * change to different env setup * add simulator and console compilation to board bundles * changed OS and added linux simulator build * add checkout and missing colon * add gcc-multilib installes * Install mingw * fixed install * remove mingw from linux sim and call compile directly * change directory * moved envs to command * debug ls * debug ls * set ftp vars * add makefile debug info * removed batchecks * redirect stdout to easier see orrs * change name * remove redirect, add file inpection * Add conditional project name * Try software upgrade * missing char * update ine files * try quotes * add escapes * add quotes * add escapes and quotes * remove quotes and escapes * remove software upgrade * ignore test 2 * update apt * like this then * forgot import * fix case * remove RUSEFI_SKIP_UPLOAD and check RUSEFI_FTP_SERVER instead * break workflow back apart * upload simulator artifact * fixed operator * update apt * change paths * Update build-firmware.yaml * move update bundle to artifacts * fix var name * Install ncftp * set env vars conditionally * remove check so zips are created * try things the github way and copy to primary * re-enable test * missing space * use bash * use bash * add workflow * add check before upload * install kicad * switch firmware to bash * switch unit_testts to bash * switch jenkins to bash * fix path * pwd * checkout submodules * add ppa for kicad 5.1 * install xvfb and set DISPLAY * use xvfb * use python3 and add NO_DISPLAY var * fetch all * remove blob * undo unintentional changes * reset accidentally commited config.xmlu * remove submodule * fix path * Only call one board * make simulator and console conditional * break away bundle packaging * pass bundle name * switch to bash * make primary bundle conditional * break away packaging for primary and pass config names * Add default name to unit tests * add check to skip config * add property to skip config, and fix check * switch primary bundle to still build * switch to bash * move default config to its own script * add exit 0 * go back to gen_config running all boards * remove TS stuf8f * remove TS stuff * switch to gen_config_board * switch to bash * add kinetis back * add check for kinetis * rename compile_and_upload * add error checking * Revert "add error checking" This reverts commit f6c9b7f2521f9c28ea150da8e733c593a59596a1. * Add readme Co-authored-by: David Holdeman <David Holdeman>
2020-07-14 07:28:26 -07:00
run: bash misc/jenkins/build_java_console.sh
Use github actions to build and upload bundles (#1583) * add env var to skip upload * remove checking from compile.bat * working on push.yaml * finish sorting * progress * rename push to builds * rename push to builds * Add skip upload env var * fix pull_request name * fixed typo and changed name * fixed indentation and runs-on * try different env var setup * add nucleos and switch to underscore * add quotes * remove boards that were commented * remove boards that were commented * fix project board name * fixed variable name * add ini-file and console-settings * try installing gcc-multilib first * Install g++-multilib as well * remove unnecessary export * fixed exit numbers * change to different env setup * add simulator and console compilation to board bundles * changed OS and added linux simulator build * add checkout and missing colon * add gcc-multilib installes * Install mingw * fixed install * remove mingw from linux sim and call compile directly * change directory * moved envs to command * debug ls * debug ls * set ftp vars * add makefile debug info * removed batchecks * redirect stdout to easier see orrs * change name * remove redirect, add file inpection * Add conditional project name * Try software upgrade * missing char * update ine files * try quotes * add escapes * add quotes * add escapes and quotes * remove quotes and escapes * remove software upgrade * ignore test 2 * update apt * like this then * forgot import * fix case * remove RUSEFI_SKIP_UPLOAD and check RUSEFI_FTP_SERVER instead * break workflow back apart * upload simulator artifact * fixed operator * update apt * change paths * Update build-firmware.yaml * move update bundle to artifacts * fix var name * Install ncftp * set env vars conditionally * remove check so zips are created * try things the github way and copy to primary * re-enable test * missing space
2020-07-08 08:10:24 -07:00
# Build the simulator
2023-05-02 16:09:54 -07:00
- name: Build simulator
if: ${{ env.full == 'true' }}
# 'OS="Windows_NT"' allows us to build Windows executable on unix
run: OS="Windows_NT" bash misc/jenkins/build_simulator.sh
Use github actions to build and upload bundles (#1583) * add env var to skip upload * remove checking from compile.bat * working on push.yaml * finish sorting * progress * rename push to builds * rename push to builds * Add skip upload env var * fix pull_request name * fixed typo and changed name * fixed indentation and runs-on * try different env var setup * add nucleos and switch to underscore * add quotes * remove boards that were commented * remove boards that were commented * fix project board name * fixed variable name * add ini-file and console-settings * try installing gcc-multilib first * Install g++-multilib as well * remove unnecessary export * fixed exit numbers * change to different env setup * add simulator and console compilation to board bundles * changed OS and added linux simulator build * add checkout and missing colon * add gcc-multilib installes * Install mingw * fixed install * remove mingw from linux sim and call compile directly * change directory * moved envs to command * debug ls * debug ls * set ftp vars * add makefile debug info * removed batchecks * redirect stdout to easier see orrs * change name * remove redirect, add file inpection * Add conditional project name * Try software upgrade * missing char * update ine files * try quotes * add escapes * add quotes * add escapes and quotes * remove quotes and escapes * remove software upgrade * ignore test 2 * update apt * like this then * forgot import * fix case * remove RUSEFI_SKIP_UPLOAD and check RUSEFI_FTP_SERVER instead * break workflow back apart * upload simulator artifact * fixed operator * update apt * change paths * Update build-firmware.yaml * move update bundle to artifacts * fix var name * Install ncftp * set env vars conditionally * remove check so zips are created * try things the github way and copy to primary * re-enable test * missing space
2020-07-08 08:10:24 -07:00
Fix #1590 (#1602) * Add checkout * remove empty with statement * Actually we do need push depth * convert gen_upload_docs.bat * convert run.bat * forgot to add run.sh * convert gen_upload_docs.bat * remove checking from bats * change config * fix path * fix path again * fix file extension * remove escapes * added missing quotation and escapes * convert build_current_bundle * convert clean_bootloader * convert compile_bootloader_discovery * convert compile_bootloader * add env var to skip upload * remove checking from compile.bat * working on push.yaml * finish sorting * progress * rename push to builds * rename push to builds * Add skip upload env var * fix pull_request name * fixed typo and changed name * fixed indentation and runs-on * try different env var setup * add nucleos and switch to underscore * add quotes * remove boards that were commented * remove boards that were commented * fix project board name * fixed variable name * add ini-file and console-settings * try installing gcc-multilib first * Install g++-multilib as well * remove unnecessary export * fixed exit numbers * change to different env setup * add simulator and console compilation to board bundles * changed OS and added linux simulator build * add checkout and missing colon * add gcc-multilib installes * Install mingw * fixed install * remove mingw from linux sim and call compile directly * change directory * moved envs to command * debug ls * debug ls * set ftp vars * add makefile debug info * removed batchecks * redirect stdout to easier see orrs * change name * remove redirect, add file inpection * Add conditional project name * Try software upgrade * missing char * update ine files * try quotes * add escapes * add quotes * add escapes and quotes * remove quotes and escapes * remove software upgrade * ignore test 2 * update apt * like this then * forgot import * fix case * remove RUSEFI_SKIP_UPLOAD and check RUSEFI_FTP_SERVER instead * break workflow back apart * upload simulator artifact * fixed operator * update apt * change paths * Update build-firmware.yaml * move update bundle to artifacts * fix var name * Install ncftp * set env vars conditionally * remove check so zips are created * try things the github way and copy to primary * re-enable test * missing space * use bash * use bash * add workflow * add check before upload * install kicad * switch firmware to bash * switch unit_testts to bash * switch jenkins to bash * fix path * pwd * checkout submodules * add ppa for kicad 5.1 * install xvfb and set DISPLAY * use xvfb * use python3 and add NO_DISPLAY var * fetch all * remove blob * undo unintentional changes * reset accidentally commited config.xmlu * remove submodule * fix path * Only call one board * make simulator and console conditional * break away bundle packaging * pass bundle name * switch to bash * make primary bundle conditional * break away packaging for primary and pass config names * Add default name to unit tests * add check to skip config * add property to skip config, and fix check * switch primary bundle to still build * switch to bash * move default config to its own script * add exit 0 * go back to gen_config running all boards * remove TS stuf8f * remove TS stuff * switch to gen_config_board * switch to bash * add kinetis back * add check for kinetis * rename compile_and_upload * add error checking * Revert "add error checking" This reverts commit f6c9b7f2521f9c28ea150da8e733c593a59596a1. * Add readme Co-authored-by: David Holdeman <David Holdeman>
2020-07-14 07:28:26 -07:00
- name: Package Bundle
2023-05-02 16:11:00 -07:00
if: ${{ env.full == 'true' }}
2023-05-12 11:38:21 -07:00
run: bash misc/jenkins/compile_other_versions/prepare_bundle.sh ${{matrix.build-target}} "${{matrix.ini-file}}" ${{ toJSON(inputs.build_name) }}
2020-06-16 09:33:49 -07:00
2023-05-15 19:25:25 -07:00
- name: Upload INI to tunes.fome.tech
if: ${{ env.full == 'true' && env.upload == 'true' }}
uses: hyper-tuner/ini-upload-action@v1
with:
api-url: "${{ secrets.HYPER_TUNER_INI_UPLOAD_URL }}"
username: "${{ secrets.HYPER_TUNER_INI_UPLOAD_USERNAME }}"
password: "${{ secrets.HYPER_TUNER_INI_UPLOAD_PASSWORD }}"
path: ./firmware/tunerstudio/generated/${{matrix.ini-file}}
ecosystem: fome
2023-03-02 13:41:52 -08:00
2023-02-20 20:23:38 -08:00
# - name: Upload .ini files
2023-05-02 16:09:54 -07:00
# if: ${{ env.full == 'true' && env.upload == 'true' }}
2023-02-20 20:23:38 -08:00
# working-directory: ./firmware/tunerstudio/generated
2023-05-02 16:09:54 -07:00
# run: ../upload_ini.sh ${{matrix.ini-file}} ${{ secrets.RUSEFI_ONLINE_FTP_USER }} ${{ secrets.RUSEFI_ONLINE_FTP_PASS }} ${{ secrets.RUSEFI_FTP_SERVER }}
2022-08-17 15:29:07 -07:00
2023-02-21 10:52:31 -08:00
# - name: Upload build elf
2023-05-02 16:09:54 -07:00
# if: ${{ env.full == 'true' && env.upload == 'true' }}
2023-02-21 10:52:31 -08:00
# uses: actions/upload-artifact@v3
# with:
# name: fome_${{matrix.build-target}}.elf
# path: ./firmware/build/rusefi.elf
Use github actions to build and upload bundles (#1583) * add env var to skip upload * remove checking from compile.bat * working on push.yaml * finish sorting * progress * rename push to builds * rename push to builds * Add skip upload env var * fix pull_request name * fixed typo and changed name * fixed indentation and runs-on * try different env var setup * add nucleos and switch to underscore * add quotes * remove boards that were commented * remove boards that were commented * fix project board name * fixed variable name * add ini-file and console-settings * try installing gcc-multilib first * Install g++-multilib as well * remove unnecessary export * fixed exit numbers * change to different env setup * add simulator and console compilation to board bundles * changed OS and added linux simulator build * add checkout and missing colon * add gcc-multilib installes * Install mingw * fixed install * remove mingw from linux sim and call compile directly * change directory * moved envs to command * debug ls * debug ls * set ftp vars * add makefile debug info * removed batchecks * redirect stdout to easier see orrs * change name * remove redirect, add file inpection * Add conditional project name * Try software upgrade * missing char * update ine files * try quotes * add escapes * add quotes * add escapes and quotes * remove quotes and escapes * remove software upgrade * ignore test 2 * update apt * like this then * forgot import * fix case * remove RUSEFI_SKIP_UPLOAD and check RUSEFI_FTP_SERVER instead * break workflow back apart * upload simulator artifact * fixed operator * update apt * change paths * Update build-firmware.yaml * move update bundle to artifacts * fix var name * Install ncftp * set env vars conditionally * remove check so zips are created * try things the github way and copy to primary * re-enable test * missing space
2020-07-08 08:10:24 -07:00
2023-02-21 10:52:31 -08:00
# - name: Upload build bin
2023-05-02 16:09:54 -07:00
# if: ${{ env.full == 'true' && env.upload == 'true' }}
2023-02-21 10:52:31 -08:00
# uses: actions/upload-artifact@v3
# with:
# name: fome_${{matrix.build-target}}.bin
# path: ./firmware/deliver/rusefi*.bin
# - name: Upload build hex
2023-05-02 16:09:54 -07:00
# if: ${{ env.full == 'true' && env.upload == 'true' }}
2023-02-21 10:52:31 -08:00
# uses: actions/upload-artifact@v3
# with:
# name: fome_${{matrix.build-target}}.hex
# path: ./firmware/deliver/rusefi*.hex
# - name: Upload build dfu
2023-05-02 16:09:54 -07:00
# if: ${{ env.full == 'true' && env.upload == 'true' }}
2023-02-21 10:52:31 -08:00
# uses: actions/upload-artifact@v3
# with:
# name: fome_${{matrix.build-target}}.dfu
# path: ./firmware/deliver/rusefi*.dfu
2023-02-22 20:43:58 -08:00
- name: Upload bundle
2023-05-02 16:10:19 -07:00
if: ${{ env.full == 'true' && env.upload == 'true' }}
uses: actions/upload-artifact@v3
with:
name: fome_bundle_${{matrix.build-target}}.zip
2023-03-02 02:16:16 -08:00
path: ./artifacts/fome_bundle_${{matrix.build-target}}.zip