diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index f81458583c..8905f1cb38 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -77,7 +77,7 @@ jobs: run: git config --global --add safe.directory /__w/IronOS/IronOS && git config --global safe.directory "$GITHUB_WORKSPACE" - name: Build ${{ matrix.model }} - run: make -j$(nproc) model="${{ matrix.model }}" firmware-multi_compressed_European firmware-multi_compressed_Bulgarian+Russian+Serbian+Ukrainian firmware-multi_Chinese+Japanese + run: make -C source/ -j$(nproc) model="${{ matrix.model }}" firmware-multi_compressed_European firmware-multi_compressed_Bulgarian+Russian+Serbian+Ukrainian firmware-multi_Chinese+Japanese - name: Copy license files run: cp LICENSE scripts/LICENSE_RELEASE.md source/Hexfile/ diff --git a/.gitignore b/.gitignore index 811223af1a..c8e8df7fdd 100644 --- a/.gitignore +++ b/.gitignore @@ -186,6 +186,7 @@ fabric.properties # Binaries source/Hexfile/ source/Objects/ +BUILDS/ # Autogenerated source/Core/Gen/ @@ -214,4 +215,3 @@ Logo GUI/TS100 Logo Editor/TS100 Logo Editor/bin/ # Tests/linters/sanitizers source/check-style.log - diff --git a/Env.yml b/Env.yml index c7625b34c4..695cd122e2 100644 --- a/Env.yml +++ b/Env.yml @@ -9,5 +9,4 @@ services: dockerfile: scripts/IronOS.Dockerfile command: /bin/sh volumes: - - ./scripts/ci:/build/ci:Z - ./:/build/ironos:Z diff --git a/Makefile b/Makefile index 3f9f7498fa..3c66495006 100644 --- a/Makefile +++ b/Makefile @@ -27,6 +27,14 @@ ifndef MKDOCS MKDOCS:=mkdocs endif +# build output related directories +ifdef OUT +OUT_DIR=$(OUT) +else +OUT_DIR=$(CURDIR)/BUILDS +endif +OUT_HEX=$(CURDIR)/source/Hexfile + ### global static variables @@ -105,7 +113,7 @@ docker-shell: docker-check $(DOCKER_DEPS) # former build.sh docker-build: docker-check $(DOCKER_DEPS) - $(DOCKER_CMD) /bin/bash /build/ci/buildAll.sh + $(DOCKER_CMD) make build-all # delete container docker-clean: docker-check @@ -157,6 +165,17 @@ tests: test-md test-sh test-py test-ccpp @echo "All tests & checks have been completed successfully." @echo "" +# former scripts/ci/buildAll.sh - all in one to build all firmware & place the produced binaries into one output directory +build-all: + @mkdir -p $(OUT_DIR) + @chmod 0777 $(OUT_DIR) + cd source && bash ./build.sh + @echo "All Firmware built" + @cp -r $(OUT_HEX)/*.bin $(OUT_DIR) + @cp -r $(OUT_HEX)/*.hex $(OUT_DIR) + @cp -r $(OUT_HEX)/*.dfu $(OUT_DIR) + @echo "Resulting output directory: $(OUT_DIR)" + # pass-through target for Makefile inside source/ dir %: $(MAKE) -C source/ $@ @@ -166,6 +185,7 @@ clean-build: $(MAKE) -C source/ clean-all rm -Rf site rm -Rf scripts/ci/artefacts + rm -Rf $(OUT_DIR) # global clean-up target clean-full: clean-build docker-clean diff --git a/Translations/translation_UK.json b/Translations/translation_UK.json index afdcfdccb0..d2f20c2eb6 100644 --- a/Translations/translation_UK.json +++ b/Translations/translation_UK.json @@ -64,16 +64,16 @@ "message": "Cooldown\n" }, "ProfilePreheatString": { - "message": "Preheat\n" + "message": "Попередній\nрозігрів" }, "ProfileCooldownString": { - "message": "Cooldown\n" + "message": "Охолодження\n" }, "DeviceFailedValidationWarning": { "message": "Вірогідно ваш пристрій підробний!" }, "TooHotToStartProfileWarning": { - "message": "Too hot to\nstart profile" + "message": "Занадто гараче для\nзміни профілів" } }, "characters": { @@ -209,60 +209,60 @@ "description": "Cooldown at this rate at the end of profile mode (degrees per second)" }, "ProfilePhases": { - "displayText": "Profile\nPhases", - "description": "Number of phases in profile mode" + "displayText": "Етапи\nпрофілів", + "description": "Кількість етапів в режимі профілів" }, "ProfilePreheatTemp": { - "displayText": "Preheat\nTemp", - "description": "Preheat to this temperature at the start of profile mode" + "displayText": "Температура\nПоп.Розігріву", + "description": "Попередньо розігріти до цієї температури на початку режимку профілів" }, "ProfilePreheatSpeed": { - "displayText": "Preheat\nSpeed", - "description": "Preheat at this rate (degrees per second)" + "displayText": "Швидкість\nПоп.Розігріву", + "description": "Розігрівати з такою швидкістю (градусів в секунду)" }, "ProfilePhase1Temp": { - "displayText": "Phase 1\nTemp", - "description": "Target temperature for the end of this phase" + "displayText": "Етап 1\nТемпература", + "description": "Температура в кінці цього етапу" }, "ProfilePhase1Duration": { - "displayText": "Phase 1\nDuration", - "description": "Target duration of this phase (seconds)" + "displayText": "Етап 1\nТривалість", + "description": "Тривалість цього етапу (секунд)" }, "ProfilePhase2Temp": { - "displayText": "Phase 2\nTemp", + "displayText": "Етап 2\nТемпература", "description": "" }, "ProfilePhase2Duration": { - "displayText": "Phase 2\nDuration", + "displayText": "Етап 2\nТривалість", "description": "" }, "ProfilePhase3Temp": { - "displayText": "Phase 3\nTemp", + "displayText": "Етап 3\nТемпература", "description": "" }, "ProfilePhase3Duration": { - "displayText": "Phase 3\nDuration", + "displayText": "Етап 3\nТривалість", "description": "" }, "ProfilePhase4Temp": { - "displayText": "Phase 4\nTemp", + "displayText": "Етап 4\nТемпература", "description": "" }, "ProfilePhase4Duration": { - "displayText": "Phase 4\nDuration", + "displayText": "Етап 4\nТривалість", "description": "" }, "ProfilePhase5Temp": { - "displayText": "Phase 5\nTemp", + "displayText": "Етап 5\nТемпература", "description": "" }, "ProfilePhase5Duration": { - "displayText": "Phase 5\nDuration", + "displayText": "Етап 5\nТривалість", "description": "" }, "ProfileCooldownSpeed": { - "displayText": "Cooldown\nSpeed", - "description": "Cooldown at this rate at the end of profile mode (degrees per second)" + "displayText": "Швидкість\nОхолодження", + "description": "Швидкість охолодження в кінці режиму профілів (градусів в секунду)" }, "MotionSensitivity": { "displayText": "Чутливість\nсенсору руху", @@ -334,7 +334,7 @@ }, "BluetoothLE": { "displayText": "Bluetooth\n", - "description": "Enables BLE" + "description": "Увімкнути BLE" }, "PowerLimit": { "displayText": "Макс.\nпотуж.", diff --git a/scripts/IronOS.Dockerfile b/scripts/IronOS.Dockerfile index 93cb546436..1543e1b028 100644 --- a/scripts/IronOS.Dockerfile +++ b/scripts/IronOS.Dockerfile @@ -33,4 +33,3 @@ RUN python3 -m pip install ${PIP_PKGS} RUN git config --global --add safe.directory /build/ironos COPY . /build/ironos -COPY ./scripts/ci /build/ci diff --git a/scripts/ci/buildAll.sh b/scripts/ci/buildAll.sh deleted file mode 100755 index f5fcf067b3..0000000000 --- a/scripts/ci/buildAll.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -set -e -set -u - -# Init vars -dir_ci="/build/ci" -dir_ironos="/build/ironos" -dir_source="${dir_ironos}/source" - -# Prepare output dir -dir_artefacts="${dir_ci}/artefacts" -mkdir -p "${dir_artefacts}" - -# Build firmware -cd "${dir_source}" -bash ./build.sh || exit 1 -echo "All Firmware built" - -# Copy out all the final resulting files we would like to store for the next op -cp -r "${dir_source}"/Hexfile/*.bin "${dir_artefacts}" -cp -r "${dir_source}"/Hexfile/*.hex "${dir_artefacts}" diff --git a/scripts/ci/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2.md5 b/scripts/ci/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2.md5 deleted file mode 100644 index ebc9ecaf91..0000000000 --- a/scripts/ci/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2.md5 +++ /dev/null @@ -1 +0,0 @@ -8312c4c91799885f222f663fc81f9a31 gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 diff --git a/scripts/ci/nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2.md5 b/scripts/ci/nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2.md5 deleted file mode 100644 index 2f4f5e331d..0000000000 --- a/scripts/ci/nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2.md5 +++ /dev/null @@ -1 +0,0 @@ -add5b6a9b12987d0e72f55a4d2cd0f3b nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2 diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 97fd0c74f5..2805778857 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -191,7 +191,7 @@ fi; if [ -z "${cmd}" ] || [ "${cmd}" = "shell" ]; then docker_cmd="run --rm builder" elif [ "${cmd}" = "build" ]; then - docker_cmd="run --rm builder /bin/bash /build/ci/buildAll.sh" + docker_cmd="run --rm builder make build-all OUT=${OUT}" elif [ "${cmd}" = "clean" ]; then docker rmi ironos-builder:latest exit "${?}" @@ -211,4 +211,3 @@ echo -e "\t* type \"${0} clean\" to delete created container (but not cached dat echo -e "\n====>>>> ${docker_bin} ${docker_file} ${docker_cmd}\n" eval "${docker_bin} ${docker_file} ${docker_cmd}" exit "${?}" -