Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
cc748ea9a3
|
@ -55,11 +55,13 @@ jobs:
|
|||
folder: nucleo_f746
|
||||
ini-file: no
|
||||
console-settings: firmware/config/boards/nucleo_f767/rusefi_console_properties.xml
|
||||
skip-config: yes
|
||||
|
||||
- build-target: stm32f767_nucleo
|
||||
folder: nucleo_f767
|
||||
ini-file: no
|
||||
console-settings: firmware/config/boards/nucleo_f767/rusefi_console_properties.xml
|
||||
skip-config: yes
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
|
@ -67,12 +69,20 @@ jobs:
|
|||
submodules: recursive
|
||||
|
||||
- name: Generate Configs
|
||||
if: ${{ matrix.skip-config != 'yes' }}
|
||||
working-directory: ./firmware/
|
||||
run: sh gen_config.sh
|
||||
run: |
|
||||
if [ "${{ matrix.build-target }}" = "kinetis" ]; then
|
||||
cd config/boards/kinetis/config
|
||||
bash gen_config.sh
|
||||
[ $? -eq 0 ] || { echo "ERROR generating board kinetis kin"; exit 1; }
|
||||
else
|
||||
bash gen_config_board.sh ${{matrix.folder}} ${{matrix.build-target}}
|
||||
fi
|
||||
|
||||
- name: Generate Live Documentation
|
||||
working-directory: ./firmware/
|
||||
run: sh gen_live_documentation.sh
|
||||
run: bash gen_live_documentation.sh
|
||||
|
||||
# Build machines don't have arm-none-eabi gcc, so let's download it and put it on the path
|
||||
- name: Download & Install GCC
|
||||
|
@ -100,23 +110,31 @@ jobs:
|
|||
|
||||
# Build rusEFI console
|
||||
- name: Build console
|
||||
run: sh misc/jenkins/build_java_console.sh
|
||||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||
run: bash misc/jenkins/build_java_console.sh
|
||||
|
||||
# Build the simulator
|
||||
- name: Build simulator
|
||||
run: OS="Windows_NT" sh misc/jenkins/build_simulator.sh
|
||||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||
run: OS="Windows_NT" bash misc/jenkins/build_simulator.sh
|
||||
|
||||
# Build the firmware!
|
||||
- name: Build Firmware
|
||||
run: sh misc/jenkins/compile_other_versions/compile_and_upload.sh ${{matrix.folder}} ${{matrix.build-target}} ${{matrix.ini-file}} ${{matrix.console-settings}}
|
||||
run: bash misc/jenkins/compile_other_versions/compile.sh ${{matrix.folder}} ${{matrix.build-target}} ${{matrix.ini-file}} ${{matrix.console-settings}}
|
||||
|
||||
- name: Package Bundle
|
||||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||
run: bash misc/jenkins/compile_other_versions/prepare_bundle.sh ${{matrix.build-target}}
|
||||
|
||||
- name: Upload bundle
|
||||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: rusefi_bundle_${{matrix.build-target}}.zip
|
||||
path: ./artifacts/rusefi_bundle_${{matrix.build-target}}.zip
|
||||
|
||||
- name: Upload autoupdate bundle
|
||||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: rusefi_bundle_${{matrix.build-target}}_autoupdate.zip
|
||||
|
@ -131,11 +149,11 @@ jobs:
|
|||
|
||||
- name: Generate Configs
|
||||
working-directory: ./firmware/
|
||||
run: sh gen_config.sh
|
||||
run: bash gen_config_default.sh
|
||||
|
||||
- name: Generate Live Documentation
|
||||
working-directory: ./firmware/
|
||||
run: sh gen_live_documentation.sh
|
||||
run: bash gen_live_documentation.sh
|
||||
|
||||
# Build machines don't have arm-none-eabi gcc, so let's download it and put it on the path
|
||||
- name: Download & Install GCC
|
||||
|
@ -162,9 +180,14 @@ jobs:
|
|||
fi
|
||||
|
||||
- name: Build Primary Bundle
|
||||
run: OS="Windows_NT" sh misc/jenkins/functional_test_and_build_bundle/build_current_bundle.sh
|
||||
run: OS="Windows_NT" bash misc/jenkins/functional_test_and_build_bundle/build_current_bundle.sh
|
||||
|
||||
- name: Package Bundle
|
||||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||
run: bash misc/jenkins/compile_other_versions/prepare_bundle.sh default
|
||||
|
||||
- name: Upload primary bundle
|
||||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: rusefi_bundle.zip
|
||||
|
|
|
@ -13,11 +13,11 @@ jobs:
|
|||
|
||||
- name: Generate Configs
|
||||
working-directory: ./firmware/
|
||||
run: sh gen_config.sh
|
||||
run: bash gen_config_default.sh
|
||||
|
||||
- name: Generate Live Documentation
|
||||
working-directory: ./firmware/
|
||||
run: sh gen_live_documentation.sh
|
||||
run: bash gen_live_documentation.sh
|
||||
|
||||
- name: Build Tests
|
||||
working-directory: ./unit_tests/
|
||||
|
|
|
@ -19,7 +19,7 @@ jobs:
|
|||
|
||||
- name: Generate Configs
|
||||
working-directory: ./firmware/
|
||||
run: sh gen_config.sh
|
||||
run: bash gen_config.sh
|
||||
|
||||
- name: Upload .ini files
|
||||
working-directory: ./firmware/tunerstudio/generated
|
||||
|
@ -28,7 +28,7 @@ jobs:
|
|||
|
||||
- name: Generate Live Documentation
|
||||
working-directory: ./firmware/
|
||||
run: sh gen_live_documentation.sh
|
||||
run: bash gen_live_documentation.sh
|
||||
|
||||
# Commit changes and catch the error that occurs if nothing has been changed (without catching other errors)
|
||||
- name: Commit changes
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
Here is a diagram of which configure scripts are used for which workflows.
|
||||
This is not a complete diagram of all workflows, nor does it show everything that these jobs do.
|
||||
|
||||
```
|
||||
Jenkins
|
||||
+
|
||||
v
|
||||
run.bat
|
||||
+------------+-----------------------+
|
||||
| | v
|
||||
| | compile_and_upload.bat
|
||||
| | +--------------+ +------------------------------+
|
||||
| | | v v v
|
||||
| | | gen_config compile.sh
|
||||
| | | +--------+-------------------+ +
|
||||
v v | v v v v
|
||||
Sim Console | ConfigKinetis ConfigDefault ConfigBoard Firmware Package
|
||||
^ ^ | ^ ^ ^ ^ ^ ^ ^ ^
|
||||
| | | | | | | | | | |
|
||||
| | | | | | | | | | |
|
||||
| | | | | | | +------+ | |
|
||||
| | | | | | | | | |
|
||||
+---+--------+-------------+-------------+--------------+--------------+-----------+
|
||||
| | | |
|
||||
+ + + +
|
||||
Firmware Push Gen Config Unit Tests Firmware PR
|
||||
```
|
|
@ -1,54 +1,14 @@
|
|||
#!/bin/bash
|
||||
|
||||
#set -x
|
||||
#TS_PATH="/home/<user>/TunerStudioProjects/"
|
||||
echo "This script reads rusefi_config.txt and produces firmware persistent configuration headers"
|
||||
echo "The storage section of rusefi.ini is updated as well"
|
||||
|
||||
echo "This batch files reads rusefi_config.txt and produses firmware persistent configuration headers"
|
||||
echo "the storage section of rusefi.ini is updated as well"
|
||||
|
||||
rm gen_config.log
|
||||
rm gen_config_board.log
|
||||
|
||||
mkdir build
|
||||
|
||||
bash gen_signature.sh all
|
||||
|
||||
java -DSystemOut.name=gen_config \
|
||||
-Drusefi.generator.lazyfile.enabled=true \
|
||||
-jar ../java_tools/ConfigDefinition.jar \
|
||||
-definition integration/rusefi_config.txt \
|
||||
-romraider integration \
|
||||
-ts_destination tunerstudio \
|
||||
-ts_output_name generated/rusefi.ini \
|
||||
-cache . \
|
||||
-cache_zip_file tunerstudio/generated/cache.zip \
|
||||
-with_c_defines false \
|
||||
-initialize_to_zero false \
|
||||
-tool gen_config.sh \
|
||||
-c_defines controllers/generated/rusefi_generated.h \
|
||||
-firing_order controllers/algo/firing_order.h \
|
||||
-c_destination controllers/generated/engine_configuration_generated_structures.h \
|
||||
-c_fsio_constants controllers/generated/fsio_enums_generated.def \
|
||||
-c_fsio_getters controllers/generated/fsio_getters.def \
|
||||
-c_fsio_names controllers/generated/fsio_names.def \
|
||||
-c_fsio_strings controllers/generated/fsio_strings.def \
|
||||
-java_destination ../java_console/models/src/main/java/com/rusefi/config/generated/Fields.java \
|
||||
-signature tunerstudio/generated/signature_all.txt \
|
||||
-signature_destination controllers/generated/signature_all.h \
|
||||
-romraider_destination ../java_console/rusefi.xml
|
||||
rm -f gen_config.log
|
||||
rm -f gen_config_board.log
|
||||
|
||||
bash gen_config_default.sh
|
||||
[ $? -eq 0 ] || { echo "ERROR generating default"; exit 1; }
|
||||
|
||||
if [ -z "${TS_PATH}" ]; then
|
||||
echo "TS_PATH not defined"
|
||||
# it's nice to have default location
|
||||
TS_PATH="${HOMEDRIVE}${HOMEPATH}\Documents\TunerStudioProjects"
|
||||
fi
|
||||
|
||||
echo "This would automatically copy latest file to 'dev' TS projects to ${TS_PATH}"
|
||||
cp -v tunerstudio/generated/rusefi.ini $TS_PATH/dev/projectCfg/mainController.ini
|
||||
cp -v tunerstudio/generated/rusefi_mre_f4.ini $TS_PATH/mre_f4/projectCfg/mainController.ini
|
||||
|
||||
for BOARD in "microrusefi mre_f7" "microrusefi mre_f4" "frankenso frankenso_na6" "prometheus prometheus_469" "prometheus prometheus_405" "proteus proteus_f7" "proteus proteus_f4"; do
|
||||
BOARD_NAME="${BOARD% *}"
|
||||
BOARD_SHORT_NAME="${BOARD#* }"
|
||||
|
|
|
@ -48,13 +48,4 @@ java -DSystemOut.name=gen_config_board \
|
|||
|
||||
[ $? -eq 0 ] || { echo "ERROR generating TunerStudio config for ${BOARDNAME}"; exit 1; }
|
||||
|
||||
if [ -z "${TS_PATH}" ]; then
|
||||
echo "TS_PATH not defined"
|
||||
else
|
||||
if [ -d "${TS_PATH}/dev_${BOARDNAME}/" ]; then
|
||||
echo "This would automatically copy latest file to 'dev_${BOARDNAME}' TS project $TS_PATH"
|
||||
cp -v tunerstudio/generated/rusefi_${BOARDNAME}.ini ${TS_PATH}/dev_${BOARDNAME}/projectCfg/mainController.ini
|
||||
fi
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
mkdir build
|
||||
|
||||
rm -f gen_config.log
|
||||
rm -f gen_config_board.log
|
||||
|
||||
bash gen_signature.sh all
|
||||
|
||||
java -DSystemOut.name=gen_config \
|
||||
-Drusefi.generator.lazyfile.enabled=true \
|
||||
-jar ../java_tools/ConfigDefinition.jar \
|
||||
-definition integration/rusefi_config.txt \
|
||||
-romraider integration \
|
||||
-ts_destination tunerstudio \
|
||||
-ts_output_name generated/rusefi.ini \
|
||||
-cache . \
|
||||
-cache_zip_file tunerstudio/generated/cache.zip \
|
||||
-with_c_defines false \
|
||||
-initialize_to_zero false \
|
||||
-tool gen_config.sh \
|
||||
-c_defines controllers/generated/rusefi_generated.h \
|
||||
-firing_order controllers/algo/firing_order.h \
|
||||
-c_destination controllers/generated/engine_configuration_generated_structures.h \
|
||||
-c_fsio_constants controllers/generated/fsio_enums_generated.def \
|
||||
-c_fsio_getters controllers/generated/fsio_getters.def \
|
||||
-c_fsio_names controllers/generated/fsio_names.def \
|
||||
-c_fsio_strings controllers/generated/fsio_strings.def \
|
||||
-java_destination ../java_console/models/src/main/java/com/rusefi/config/generated/Fields.java \
|
||||
-signature tunerstudio/generated/signature_all.txt \
|
||||
-signature_destination controllers/generated/signature_all.h \
|
||||
-romraider_destination ../java_console/rusefi.xml
|
||||
|
||||
[ $? -eq 0 ] || { echo "ERROR generating default"; exit 1; }
|
||||
|
||||
exit 0
|
|
@ -36,6 +36,4 @@ cd ../../../..
|
|||
# We are back at root rusEfi folder
|
||||
pwd
|
||||
|
||||
bash misc/jenkins/compile_other_versions/prepare_bundle.sh
|
||||
|
||||
echo "exiting $SCRIPT_NAME"
|
|
@ -1,2 +1,3 @@
|
|||
@echo off
|
||||
sh.exe misc\jenkins\compile_other_versions\compile_and_upload.sh %1 %2 %3 %4
|
||||
bash.exe misc\jenkins\compile_other_versions\compile.sh %1 %2 %3 %4
|
||||
bash.exe misc\jenkins\compile_other_versions\prepare_bundle.sh %1 %2 %3 %4
|
||||
|
|
|
@ -6,7 +6,7 @@ echo "RUSEFI_BUILD_FTP_USER=$RUSEFI_BUILD_FTP_USER"
|
|||
|
||||
TIMESTAMP=$(date "+%Y%m%d_%H%M%S")
|
||||
|
||||
export FOLDER="temp/snapshot_${TIMESTAMP}_${BUNDLE_NAME}_rusefi"
|
||||
export FOLDER="temp/snapshot_${TIMESTAMP}_${2}_rusefi"
|
||||
|
||||
export BUNDLE_FULL_NAME="rusefi_bundle_$BUNDLE_NAME"
|
||||
|
||||
|
|
Loading…
Reference in New Issue