From af814bd09a156481e0541d45f59b0674d114b621 Mon Sep 17 00:00:00 2001 From: Peter Feerick Date: Fri, 5 Dec 2025 11:47:42 +1000 Subject: [PATCH] chore(ci): branch filters and cleanup (#6856) --- .github/workflows/build_fw.yml | 9 +- .github/workflows/linux_cpn.yml | 8 + .github/workflows/macosx_cpn.yml | 8 + .github/workflows/validate_fw_json.yml | 8 + .github/workflows/win_cpn-32.yml | 100 --------- .github/workflows/win_cpn-64.yml | 8 + tools/msys2_fetch_and_build_all.sh | 287 ------------------------- tools/setup_buildenv_msys2_stage1.sh | 29 --- tools/setup_buildenv_msys2_stage2.sh | 93 -------- tools/setup_buildenv_ubuntu20.04.sh | 134 ------------ 10 files changed, 40 insertions(+), 644 deletions(-) delete mode 100644 .github/workflows/win_cpn-32.yml delete mode 100644 tools/msys2_fetch_and_build_all.sh delete mode 100644 tools/setup_buildenv_msys2_stage1.sh delete mode 100644 tools/setup_buildenv_msys2_stage2.sh delete mode 100755 tools/setup_buildenv_ubuntu20.04.sh diff --git a/.github/workflows/build_fw.yml b/.github/workflows/build_fw.yml index 4cd62574a..29d2c2b55 100644 --- a/.github/workflows/build_fw.yml +++ b/.github/workflows/build_fw.yml @@ -2,6 +2,11 @@ name: Run tests and package firmware on: push: + branches: + - 'main' + - '[0-9]+.[0-9]+' + tags: + - v* paths: &trigger-paths - '.github/workflows/build_fw.yml' - 'cmake/**' @@ -10,8 +15,10 @@ on: - '.gitmodules' - 'CMakeLists.txt' pull_request: + branches: + - 'main' + - '[0-9]+.[0-9]+' paths: *trigger-paths - workflow_dispatch: jobs: test: diff --git a/.github/workflows/linux_cpn.yml b/.github/workflows/linux_cpn.yml index b0827eda7..399cf9d89 100644 --- a/.github/workflows/linux_cpn.yml +++ b/.github/workflows/linux_cpn.yml @@ -2,12 +2,20 @@ name: Linux Companion on: push: + branches: + - 'main' + - '[0-9]+.[0-9]+' + tags: + - v* paths: &trigger-paths - '.github/workflows/linux_cpn.yml' - 'companion/**' - 'tools/build-companion.sh' pull_request: + branches: + - 'main' + - '[0-9]+.[0-9]+' paths: *trigger-paths workflow_dispatch: diff --git a/.github/workflows/macosx_cpn.yml b/.github/workflows/macosx_cpn.yml index 496c43a78..1c4c95f72 100644 --- a/.github/workflows/macosx_cpn.yml +++ b/.github/workflows/macosx_cpn.yml @@ -2,12 +2,20 @@ name: MacOSX Companion on: push: + branches: + - 'main' + - '[0-9]+.[0-9]+' + tags: + - v* paths: &trigger-paths - '.github/workflows/macosx_cpn.yml' - 'companion/**' - 'tools/build-companion.sh' pull_request: + branches: + - 'main' + - '[0-9]+.[0-9]+' paths: *trigger-paths workflow_dispatch: diff --git a/.github/workflows/validate_fw_json.yml b/.github/workflows/validate_fw_json.yml index 9ee1bcbaf..b78bf6008 100644 --- a/.github/workflows/validate_fw_json.yml +++ b/.github/workflows/validate_fw_json.yml @@ -2,9 +2,17 @@ name: Validate fw.json on: push: + branches: + - 'main' + - '[0-9]+.[0-9]+' + tags: + - v* paths: - 'fw.json' pull_request: + branches: + - 'main' + - '[0-9]+.[0-9]+' paths: - 'fw.json' workflow_dispatch: diff --git a/.github/workflows/win_cpn-32.yml b/.github/workflows/win_cpn-32.yml deleted file mode 100644 index 1fb67e401..000000000 --- a/.github/workflows/win_cpn-32.yml +++ /dev/null @@ -1,100 +0,0 @@ -name: Windows Companion 32-bit - -on: - push: - branches: - - 'main' - tags: - - v* - paths: - - '.github/workflows/win_cpn-32.yml' - - 'companion/**' - - 'tools/build-companion.sh' - - workflow_dispatch: - -env: - # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) - BUILD_TYPE: Release - CMAKE_GENERATOR: "MSYS Makefiles" - QT_VERSION: "5.15.2" - MINGW_VERSION: "win32_mingw81" - MINGW_PATH: "mingw81_32" - -jobs: - build: - # The CMake configure and build commands are platform agnostic and should work equally - # well on Windows or Mac. You can convert this to a matrix build if you need - # cross-platform coverage. - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - runs-on: windows-latest - defaults: - run: - shell: msys2 {0} - - steps: - - uses: msys2/setup-msys2@v2 - with: - msystem: MINGW32 - update: true - install: git make curl tar mingw-w64-i686-toolchain - - - name: Install Dependencies - run: | - pacman -S --noconfirm mingw-w64-i686-cmake \ - mingw-w64-i686-python-pip \ - mingw-w64-i686-python-pillow \ - mingw-w64-i686-libjpeg-turbo \ - mingw-w64-i686-zlib \ - mingw-w64-i686-libtiff \ - mingw-w64-i686-freetype \ - mingw-w64-i686-lcms2 \ - mingw-w64-i686-libwebp \ - mingw-w64-i686-openjpeg2 \ - mingw-w64-i686-libimagequant \ - mingw-w64-i686-libraqm \ - mingw-w64-i686-SDL2 \ - mingw-w64-i686-clang \ - mingw-w64-i686-nsis \ - mingw-w64-i686-openssl - SETUPTOOLS_USE_DISTUTILS=stdlib pip install lz4 - python -m pip install clang jinja2 lz4 - - - name: Download and unpack dfu-util - run: | - curl -LO https://dfu-util.sourceforge.net/releases/dfu-util-0.11-binaries.tar.xz && \ - tar -xf dfu-util-0.11-binaries.tar.xz - cp dfu-util-0.11-binaries/win32/dfu-util-static.exe /mingw32/bin/dfu-util.exe - cp dfu-util-0.11-binaries/win32/libusb-1.0.dll /mingw32/bin/libusb-1.0.dll - cp dfu-util-0.11-binaries/win32/libusb-1.0.dll.a /mingw32/bin/libusb-1.0.dll.a - - - name: Install Qt - uses: jurplel/install-qt-action@v3 - with: - cache: true - cache-key-prefix: 'install-qt-action-win32' - version: ${{ env.QT_VERSION }} - arch: ${{ env.MINGW_VERSION }} - - - name: Check out the repo - uses: actions/checkout@v4 - with: - submodules: recursive - - - name: Build - working-directory: ${{github.workspace}} - # Execute the build. You can specify a specific target with "--target " - run: | - mkdir output && \ - CMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt/$QT_VERSION/$MINGW_PATH \ - tools/build-companion.sh "$(pwd)" "$(pwd)/output/" - - name: Compose release filename - # https://stackoverflow.com/questions/58033366/how-to-get-current-branch-within-github-actions - run: echo "artifact_name=edgetx-cpn-win32-${GITHUB_REF##*/}" >> $GITHUB_ENV - - - name: Archive production artifacts - uses: actions/upload-artifact@v4 - with: - name: "${{ env.artifact_name }}" - path: ${{github.workspace}}/output - retention-days: 15 diff --git a/.github/workflows/win_cpn-64.yml b/.github/workflows/win_cpn-64.yml index 1a6e13912..e09a42de4 100644 --- a/.github/workflows/win_cpn-64.yml +++ b/.github/workflows/win_cpn-64.yml @@ -2,12 +2,20 @@ name: Windows Companion 64-bit on: push: + branches: + - 'main' + - '[0-9]+.[0-9]+' + tags: + - v* paths: &trigger-paths - '.github/workflows/win_cpn-64.yml' - 'companion/**' - 'tools/build-companion.sh' pull_request: + branches: + - 'main' + - '[0-9]+.[0-9]+' paths: *trigger-paths workflow_dispatch: diff --git a/tools/msys2_fetch_and_build_all.sh b/tools/msys2_fetch_and_build_all.sh deleted file mode 100644 index 576d5d551..000000000 --- a/tools/msys2_fetch_and_build_all.sh +++ /dev/null @@ -1,287 +0,0 @@ -#! /usr/bin/env bash - -## Bash script to show how to get EdgeTX source from GitHub, -## how to build TX16S firmware, Companion, Simulator, radio simulator -## library and how to create an installation package. -## Let it run as normal user in MSYS2 MinGW 64-bit console (blue icon). -## -## Note: This script is tested to work properly only for the branch it stems from. - -# ----------------------------------------------------------------------------- -export BRANCH_NAME="main" # main|2.9|... -export RADIO_TYPE="tx16s" # tx16s|x10|x10express|x12s|x9d|x9dp|x9lite|x9lites|x7|x7access|t12|t12max|tx12|tx12mk2|mt12|gx12|boxer|t8|zorro|pocket|tlite|tpro|t20|t20v2|t14|lr3pro|xlite|xlites|x9dp2019|x9e|x9e-hall|t15|t15pro|t16|t18|nv14|commando8|tx15 - -export BUILD_OPTIONS="-DDEFAULT_MODE=2 -DGVARS=YES" - -echo "Building ${fw_name}" -case $RADIO_TYPE in - x9lite) - BUILD_OPTIONS+=" -DPCB=X9LITE" - ;; - x9lites) - BUILD_OPTIONS+=" -DPCB=X9LITES" - ;; - x7) - BUILD_OPTIONS+=" -DPCB=X7" - ;; - x7access) - BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=ACCESS -DPXX1=YES" - ;; - t12) - BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=T12 -DINTERNAL_MODULE_MULTI=ON" - ;; - mt12) - BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=MT12 -DINTERNAL_MODULE_MULTI=ON" - ;; - gx12) - BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=GX12 -DINTERNAL_MODULE_MULTI=ON" - ;; - tx12) - BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=TX12" - ;; - tx12mk2) - BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=TX12MK2" - ;; - boxer) - BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=BOXER" - ;; - t8) - BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=T8" - ;; - zorro) - BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=ZORRO" - ;; - pocket) - BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=POCKET" - ;; - tlite) - BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=TLITE" - ;; - tpro) - BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=TPRO" - ;; - t20) - BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=T20" - ;; - t20v2) - BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=T20V2" - ;; - t12max) - BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=T12MAX" - ;; - t14) - BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=T14" - ;; - lr3pro) - BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=LR3PRO" - ;; - xlite) - BUILD_OPTIONS+=" -DPCB=XLITE" - ;; - xlites) - BUILD_OPTIONS+=" -DPCB=XLITES" - ;; - x9d) - BUILD_OPTIONS+=" -DPCB=X9D" - ;; - x9dp) - BUILD_OPTIONS+=" -DPCB=X9D+" - ;; - x9dp2019) - BUILD_OPTIONS+=" -DPCB=X9D+ -DPCBREV=2019" - ;; - x9e) - BUILD_OPTIONS+=" -DPCB=X9E" - ;; - x9e-hall) - BUILD_OPTIONS+=" -DPCB=X9E -DSTICKS=HORUS" - ;; - x10) - BUILD_OPTIONS+=" -DPCB=X10" - ;; - x10express) - BUILD_OPTIONS+=" -DPCB=X10 -DPCBREV=EXPRESS -DPXX1=YES" - ;; - x12s) - BUILD_OPTIONS+=" -DPCB=X12S" - ;; - t15) - BUILD_OPTIONS+=" -DPCB=X10 -DPCBREV=T15 -DINTERNAL_MODULE_CRSF=ON" - ;; - t15pro) - BUILD_OPTIONS+=" -DPCB=T15PRO -DINTERNAL_MODULE_CRSF=ON" - ;; - t16) - BUILD_OPTIONS+=" -DPCB=X10 -DPCBREV=T16 -DINTERNAL_MODULE_MULTI=ON" - ;; - t18) - BUILD_OPTIONS+=" -DPCB=X10 -DPCBREV=T18" - ;; - tx15) - BUILD_OPTIONS+=" -DPCB=TX15" - ;; - tx16s) - BUILD_OPTIONS+=" -DPCB=X10 -DPCBREV=TX16S" - ;; - nv14) - BUILD_OPTIONS+=" -DPCB=NV14" - ;; - commando8) - BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=COMMANDO8" - ;; - *) - echo "Unknown target: $RADIO_TYPE" - exit 1 - ;; -esac - -PAUSEAFTEREACHLINE="false" # true|false -# ----------------------------------------------------------------------------- - -export PROJ_DIR="${HOME}/edgetx" -export SOURCE_DIR="${HOME}/edgetx/edgetx_${BRANCH_NAME}" -export BUILD_OUTPUT_DIR="${SOURCE_DIR}/build-output-${RADIO_TYPE}" - -function log() { - echo "" - echo "=== [INFO] $*" -} -function fail() { - echo "=== [ERROR] $*" - exit 1 -} -function check_command() { - result=$1 - cli_info=$2 - if [[ $result -ne 0 ]]; then - fail "${cli_info} (exit-code=$result)" - else - log "${cli_info} - OK" - return 0 - fi -} - -echo "RADIO_TYPE: ${RADIO_TYPE}" -echo "BRANCH_NAME: ${BRANCH_NAME}" -echo "SOURCE_DIR: ${SOURCE_DIR}" -echo "BUILD_OUTPUT_DIR: ${BUILD_OUTPUT_DIR}" -echo "BUILD_OPTIONS: ${BUILD_OPTIONS}" - -# Parse argument(s) -for arg in "$@" -do - if [[ $arg == "--pause" ]]; then - PAUSEAFTEREACHLINE="true" - fi -done - -STEP=1 -echo "=== Step $((STEP++)): Creating a directory for EdgeTX ===" -mkdir -p ${PROJ_DIR} && cd ${PROJ_DIR} -check_command $? "mkdir -p ${PROJ_DIR} && cd ${PROJ_DIR}" -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -if [[ ! -d "${SOURCE_DIR}" ]]; then - echo "=== Step $((STEP++)): Fetching EdgeTX source tree (${BRANCH_NAME} branch) from GitHub ===" - git clone --recursive -b ${BRANCH_NAME} https://github.com/EdgeTX/edgetx.git ${SOURCE_DIR} - check_command $? "git clone --recursive -b ${BRANCH_NAME} https://github.com/EdgeTX/edgetx.git ${SOURCE_DIR}" - cd ${SOURCE_DIR} -else - echo "=== Step $((STEP++)): updating EdgeTX source tree (${BRANCH_NAME} branch) from GitHub ===" - cd ${SOURCE_DIR} - check_command $? "cd ${SOURCE_DIR}" - git checkout ${BRANCH_NAME} - check_command $? "git checkout ${BRANCH_NAME}" - git pull - check_command $? "git pull" - git submodule update --init --recursive - check_command $? "git submodule update --init --recursive" -fi -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Creating build output directory ===" -[[ -d ${BUILD_OUTPUT_DIR} ]] && rm -rf ${BUILD_OUTPUT_DIR} -mkdir -p ${BUILD_OUTPUT_DIR} && cd ${BUILD_OUTPUT_DIR} -check_command $? "mkdir -p ${BUILD_OUTPUT_DIR} && cd ${BUILD_OUTPUT_DIR}" -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Running CMake for ${RADIO_TYPE} as an example ===" -cmake -G "MSYS Makefiles" -Wno-dev -DCMAKE_PREFIX_PATH=$HOME/6.9.0/mingw_64 ${BUILD_OPTIONS} -DCMAKE_BUILD_TYPE=Release ../ -check_command $? "cmake -G MSYS Makefiles -Wno-dev -DCMAKE_PREFIX_PATH=$HOME/6.9.0/mingw_64 -DSDL2_LIBRARY_PATH=/mingw64/bin/ ${BUILD_OPTIONS} -DCMAKE_BUILD_TYPE=Release ../" -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Running Make configure ===" -make configure -check_command $? "make configure" -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Building firmware binary ===" -make -C arm-none-eabi -j`nproc` firmware -check_command $? "make -C arm-none-eabi -j`nproc` firmware" -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Renaming firmware binary ===" -mv arm-none-eabi/firmware.bin arm-none-eabi/fw_${RADIO_TYPE}_release.bin -check_command $? "mv arm-none-eabi/firmware.bin arm-none-eabi/fw_${RADIO_TYPE}_release.bin" -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Building radio simulator library ===" -make -C native -j`nproc` libsimulator -check_command $? "make -C native -j`nproc` libsimulator" -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Building Companion ===" -make -C native -j`nproc` companion -check_command $? "make -C native -j`nproc` companion" -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Building Simulator ===" -make -C native -j`nproc` simulator -check_command $? "make -C native -j`nproc` simulator" -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Making an installer ===" -make -C native installer -check_command $? "make -C native installer" -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." -fi - -echo "Done. \n\n" -echo "RADIO_TYPE=${RADIO_TYPE}" -echo "" -echo "firmware (${RADIO_TYPE}): ${BUILD_OUTPUT_DIR}/arm-none-eabi/fw_${RADIO_TYPE}_release.bin" -echo "Companion installer: ${BUILD_OUTPUT_DIR}/native/companion/companion-windows-x.x.x.exe" -echo "Companion : ${BUILD_OUTPUT_DIR}/native/Release/companion.exe" -echo "Simulator : ${BUILD_OUTPUT_DIR}/native/Release/simulator.exe" -echo "Simulator library : ${BUILD_OUTPUT_DIR}/native/Release/libedgetx-${RADIO_TYPE}-simulator.dll" diff --git a/tools/setup_buildenv_msys2_stage1.sh b/tools/setup_buildenv_msys2_stage1.sh deleted file mode 100644 index b1e96777b..000000000 --- a/tools/setup_buildenv_msys2_stage1.sh +++ /dev/null @@ -1,29 +0,0 @@ -#! /usr/bin/env bash - -## Bash script to setup EdgeTX development environment first stage. -## Let it run as normal user in MSYS2 MSYS console (violet icon). - -PAUSEAFTEREACHLINE="false" -STEP=1 -# Parse argument(s) -for arg in "$@" -do - if [[ $arg == "--pause" ]]; then - PAUSEAFTEREACHLINE="true" - fi -done - -echo "=== Step $((STEP++)): Updating MSYS2 base packages ===" -pacman -Su --noconfirm -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Installing system wide packages ===" -pacman -S --noconfirm git make mingw-w64-x86_64-toolchain -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." -fi - -echo "This stage has finished. Please close the MSYS console and continue to stage 2 in MinGW 64-bit console (blue icon)." diff --git a/tools/setup_buildenv_msys2_stage2.sh b/tools/setup_buildenv_msys2_stage2.sh deleted file mode 100644 index 4850a4f53..000000000 --- a/tools/setup_buildenv_msys2_stage2.sh +++ /dev/null @@ -1,93 +0,0 @@ -#! /usr/bin/env bash - -## Bash script to setup EdgeTX development environment second stage. -## Let it run as normal user in MSYS2 MinGW 64-bit console (blue icon). - -PAUSEAFTEREACHLINE="false" -STEP=1 -# Parse argument(s) -for arg in "$@" -do - if [[ $arg == "--pause" ]]; then - PAUSEAFTEREACHLINE="true" - fi -done - -echo "=== Step $((STEP++)): Installing packages ===" -pacman -S --noconfirm mingw-w64-x86_64-cmake \ - mingw-w64-x86_64-python-pip \ - mingw-w64-x86_64-python-pillow \ - mingw-w64-x86_64-python-lz4 \ - mingw-w64-x86_64-libjpeg-turbo \ - mingw-w64-x86_64-zlib \ - mingw-w64-x86_64-libtiff \ - mingw-w64-x86_64-freetype \ - mingw-w64-x86_64-lcms2 \ - mingw-w64-x86_64-libwebp \ - mingw-w64-x86_64-openjpeg2 \ - mingw-w64-x86_64-libimagequant \ - mingw-w64-x86_64-libraqm \ - mingw-w64-x86_64-SDL2 \ - mingw-w64-x86_64-clang \ - mingw-w64-x86_64-nsis \ - mingw-w64-x86_64-dfu-util \ - mingw-w64-x86_64-openssl - -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Downloading GNU Arm Embedded Toolchain ===" -wget https://developer.arm.com/-/media/Files/downloads/gnu/14.2.rel1/binrel/arm-gnu-toolchain-14.2.rel1-mingw-w64-i686-arm-none-eabi.zip -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Installing GNU Arm Embedded Toolchain ===" -unzip arm-gnu-toolchain-14.2.rel1-mingw-w64-i686-arm-none-eabi.zip -d gcc-arm-none-eabi -rm arm-gnu-toolchain-14.2.rel1-mingw-w64-i686-arm-none-eabi.zip -mv gcc-arm-none-eabi/ /opt/gcc-arm-none-eabi -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Adding GNU Arm Embedded Toolchain to PATH of current user ===" -echo 'export PATH="/opt/gcc-arm-none-eabi/bin:$PATH"' >> ~/.bashrc -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Installing Python packages ===" -# Python 3.11 introduced the managed environment breakage aka PEP 668. -# since we are building a self-contained environment the simple fix is to add --break-system-packages to all pip installs -python3 -m pip install --break-system-package -U setuptools && \ -python3 -m pip install --break-system-package \ - asciitree \ - jinja2 \ - pillow \ - clang==14.0.0 \ - lz4 \ - pyelftools -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Downloading aqt ===" -wget "https://github.com/miurahr/aqtinstall/releases/download/Continuous/aqt.exe" -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Installing Qt build environment ===" -./aqt.exe install-qt windows desktop 6.9.0 win64_mingw -m qtmultimedia qtserialport -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." -fi - -echo "Setting up build environment has finished. You can now start building EdgeTX firmware and binaries!" diff --git a/tools/setup_buildenv_ubuntu20.04.sh b/tools/setup_buildenv_ubuntu20.04.sh deleted file mode 100755 index 35a2382af..000000000 --- a/tools/setup_buildenv_ubuntu20.04.sh +++ /dev/null @@ -1,134 +0,0 @@ -#! /usr/bin/env bash - -set -e - -## Bash script to setup EdgeTX development environment on Ubuntu 20.04 running on bare-metal or in a virtual machine. -## Let it run as normal user and when asked, give sudo credentials - -PAUSEAFTEREACHLINE="false" -STEP=1 -# Parse argument(s) -for arg in "$@" -do - if [[ $arg == "--pause" ]]; then - PAUSEAFTEREACHLINE="true" - fi -done - -if [[ $(lsb_release -rs) != "20.04" ]]; then - echo "ERROR: Not running on Ubuntu 20.04!" - echo "Terminating the script now." - exit 1 -fi - -echo "=== Step $((STEP++)): Checking if i386 requirement is satisfied ===" -OUTPUT=x$(dpkg --print-foreign-architectures 2> /dev/null | grep i386) || : -if [ "$OUTPUT" != "xi386" ]; then - echo "Need to install i386 architecture first." - sudo dpkg --add-architecture i386 -else - echo "i386 requirement satisfied!" -fi -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Updating Ubuntu package lists. Please provide sudo credentials, when asked ===" -sudo apt-get -y update -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Installing packages ===" -sudo apt-get -y install build-essential cmake gcc git lib32ncurses-dev lib32z1 libsdl2-dev qt5-default qtmultimedia5-dev qttools5-dev qttools5-dev-tools qtcreator libqt5svg5-dev libqt5serialport5-dev software-properties-common wget zip python-pip-whl python-pil libgtest-dev python3-pip python3-tk python3-setuptools clang-7 python-clang-7 libusb-1.0-0-dev stlink-tools openocd npm pv libncurses5:i386 libpython2.7:i386 libclang-6.0-dev python-is-python3 -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Installing Python packages ===" -sudo python3 -m pip install filelock asciitree jinja2 pillow==7.2.0 clang==6.0.0 future lxml lz4 -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Fetching GNU Arm Embedded Toolchains ===" -# EdgeTX uses GNU Arm Embedded Toolchain version 14.2.rel1 -wget -q --show-progress --progress=bar:force:noscroll https://developer.arm.com/-/media/Files/downloads/gnu/14.2.rel1/binrel/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi.tar.xz -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Unpacking GNU Arm Embedded Toolchains ===" -pv arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi.tar.xz | tar xJf - -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Removing the downloaded archives ===" -rm arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi.tar.xz -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Moving GNU Arm Embedded Toolchains to /opt ===" -sudo mv arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi /opt/gcc-arm-none-eabi -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Adding GNU Arm Embedded Toolchain to PATH of current user ===" -echo 'export PATH="/opt/gcc-arm-none-eabi/bin:$PATH"' >> ~/.bashrc -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Removing modemmanager (conflicts with DFU) ===" -sudo apt-get -y remove modemmanager -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Fetching USB DFU host utility ===" -wget -q --show-progress --progress=bar:force:noscroll http://dfu-util.sourceforge.net/releases/dfu-util-0.11.tar.gz -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Unpacking USB DFU host utility ===" -pv dfu-util-0.11.tar.gz | tar xzf - -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Building and Installing USB DFU host utility ===" -cd dfu-util-0.11/ -./configure -make -sudo make install -cd .. -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." - read -fi - -echo "=== Step $((STEP++)): Removing the downloaded archive and build folder of USB DFU host utility ===" -rm dfu-util-0.11.tar.gz -rm -rf dfu-util-0.11 -if [[ $PAUSEAFTEREACHLINE == "true" ]]; then - echo "Step finished." -fi - -echo "Finished setting up EdgeTX development environment." -echo "Please execute: source ~/.bashrc"