| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- # Copyright (C) 2019 Intel Corporation. All rights reserved.
- # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- name: Spec tests on non-windows
- on:
- # will be triggered on PR events
- pull_request:
- paths:
- - "core/config.h"
- - "core/iwasm/**"
- - "core/shared/**"
- - "wamr-compiler/**"
- - "product-mini/**"
- # will be triggered on push events
- push:
- paths:
- - "core/config.h"
- - "core/iwasm/**"
- - "core/shared/**"
- - "wamr-compiler/**"
- - "product-mini/**"
- # allow to be triggered manually
- workflow_dispatch:
- # Cancel any in-flight jobs for the same PR/branch so there's only one active
- # at a time
- concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
- cancel-in-progress: true
- env:
- LLVM_CACHE_SUFFIX: "build-llvm_libraries"
- jobs:
- cancel_previous:
- runs-on: ubuntu-20.04
- steps:
- - name: Cancel Workflow Action
- uses: styfle/cancel-workflow-action@0.6.0
- with:
- access_token: ${{ github.token }}
- build_llvm_libraries:
- needs: cancel_previous
- runs-on: ubuntu-20.04
- steps:
- - name: checkout
- uses: actions/checkout@v2
- - name: Cache LLVM libraries
- id: cache_llvm
- uses: actions/cache@v2
- with:
- path: ./core/deps/llvm/build/LLVM-13.0.0.tar.gz
- key: ubuntu-20.04-${{ env.LLVM_CACHE_SUFFIX }}
- restore-keys: ubuntu-20.04-${{ env.LLVM_CACHE_SUFFIX }}
- - name: Build llvm and clang from source
- id: build_llvm
- if: ${{ steps.cache_llvm.outputs.cache-hit != 'true' }}
- run: /usr/bin/env python3 ./build_llvm.py --arch X86 WebAssembly
- working-directory: build-scripts
- - name: package LLVM
- if: ${{ steps.build_llvm.conclusion == 'success' }}
- run: mv LLVM-13.0.0-*.tar.gz LLVM-13.0.0.tar.gz
- working-directory: core/deps/llvm/build/
- spec_test_on_ubuntu_2004:
- needs: build_llvm_libraries
- runs-on: ubuntu-20.04
- strategy:
- matrix:
- test_option: [
- # DEFAULT
- "-s spec",
- # SIMD
- "-s spec -S",
- # THREAD
- "-s spec -p",
- # MULTI_MODULES
- "-s spec -M",
- ]
- steps:
- - name: checkout
- uses: actions/checkout@v2
- - name: Get LLVM libraries
- id: cache_llvm
- uses: actions/cache@v2
- with:
- path: ./core/deps/llvm/build/LLVM-13.0.0.tar.gz
- key: ubuntu-20.04-${{ env.LLVM_CACHE_SUFFIX }}
- restore-keys: ubuntu-20.04-${{ env.LLVM_CACHE_SUFFIX }}
- - name: Quit if cache miss
- if: steps.cache_llvm.outputs.cache-hit != 'true'
- run: echo "::error::can not get prebuilt llvm libraries" && exit 1
- - name: Extract the LLVM package
- run: tar xf LLVM-13.0.0.tar.gz --strip-components=1
- working-directory: ./core/deps/llvm/build
- - name: install Ninja
- run: sudo apt install -y ninja-build
- - name: run spec tests
- run: ./test_wamr.sh ${{ matrix.test_option }}
- working-directory: ./tests/wamr-test-suites
|