diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index fe0468b..f15f9cb 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -13,11 +13,18 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Install host toolchain + if: hashFiles('tests/host/CMakeLists.txt') != '' + run: | + export DEBIAN_FRONTEND=noninteractive && \ + if command -v sudo >/dev/null 2>&1 && [ "$(id -u)" -ne 0 ]; then SUDO=sudo; else SUDO=; fi && \ + $SUDO apt-get update && \ + $SUDO apt-get install -y --no-install-recommends cmake gcc g++ make - name: Host unit tests if: hashFiles('tests/host/CMakeLists.txt') != '' run: | - cmake -S tests/host -B build/host - cmake --build build/host + cmake -S tests/host -B build/host && \ + cmake --build build/host && \ ctest --test-dir build/host --output-on-failure firmware: @@ -36,17 +43,25 @@ jobs: target: esp32s3 sdkconfig: sdkconfig.s3 steps: + - name: Install Node.js + run: | + export DEBIAN_FRONTEND=noninteractive && \ + if command -v sudo >/dev/null 2>&1 && [ "$(id -u)" -ne 0 ]; then SUDO=sudo; else SUDO=; fi && \ + $SUDO apt-get update && \ + $SUDO apt-get install -y --no-install-recommends curl ca-certificates && \ + curl -fsSL https://deb.nodesource.com/setup_20.x | $SUDO bash - && \ + $SUDO apt-get install -y --no-install-recommends nodejs - uses: actions/checkout@v4 - name: Build if: hashFiles('CMakeLists.txt') != '' run: | - git config --global --add safe.directory '*' - idf.py -B build/${{ matrix.board }} set-target ${{ matrix.target }} + git config --global --add safe.directory '*' && \ + idf.py -B build/${{ matrix.board }} set-target ${{ matrix.target }} && \ idf.py -B build/${{ matrix.board }} \ -D SDKCONFIG_DEFAULTS="sdkconfig.defaults;${{ matrix.sdkconfig }}" \ -D AUTOFILM_BOARD=${{ matrix.board }} \ - build - idf.py -B build/${{ matrix.board }} size | tee size-${{ matrix.board }}.txt + build && \ + idf.py -B build/${{ matrix.board }} size | tee size-${{ matrix.board }}.txt && \ python $IDF_PATH/components/esptool_py/esptool/esptool.py \ --chip ${{ matrix.target }} merge_bin \ -o autofilm-${{ matrix.board }}-${{ gitea.sha }}.bin \ @@ -63,3 +78,4 @@ jobs: build/${{ matrix.board }}/flasher_args.json build/${{ matrix.board }}/sdkconfig size-${{ matrix.board }}.txt + \ No newline at end of file