summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2023-03-08 12:15:39 +0700
committerhathach <[email protected]>2023-03-08 12:15:39 +0700
commit9e0ae5f29d507e29b7c548eb4b1aa1ca019de65b (patch)
tree4821dbc09dae5fce66e124734a87f7b83f0ffc02
parent3387c8610876d15216d8ae3a0ce5e938824ead06 (diff)
improve ci
-rw-r--r--.github/workflows/build_arm.yml34
-rw-r--r--examples/rules.mk1
-rw-r--r--tools/build_utils.py16
3 files changed, 20 insertions, 31 deletions
diff --git a/.github/workflows/build_arm.yml b/.github/workflows/build_arm.yml
index 96c337462..b598eff2a 100644
--- a/.github/workflows/build_arm.yml
+++ b/.github/workflows/build_arm.yml
@@ -34,10 +34,8 @@ jobs:
# Alphabetical order
- 'broadcom_32bit'
- 'imxrt'
- - 'lpc15'
- - 'lpc18'
- - 'lpc54'
- - 'lpc55'
+ - 'lpc15 lpc18'
+ - 'lpc54 lpc55'
- 'mm32'
- 'msp432e4'
- 'nrf'
@@ -46,14 +44,12 @@ jobs:
- 'samd21'
- 'samd51'
- 'saml2x'
- - 'stm32f0'
- - 'stm32f1'
+ - 'stm32f0 stm32f1'
- 'stm32f4'
- 'stm32f7'
- - 'stm32g4'
+ - 'stm32g4 stm32wb'
- 'stm32h7'
- 'stm32l4'
- - 'stm32wb'
- 'tm4c123'
- 'xmc4000'
steps:
@@ -71,7 +67,7 @@ jobs:
uses: actions/checkout@v3
- name: Checkout common submodules in lib
- run: git submodule update --init lib/FreeRTOS-Kernel lib/lwip lib/sct_neopixel
+ run: git submodule update --init lib/FreeRTOS-Kernel lib/lwip
- name: Checkout hathach/linkermap
uses: actions/checkout@v3
@@ -100,29 +96,21 @@ jobs:
find ${ex} -name *.map -print -quit | xargs -I % sh -c 'echo "::group::%"; linkermap -v %; echo "::endgroup::"'
done
- # Upload binaries for rp2040 hardware test with self-hosted
+ # Upload binaries for rp2040/stm32l412nucleo hardware test with self-hosted
+
- name: Prepare rp2040 Artifacts
if: matrix.family == 'rp2040' && github.repository_owner == 'hathach'
run: find examples/ -name "*.elf" -exec mv {} . \;
- - name: Upload rp2040 Artifacts
- if: matrix.family == 'rp2040' && github.repository_owner == 'hathach'
- uses: actions/upload-artifact@v3
- with:
- name: ${{ matrix.family }}
- path: |
- *.elf
-
- # Upload binaries for stm32l412nucleo hardware test with self-hosted
- name: Prepare stm32l412nucleo Artifacts
if: matrix.family == 'stm32l4'
run: find examples/ -path "*stm32l412nucleo/*.elf" -exec mv {} . \;
- - name: Upload stm32l412nucleo Artifacts
- if: matrix.family == 'stm32l4'
+ - name: Upload Artifacts for hardware testing
+ if: matrix.family == 'stm32l4' || (matrix.family == 'rp2040' && github.repository_owner == 'hathach')
uses: actions/upload-artifact@v3
with:
- name: stm32l412nucleo
+ name: ${{ matrix.family }}
path: |
*.elf
@@ -244,7 +232,7 @@ jobs:
- name: Download stm32l4 Artifacts
uses: actions/download-artifact@v3
with:
- name: stm32l412nucleo
+ name: stm32l4
- name: Create flash.sh
run: |
diff --git a/examples/rules.mk b/examples/rules.mk
index 3254112cf..7f3535bba 100644
--- a/examples/rules.mk
+++ b/examples/rules.mk
@@ -196,6 +196,7 @@ get-deps:
git -C $(TOP) submodule update --init $(DEPS_SUBMODULES)
endif
+.PHONY: size
size: $(BUILD)/$(PROJECT).elf
-@echo ''
@$(SIZE) $<
diff --git a/tools/build_utils.py b/tools/build_utils.py
index a24cea7bb..de9052d2d 100644
--- a/tools/build_utils.py
+++ b/tools/build_utils.py
@@ -85,21 +85,22 @@ def build_example(example, board, make_option):
# succeeded, failed, skipped
ret = [0, 0, 0]
+ make_cmd = "make -j -C examples/{} BOARD={} {}".format(example, board, make_option)
+
# Check if board is skipped
if skip_example(example, board):
status = SKIPPED
ret[2] = 1
print(build_format.format(example, board, status, '-', flash_size, sram_size))
else:
- build_result = subprocess.run("make -j -C examples/{} BOARD={} {} all".format(example, board, make_option), shell=True,
- stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ subprocess.run(make_cmd + " clean", shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ build_result = subprocess.run(make_cmd + " all", shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
if build_result.returncode == 0:
status = SUCCEEDED
ret[0] = 1
- (flash_size, sram_size) = build_size(example, board)
- subprocess.run("make -j -C examples/{} BOARD={} {} copy-artifact".format(example, board, make_option), shell=True,
- stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ (flash_size, sram_size) = build_size(make_cmd)
+ #subprocess.run(make_cmd + " copy-artifact", shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
else:
status = FAILED
ret[1] = 1
@@ -113,9 +114,8 @@ def build_example(example, board, make_option):
return ret
-def build_size(example, board):
- size_cmd = 'make -j -C examples/{} BOARD={} size'.format(example, board)
- size_output = subprocess.run(size_cmd, shell=True, stdout=subprocess.PIPE).stdout.decode("utf-8").splitlines()
+def build_size(make_cmd):
+ size_output = subprocess.run(make_cmd + ' size', shell=True, stdout=subprocess.PIPE).stdout.decode("utf-8").splitlines()
for i, l in enumerate(size_output):
text_title = 'text data bss dec'
if text_title in l: