summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2025-12-04 21:34:10 +0700
committerGitHub <[email protected]>2025-12-04 21:34:10 +0700
commite7105b1fa3ccd8200fe7fb8b0759d00afc9b07c1 (patch)
tree47beee5979266c979664293bae83a627f540d213 /.github
parentf68e354729c9485918966d2818fe652c033e4a93 (diff)
fine tune ci to build more with circleci (#3386)
* fine tune ci to build more with circleci * skip make for arm-iar, esp-idf * skip make + clang for circleci since llvm-objcopy got killed due to memory issue.
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/build.yml60
-rw-r--r--.github/workflows/build_util.yml3
2 files changed, 10 insertions, 53 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 77f2d573f..a1bacbc27 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -56,10 +56,11 @@ jobs:
echo "hil_matrix=$HIL_MATRIX_JSON"
echo "hil_matrix=$HIL_MATRIX_JSON" >> $GITHUB_OUTPUT
- # ---------------------------------------
- # Build CMake: only one-per-family.
- # Full built is done by CircleCI in PR
- # ---------------------------------------
+ # ------------------------------------------------------------------------------
+ # CMake build: only one-per-family. Full built is done by CircleCI in PR
+ # Note:
+ # For Make and IAR build: will be done on CircleCI only (one-per-family too)
+ # ------------------------------------------------------------------------------
cmake:
needs: set-matrix
uses: ./.github/workflows/build_util.yml
@@ -70,7 +71,7 @@ jobs:
- 'aarch64-gcc'
#- 'arm-clang'
- 'arm-gcc'
- - 'esp-idf'
+ #- 'esp-idf'
- 'msp430-gcc'
- 'riscv-gcc'
with:
@@ -137,52 +138,6 @@ jobs:
header: code-metrics
path: metrics_compare.md
-
- # ---------------------------------------
- # Build Make: only build on push with one-per-family
- # ---------------------------------------
- make:
- if: github.event_name == 'push'
- needs: set-matrix
- uses: ./.github/workflows/build_util.yml
- strategy:
- fail-fast: false
- matrix:
- toolchain:
- - 'aarch64-gcc'
- #- 'arm-clang'
- - 'arm-gcc'
- - 'msp430-gcc'
- - 'riscv-gcc'
- - 'rx-gcc'
- with:
- build-system: 'make'
- toolchain: ${{ matrix.toolchain }}
- build-args: ${{ toJSON(fromJSON(needs.set-matrix.outputs.json)[matrix.toolchain]) }}
- one-per-family: true
-
- # ---------------------------------------
- # Build IAR
- # Since IAR Token secret is not passed to forked PR, only build non-forked PR with make.
- # cmake is built by circle-ci. Due to IAR limit capacity, only build oe per family
- # ---------------------------------------
- arm-iar:
- if: false # disable for now since we got reach capacity limit too often
- #if: github.event_name == 'push' && github.repository_owner == 'hathach'
- needs: set-matrix
- uses: ./.github/workflows/build_util.yml
- secrets: inherit
- strategy:
- fail-fast: false
- matrix:
- build-system:
- - 'make'
- with:
- build-system: ${{ matrix.build-system }}
- toolchain: 'arm-iar'
- build-args: ${{ toJSON(fromJSON(needs.set-matrix.outputs.json)['arm-iar']) }}
- one-per-family: true
-
# ---------------------------------------
# Build Make/CMake on Windows/MacOS
# ---------------------------------------
@@ -193,10 +148,9 @@ jobs:
fail-fast: false
matrix:
os: [ windows-latest, macos-latest ]
- build-system: [ 'make', 'cmake' ]
with:
os: ${{ matrix.os }}
- build-system: ${{ matrix.build-system }}
+ build-system: 'cmake-make'
toolchain: 'arm-gcc-${{ matrix.os }}'
build-args: '["stm32h7"]'
one-per-family: true
diff --git a/.github/workflows/build_util.yml b/.github/workflows/build_util.yml
index 36043a1d5..2fc0eead0 100644
--- a/.github/workflows/build_util.yml
+++ b/.github/workflows/build_util.yml
@@ -68,6 +68,9 @@ jobs:
run: |
if [ "$TOOLCHAIN" == "esp-idf" ]; then
docker run --rm -v $PWD:/project -w /project espressif/idf:tinyusb python tools/build.py ${{ matrix.arg }}
+ elif [ "${{ inputs.build-system }}" == "cmake-make" ] || [ "${{ inputs.build-system }}" == "make-cmake" ]; then
+ python tools/build.py -s make ${{ steps.setup-toolchain.outputs.build_option }} ${{ steps.set-one-per-family.outputs.build_option }} ${{ matrix.arg }}
+ python tools/build.py -s cmake ${{ steps.setup-toolchain.outputs.build_option }} ${{ steps.set-one-per-family.outputs.build_option }} ${{ matrix.arg }}
else
python tools/build.py -s ${{ inputs.build-system }} ${{ steps.setup-toolchain.outputs.build_option }} ${{ steps.set-one-per-family.outputs.build_option }} ${{ matrix.arg }}
fi