restorew platfotms

This commit is contained in:
Tester23
2025-11-11 00:25:25 +01:00
parent cc91574551
commit 4812696775

View File

@@ -53,6 +53,354 @@ jobs:
echo "short_ref=${BRANCHTRANSLATED}" >> $GITHUB_OUTPUT
echo "sha_short=SHA-$(git rev-parse --short=12 HEAD)" >> $GITHUB_OUTPUT
echo "version=${VERSION}" >> $GITHUB_OUTPUT
build2:
name: Build Simulator
needs: refs
runs-on: windows-2022
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Checkout berry submodule
run: |
git submodule update --init --recursive libraries/berry
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v2
- name: Checkout simulator repository
run: |
git clone https://github.com/openshwprojects/obkSimulator
mkdir -p ./libs_for_simulator
cp -r ./obkSimulator/simulator/libs_for_simulator/* ./libs_for_simulator
- name: Build project
run: msbuild openBeken_win32_mvsc2017.vcxproj /p:Configuration=Release /p:PlatformToolset=v143
- name: Flatten build assets
run: |
mkdir -p flat
cp ./Release/openBeken_win32.exe flat/
cp ./obkSimulator/simulator/*.dll flat/
cp ./run_*.bat flat/
mkdir -p flat/examples
cp -r ./obkSimulator/examples/* flat/examples/
- name: Run unit tests
run: |
./flat/openBeken_win32.exe -runUnitTests 2
- name: Compress build assets
run: |
Compress-Archive -Path flat/* -DestinationPath obkSimulator_win32_${{ needs.refs.outputs.version }}.zip
- name: Copy build assets
run: |
mkdir -Force output/${{ needs.refs.outputs.version }}
cp obkSimulator_win32_${{ needs.refs.outputs.version }}.zip output/${{ needs.refs.outputs.version }}/obkSimulator_${{ needs.refs.outputs.version }}.zip
- name: Upload build assets
uses: actions/upload-artifact@v4
with:
name: ${{ env.APP_NAME }}_${{ needs.refs.outputs.version }}_sim
path: output/${{ needs.refs.outputs.version }}/obkSimulator_${{ needs.refs.outputs.version }}.zip
build_asan:
name: Build Linux Simulator and Run Tests With Address Sanitizer
needs: refs
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Checkout berry submodule
run: |
git submodule update --init --recursive libraries/berry
mkdir -p libraries/berry/generate
./libraries/berry/tools/coc/coc -o libraries/berry/generate libraries/berry/src src/berry/modules -c include/berry_conf.h
- name: Build project
run: ASAN=1 make -f custom.mk
- name: Run unit tests
run: |
export LSAN_OPTIONS=suppressions=platforms/linux/asan.suppressions
./build/win_main -runUnitTests 2
build_ubsan:
name: Build Linux Simulator and Run Tests With Undefined Behavior Sanitizer
needs: refs
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Checkout berry submodule
run: |
git submodule update --init --recursive libraries/berry
mkdir -p libraries/berry/generate
./libraries/berry/tools/coc/coc -o libraries/berry/generate libraries/berry/src src/berry/modules -c include/berry_conf.h
- name: Build project
run: UBSAN=1 make -f custom.mk
- name: Run unit tests
run: |
export UBSAN_OPTIONS=halt_on_error=1:print_stacktrace=1:suppressions=platforms/linux/ubsan.suppressions
./build/win_main -runUnitTests 2
build:
name: Build
needs: refs
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
# default for all platforms
- platform: OpenBK7231T
variant: default
- platform: OpenBK7231N
variant: default
- platform: OpenXR809
variant: default
gcc: 8-2019-q3
- platform: OpenXR806
variant: default
gcc: 8-2019-q3
- platform: OpenXR872
variant: default
gcc: 8-2019-q3
- platform: OpenBL602
variant: default
- platform: OpenW800
variant: default
- platform: OpenW600
variant: default
- platform: OpenLN882H
variant: default
gcc: 10.3-2021.10
- platform: OpenTR6260
variant: default
- platform: OpenRTL8710A
variant: default
gcc: 8-2019-q3
- platform: OpenRTL8710B
variant: default
gcc: 8-2019-q3
- platform: OpenRTL87X0C
variant: default
gcc: apt
- platform: OpenRTL8720D
variant: default
gcc: 10.3-2021.10
- platform: OpenECR6600
variant: default
- platform: OpenRDA5981
variant: default
gcc: 6-2017-q2
- platform: OpenRTL8721DA
variant: default
- platform: OpenRTL8720E
variant: default
# extras for BK7231T
- platform: OpenBK7231T
variant: berry
- platform: OpenBK7231T
variant: tuyaMCU
- platform: OpenBK7231T
variant: powerMetering
- platform: OpenBK7231T
variant: irRemoteESP
- platform: OpenBK7231T
variant: sensors
# extras for BK7231N
- platform: OpenBK7231N
variant: berry
- platform: OpenBK7231N
variant: tuyaMCU
- platform: OpenBK7231N
variant: powerMetering
- platform: OpenBK7231N
variant: irRemoteESP
- platform: OpenBK7231N
variant: sensors
- platform: OpenBK7231N
variant: hlw8112
- platform: OpenBL602
variant: berry
# ALT firmware
- platform: OpenBK7231N_ALT
variant: default
gcc: apt
- platform: OpenBK7231T_ALT
variant: default
gcc: apt
- platform: OpenBK7231U
variant: default
gcc: apt
- platform: OpenBK7238
variant: default
gcc: apt
- platform: OpenBK7252
variant: default
gcc: apt
- platform: OpenBK7252N
variant: default
gcc: apt
# extras for BK7238
- platform: OpenBK7238
variant: berry
gcc: apt
- platform: OpenBK7238
variant: irRemoteESP
gcc: apt
steps:
- name: Source checkout
uses: actions/checkout@v4
- uses: actions/setup-python@v5
if: ${{ matrix.platform == 'OpenBL602' || matrix.platform == 'OpenRTL8721DA' || matrix.platform == 'OpenRTL8720E' || matrix.platform == 'OpenRDA5981' }}
with:
python-version: '3.10'
architecture: 'x64'
cache: 'pip'
- name: Install dependencies
if: ${{ matrix.platform == 'OpenLN882H' }}
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: cmake
version: 1.0
- name: Install arm-none-eabi-gcc
if: ${{ matrix.gcc && matrix.gcc != 'apt' }}
uses: carlosperate/arm-none-eabi-gcc-action@v1
with:
release: ${{ matrix.gcc }}
path-env-var: ARM_NONE_EABI_GCC_PATH
- name: Install arm-none-eabi-gcc
if: ${{ matrix.gcc == 'apt' }}
run: |
curl -sL https://raw.githubusercontent.com/ilikenwf/apt-fast/master/quick-install.sh | sudo bash
sudo apt-get update
sudo apt-fast install -y gcc-arm-none-eabi
- run: ls -la
- name: Run make
run: make APP_VERSION=${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }} APP_NAME=${{ matrix.platform }} VARIANT="${{ matrix.variant }}" ${{ matrix.platform }}
- name: Save build assets
uses: actions/upload-artifact@v4
with:
name: ${{ env.APP_NAME }}_${{ needs.refs.outputs.version }}_${{ matrix.platform }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}
path: |
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_UA_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}.bin
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_UG_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}.bin
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_QIO_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}.bin
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/OpenBK7231M_QIO_${{ needs.refs.outputs.version }}.bin
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/OpenBK7231M_ALT_QIO_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}.bin
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}.rbl
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}.img
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}.bin
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}.fls
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}_ota.img
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}_gz.img
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}_OTA.bin
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}_OTA.bin.xz
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}_OTA.bin.xz.ota
if-no-files-found: warn
build_idf:
name: Build IDF
needs: refs
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
include:
- platform: OpenESP32C2
variant: 2M
version: v5.5.1
- platform: OpenESP32C3
variant: 2M
version: v5.5.1
- platform: OpenESP32
variant: 4M
version: v5.5.1
- platform: OpenESP32C2
variant: 4M
version: v5.5.1
- platform: OpenESP32C3
variant: 4M
version: v5.5.1
- platform: OpenESP32C6
variant: 4M
version: v5.5.1
- platform: OpenESP32S3
variant: 4M
version: v5.5.1
- platform: OpenESP32S2
variant: 4M
version: v5.5.1
- platform: OpenESP32C5
variant: 4M
version: v5.5.1
- platform: OpenESP32C61
variant: 4M
version: v5.5.1
steps:
- name: Source checkout
uses: actions/checkout@v4
- name: SDK checkout
uses: actions/checkout@v4
with:
repository: espressif/esp-idf
path: sdk/esp-idf
ref: ${{ matrix.version }}
submodules: recursive
- uses: actions/setup-python@v5
id: pysetup
with:
python-version: '3.10'
architecture: 'x64'
cache: 'pip'
- name: Install dependencies
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: cmake
version: 1.0
- name: Cache toolchain
id: cache-toolchain
uses: actions/cache@v4
with:
path: ~/.espressif # cache whole folder, not just dist
key: ESP-IDF_toolchain_${{ matrix.version }}_${{ steps.pysetup.outputs.python-version }}
- name: Get toolchain
if: steps.cache-toolchain.outputs.cache-hit != 'true'
run: |
cd sdk/esp-idf
./install.sh
- name: Run make
run: |
cd sdk/esp-idf
. ./export.sh
. ./add_path.sh
cd ../..
make APP_VERSION=${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }} APP_NAME=${{ matrix.platform }} VARIANT="${{ matrix.variant }}" ${{ matrix.platform }}
- name: Save build assets
uses: actions/upload-artifact@v4
with:
name: ${{ env.APP_NAME }}_${{ needs.refs.outputs.version }}_${{ matrix.platform }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}
path: |
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}.img
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}.factory.bin
if-no-files-found: warn
build_8266:
name: Build ESP8266
needs: refs
@@ -118,10 +466,44 @@ jobs:
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_2MB_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}.factory.bin
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_1MB_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}.factory.bin
if-no-files-found: warn
build_txw81x:
name: Build TXW81X
needs: refs
runs-on: windows-latest
defaults:
run:
shell: wsl-bash {0}
strategy:
fail-fast: false
matrix:
include:
- platform: OpenTXW81X
variant: default
steps:
- name: Source checkout
uses: actions/checkout@v4
- uses: Vampire/setup-wsl@v6
with:
wsl-version: 1
distribution: Ubuntu-22.04
additional-packages: make
- name: Run make
run: |
make APP_VERSION=${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }} APP_NAME=${{ matrix.platform }} VARIANT="${{ matrix.variant }}" ${{ matrix.platform }}
- name: Save build assets
uses: actions/upload-artifact@v4
with:
name: ${{ env.APP_NAME }}_${{ needs.refs.outputs.version }}_${{ matrix.platform }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}
path: |
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}.bin
output/${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}/${{ matrix.platform }}_${{ needs.refs.outputs.version }}${{ matrix.variant != 'default' && '_' || '' }}${{ matrix.variant != 'default' && matrix.variant || '' }}_ota.img
if-no-files-found: warn
merge:
name: Merge Artifacts
runs-on: ubuntu-22.04
needs: [refs, build_8266]
needs: [refs, build, build2, build_idf, build_8266, build_txw81x]
#if: always() && needs.refs.outputs.new_release == 'true' && (github.ref == 'refs/heads/main' || github.ref_name == 'alpha')
steps:
- name: Merge Artifacts