diff --git a/.github/workflows/test_build.yml b/.github/workflows/test_build.yml deleted file mode 100644 index adde3fc4..00000000 --- a/.github/workflows/test_build.yml +++ /dev/null @@ -1,101 +0,0 @@ -name: OpenDTU-onBattery Test Build - -on: push - -jobs: - get_default_envs: - name: Gather Environments - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Cache pip - uses: actions/cache@v3 - with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} - restore-keys: | - ${{ runner.os }}-pip- - - - uses: actions/setup-python@v4 - with: - python-version: "3.x" - - - name: Install PlatformIO - run: | - python -m pip install --upgrade pip - pip install --upgrade platformio - - - name: Get default environments - id: envs - run: | - echo "environments=$(pio project config --json-output | jq -cr '.[1][1][0][1]|split(",")')" >> $GITHUB_OUTPUT - - outputs: - environments: ${{ steps.envs.outputs.environments }} - - build: - name: Build Enviornments - runs-on: ubuntu-latest - needs: get_default_envs - strategy: - matrix: - environment: ${{ fromJSON(needs.get_default_envs.outputs.environments) }} - steps: - - uses: actions/checkout@v3 - - - name: Get tags - run: git fetch --force --tags origin - - - name: Cache pip - uses: actions/cache@v3 - with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} - restore-keys: | - ${{ runner.os }}-pip- - - - name: Cache PlatformIO - uses: actions/cache@v3 - with: - path: ~/.platformio - key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} - - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: "3.x" - - - name: Install PlatformIO - run: | - python -m pip install --upgrade pip - pip install --upgrade platformio - - - name: Setup Node.js and yarn - uses: actions/setup-node@v3 - with: - node-version: "18" - cache: "yarn" - cache-dependency-path: "webapp/yarn.lock" - - - name: Install WebApp dependencies - run: yarn --cwd webapp install --frozen-lockfile - - - name: Build WebApp - run: yarn --cwd webapp build - - - name: Build firmware - run: pio run -e ${{ matrix.environment }} - - - name: Rename Firmware - run: mv .pio/build/${{ matrix.environment }}/firmware.bin .pio/build/${{ matrix.environment }}/opendtu-onbattery-${{ matrix.environment }}.bin - - - name: Rename Factory Firmware - run: mv .pio/build/${{ matrix.environment }}/firmware.factory.bin .pio/build/${{ matrix.environment }}/opendtu-onbattery-${{ matrix.environment }}.factory.bin - - - uses: actions/upload-artifact@v3 - with: - name: opendtu-onbattery-${{ matrix.environment }} - path: | - .pio/build/${{ matrix.environment }}/opendtu-onbattery-${{ matrix.environment }}.bin - .pio/build/${{ matrix.environment }}/opendtu-onbattery-${{ matrix.environment }}.factory.bin diff --git a/pio-scripts/auto_firmware_version.py b/pio-scripts/auto_firmware_version.py index 281899c7..00f638a8 100644 --- a/pio-scripts/auto_firmware_version.py +++ b/pio-scripts/auto_firmware_version.py @@ -3,6 +3,7 @@ # Copyright (C) 2022 Thomas Basler and others # import pkg_resources +from dulwich import porcelain Import("env") @@ -13,19 +14,22 @@ missing_pkgs = required_pkgs - installed_pkgs if missing_pkgs: env.Execute('"$PYTHONEXE" -m pip install dulwich') -from dulwich import porcelain def get_firmware_specifier_build_flag(): try: build_version = porcelain.describe('.') # '.' refers to the repository root dir - branch_name = porcelain.active_branch('.').decode('utf-8') - except: + except Exception as err: + print(f"Unexpected {err=}, {type(err)=}") build_version = "g0000000" + try: + branch_name = porcelain.active_branch('.').decode('utf-8') # '.' refers to the repository root dir + except Exception as err: + print(f"Unexpected {err=}, {type(err)=}") branch_name = "" build_flag = "-D AUTO_GIT_HASH=\\\"" + build_version + "\\\" " build_flag += "-D AUTO_GIT_BRANCH=\\\"" + branch_name + "\\\"" - print ("Firmware Revision: " + build_version) - print ("Firmware build on branch: " + branch_name) + print("Firmware Revision: " + build_version) + print("Firmware build on branch: " + branch_name) return (build_flag) env.Append(