Using docker image for nuttx spectest (#2887)

And disable running the nuttx spectest CI every time PR merged since
it will consume too much runners to slow down the other checks.
This commit is contained in:
Huang Qi 2023-12-11 09:48:59 +08:00 committed by GitHub
parent 63696ba603
commit c6848e45a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 45 deletions

View File

@ -11,6 +11,9 @@ on:
arch:
required: true
type: string
container_image:
required: false
type: string
outputs:
cache_key:
description: "A cached key of LLVM libraries"
@ -19,6 +22,10 @@ on:
jobs:
build_llvm_libraries:
runs-on: ${{ inputs.os }}
# Using given container image if it is specified.
# Otherwise, it will be ignored by the runner.
container:
image: ${{ inputs.container_image }}
outputs:
key: ${{ steps.create_lib_cache_key.outputs.key}}
@ -71,8 +78,9 @@ jobs:
0-ccache-${{ inputs.os }}
if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true' && inputs.os == 'ubuntu-22.04'
# Don't install dependencies if the cache is hit or running in docker container
- run: sudo apt install -y ccache ninja-build
if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true' && startsWith(inputs.os, 'ubuntu')
if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true' && startsWith(inputs.os, 'ubuntu') && inputs.container_image == ''
- uses: actions/cache@v3
with:

View File

@ -6,9 +6,10 @@ name: spec test on nuttx
on:
pull_request:
types:
- closed
branches:
- main
- opened
- synchronize
paths:
- ".github/workflows/spec_test_on_nuttx.yml"
schedule:
- cron: '0 0 * * *'
@ -27,10 +28,13 @@ jobs:
with:
os: "ubuntu-22.04"
arch: "ARM RISCV AArch64"
container_image: ghcr.io/apache/nuttx/apache-nuttx-ci-linux@sha256:4b4cbf0b70512e61ada9cdcb76b97e90ad478b85e4d0774d05a95fa32caa8c39
spec_test_on_qemu:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
needs: [build_llvm_libraries]
container:
image: ghcr.io/apache/nuttx/apache-nuttx-ci-linux@sha256:4b4cbf0b70512e61ada9cdcb76b97e90ad478b85e4d0774d05a95fa32caa8c39
strategy:
matrix:
target_config: [
@ -91,32 +95,6 @@ jobs:
wamr_test_option: { mode: "-t aot -X" }
steps:
- name: Install Utilities
run: |
sudo apt install -y kconfig-frontends-nox genromfs
- name: Install ARM Compilers
if: startsWith(matrix.target_config.config, 'boards/arm')
run: |
sudo apt install -y gcc-arm-none-eabi
wget --quiet https://developer.arm.com/-/media/Files/downloads/gnu/11.2-2022.02/binrel/gcc-arm-11.2-2022.02-x86_64-aarch64-none-elf.tar.xz
xz -d gcc-arm-11.2-2022.02-x86_64-aarch64-none-elf.tar.xz
tar xf gcc-arm-11.2-2022.02-x86_64-aarch64-none-elf.tar
echo "$PWD/gcc-arm-11.2-2022.02-x86_64-aarch64-none-elf/bin" >> $GITHUB_PATH
- name: Install RISC-V Compilers
if: startsWith(matrix.target_config.config, 'boards/risc-v')
run: |
curl -L https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/download/v12.3.0-1/xpack-riscv-none-elf-gcc-12.3.0-1-linux-x64.tar.gz > riscv.tar.gz
tar xvf riscv.tar.gz
echo "$PWD/xpack-riscv-none-elf-gcc-12.3.0-1/bin" >> $GITHUB_PATH
- name: Install WASI-SDK
run: |
curl -L https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-linux.tar.gz > wasi-sdk.tar.gz
tar xvf wasi-sdk.tar.gz
sudo mv wasi-sdk-* /opt/wasi-sdk
- name: Checkout NuttX
uses: actions/checkout@v3
with:
@ -191,20 +169,6 @@ jobs:
make -j$(nproc)
echo "firmware=$PWD/nuttx" >> $GITHUB_OUTPUT
- name: Install QEMU for ARM
if: startsWith(matrix.target_config.config, 'boards/arm')
run: |
curl -L https://github.com/xpack-dev-tools/qemu-arm-xpack/releases/download/v7.1.0-1/xpack-qemu-arm-7.1.0-1-linux-x64.tar.gz > xpack-qemu-arm.tar.gz
tar xvf xpack-qemu-arm.tar.gz
echo $PWD/xpack-qemu-arm-7.1.0-1/bin >> $GITHUB_PATH
- name: Install QEMU for RISC-V
if: startsWith(matrix.target_config.config, 'boards/risc-v')
run: |
curl -L https://github.com/xpack-dev-tools/qemu-riscv-xpack/releases/download/v7.1.0-1/xpack-qemu-riscv-7.1.0-1-linux-x64.tar.gz > xpack-qemu-riscv.tar.gz
tar xvf xpack-qemu-riscv.tar.gz
echo PATH=$PATH:$PWD/xpack-qemu-riscv-7.1.0-1/bin >> $GITHUB_PATH
- name: Test
run: |
cd apps/interpreters/wamr/wamr/tests/wamr-test-suites