Update MbedOS, RIOT and ESP_IDF CI checkers (#5120)

Update MbedOS and RIOT CI checkers to use `gcc-arm-none-eabi` on top of
ubuntu-latest

Upgrade to mbed-tools and mbed-os 6.17

Bump xtensa version to `2021r2-patch5` and re-enable `ESP_IDF_Build_Test`

JerryScript-DCO-1.0-Signed-off-by: Máté Tokodi mate.tokodi@szteszoftver.hu
This commit is contained in:
Máté Tokodi
2023-12-15 12:12:59 +01:00
committed by GitHub
parent 3b876f7392
commit 514fa6735a
5 changed files with 52 additions and 54 deletions
+29 -34
View File
@@ -273,19 +273,17 @@ jobs:
$RUNNER -q --jerry-tests --build-debug $RUNNER -q --jerry-tests --build-debug
--buildoptions=--toolchain=cmake/toolchain_linux_aarch64.cmake,--linker-flag=-static --buildoptions=--toolchain=cmake/toolchain_linux_aarch64.cmake,--linker-flag=-static
# TODO: update to ubuntu-22.04 MbedOS_K64F_Build_Test:
# MbedOS_K64F_Build_Test: runs-on: ubuntu-latest
# runs-on: ubuntu-18.04 # needed due to ppa:team-gcc-arm-embedded/ppa steps:
# steps: - uses: actions/checkout@v2
# - uses: actions/checkout@v2 - uses: actions/setup-python@v4
# - uses: actions/setup-python@v2 with:
# with: python-version: '>=3.6'
# python-version: '3.8' # needed due to 'intelhex' module - run: sudo apt update
# - run: sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa - run: sudo apt install gcc-arm-none-eabi ninja-build
# - run: sudo apt update - run: make -f ./targets/os/mbedos/Makefile.travis install
# - run: sudo apt install gcc-arm-embedded python3-setuptools mercurial - run: make -f ./targets/os/mbedos/Makefile.travis script
# - run: make -f ./targets/os/mbedos/Makefile.travis install
# - run: make -f ./targets/os/mbedos/Makefile.travis script
Zephyr_STM32F4_Build_Test: Zephyr_STM32F4_Build_Test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -311,18 +309,15 @@ jobs:
- run: make -f ./targets/os/nuttx/Makefile.travis install-noapt - run: make -f ./targets/os/nuttx/Makefile.travis install-noapt
- run: make -f ./targets/os/nuttx/Makefile.travis script - run: make -f ./targets/os/nuttx/Makefile.travis script
# TODO: update to ubuntu-22.04 RIOT_STM32F4_Build_Test:
# RIOT_STM32F4_Build_Test: runs-on: ubuntu-latest
# runs-on: ubuntu-18.04 # needed due to ppa:team-gcc-arm-embedded/ppa env:
# env: CC: clang
# CC: clang steps:
# steps: - uses: actions/checkout@v2
# - uses: actions/checkout@v2 - run: sudo apt -y install clang gcc-arm-none-eabi
# - run: sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa - run: make -f ./targets/os/riot/Makefile.travis install-noapt
# - run: sudo apt update - run: make -f ./targets/os/riot/Makefile.travis script
# - run: sudo apt install clang gcc-arm-embedded gcc-multilib
# - run: make -f ./targets/os/riot/Makefile.travis install-noapt
# - run: make -f ./targets/os/riot/Makefile.travis script
ESP8266_RTOS_SDK_Build_Test: ESP8266_RTOS_SDK_Build_Test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -334,15 +329,15 @@ jobs:
- run: make -f ./targets/baremetal-sdk/espressif/esp8266-rtos-sdk/Makefile.travis install-noapt - run: make -f ./targets/baremetal-sdk/espressif/esp8266-rtos-sdk/Makefile.travis install-noapt
- run: make -f ./targets/baremetal-sdk/espressif/esp8266-rtos-sdk/Makefile.travis script - run: make -f ./targets/baremetal-sdk/espressif/esp8266-rtos-sdk/Makefile.travis script
# ESP_IDF_Build_Test: ESP_IDF_Build_Test:
# runs-on: ubuntu-latest runs-on: ubuntu-latest
# steps: steps:
# - uses: actions/checkout@v2 - uses: actions/checkout@v2
# - uses: actions/setup-python@v2 - uses: actions/setup-python@v4
# with: with:
# python-version: '3.8' python-version: '==3.8'
# - run: make -f ./targets/baremetal-sdk/espressif/esp-idf/Makefile.travis install-noapt - run: make -f ./targets/baremetal-sdk/espressif/esp-idf/Makefile.travis install-noapt
# - run: make -f ./targets/baremetal-sdk/espressif/esp-idf/Makefile.travis script - run: make -f ./targets/baremetal-sdk/espressif/esp-idf/Makefile.travis script
Notification: Notification:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -27,8 +27,8 @@ install-apt-get-deps:
# Fetch and extract Xtensa toolchain. # Fetch and extract Xtensa toolchain.
install-xtensa-esp32-gcc: install-xtensa-esp32-gcc:
wget https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz --no-check-certificate --directory-prefix /tmp wget https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz --no-check-certificate --directory-prefix /tmp
tar xvfz /tmp/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz --directory /tmp tar xvfz /tmp/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz --directory /tmp
# Fetch Espressif IoT Development Framework and install its dependencies. # Fetch Espressif IoT Development Framework and install its dependencies.
install-esp-idf: install-esp-idf:
+13 -15
View File
@@ -32,21 +32,18 @@ JERRY_HEAP_SIZE ?= 70
define MBED_CLI_FLAGS define MBED_CLI_FLAGS
--clean --clean
--build $(BUILD_DIR) --mbed-os-path $(MBED_OS_DIR)
--source $(MBED_OS_DIR) --program-path $(JERRY_ROOT_DIR)
--source $(JERRY_ROOT_DIR)
--source $(JERRY_TARGET_DIR)
--toolchain $(TOOLCHAIN) --toolchain $(TOOLCHAIN)
--target $(BOARD) --mbed-target $(BOARD)
--artifact-name mbedos --app-config $(JERRY_ROOT_DIR)/mbed_lib.json
--macro JERRY_GLOBAL_HEAP_SIZE=$(JERRY_HEAP_SIZE)
endef endef
.PHONY: all .PHONY: all
all: .build all: .build
.PHONY: clean .PHONY: clean
clean: .mbedignore-remove clean: .extra-files-remove
rm -rf $(JERRY_ROOT_DIR)/build/mbed-os rm -rf $(JERRY_ROOT_DIR)/build/mbed-os
.PHONY: flash .PHONY: flash
@@ -57,17 +54,18 @@ flash: .mbed-set-flash-flag .build
$(eval MBED_CLI_FLAGS += --flash) $(eval MBED_CLI_FLAGS += --flash)
.PHONY: .build .PHONY: .build
.build: .mbedignore-copy .mbed-build .mbedignore-remove .build: .extra-files-copy .mbed-build .extra-files-remove
.PHONY: .mbed-build .PHONY: .mbed-build
.mbed-build: .mbed-build:
mbed config -G MBED_OS_DIR $(MBED_OS_DIR) mbed-tools compile $(strip $(MBED_CLI_FLAGS))
mbed compile $(strip $(MBED_CLI_FLAGS))
.PHONY: .mbedignore-copy .PHONY: .extra-files-copy
.mbedignore-copy: .extra-files-copy:
cp mbedignore.txt $(JERRY_ROOT_DIR)/.mbedignore cp mbedignore.txt $(JERRY_ROOT_DIR)/.mbedignore
cp mbed_lib.json $(JERRY_ROOT_DIR)/mbed_lib.json
.PHONY: .mbedignore-remove .PHONY: .extra-files-remove
.mbedignore-remove: .extra-files-remove:
rm -f $(JERRY_ROOT_DIR)/.mbedignore rm -f $(JERRY_ROOT_DIR)/.mbedignore
rm -f $(JERRY_ROOT_DIR)/mbed_lib.json
+4 -3
View File
@@ -22,12 +22,13 @@ all:
## Targets for installing build dependencies of the Mbed OS JerryScript target. ## Targets for installing build dependencies of the Mbed OS JerryScript target.
install-mbedos: install-mbedos:
git clone https://github.com/ARMmbed/mbed-os.git ../mbed-os -b mbed-os-6.15.0 git clone https://github.com/ARMmbed/mbed-os.git ../mbed-os -b mbed-os-6.17.0
# Deploy Mbed and install Mbed Python dependencies. # Deploy Mbed and install Mbed Python dependencies.
install-mbedos-deps: install-mbedos-deps:
pip install mbed-cli pip3 install --upgrade pip
pip install -r ../mbed-os/requirements.txt pip3 install mbed-tools setuptools
pip3 install -r ../mbed-os/requirements.txt
install: install-mbedos install-mbedos-deps install: install-mbedos install-mbedos-deps
+4
View File
@@ -0,0 +1,4 @@
{
"name": "jerry",
"macros": ["JERRY_GLOBAL_HEAP_SIZE=70"]
}