summaryrefslogtreecommitdiffstats
path: root/.github/workflows/main.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/main.yml')
-rw-r--r--.github/workflows/main.yml34
1 files changed, 27 insertions, 7 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 83c2751..eb9b59f 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -8,8 +8,26 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
- # oldest and newest supported LLVM version
- clang_version: [10.0.0, 14.0.0]
+ clang_version: [10.0.0]
+ # use different LLVM versions among oses because of the lack of
+ # official assets on github.
+ include:
+ - os: ubuntu-latest
+ clang_version: 10.0.0
+ llvm_asset_suffix: x86_64-linux-gnu-ubuntu-18.04
+ - os: macos-latest
+ clang_version: 10.0.0
+ llvm_asset_suffix: x86_64-apple-darwin
+ - os: windows-latest
+ clang_version: 10.0.0
+ - os: ubuntu-latest
+ clang_version: 16.0.0
+ llvm_asset_suffix: x86_64-linux-gnu-ubuntu-18.04
+ - os: macos-latest
+ clang_version: 15.0.7
+ llvm_asset_suffix: x86_64-apple-darwin21.0
+ - os: windows-latest
+ clang_version: 16.0.0
steps:
- uses: actions/checkout@v1
with:
@@ -44,8 +62,8 @@ jobs:
- name: Install LLVM tools (MacOS)
shell: bash
run: |
- curl -sSfL https://github.com/llvm/llvm-project/releases/download/llvmorg-${{ matrix.clang_version }}/clang+llvm-${{ matrix.clang_version }}-x86_64-apple-darwin.tar.xz | tar xJf -
- export CLANG_DIR=`pwd`/clang+llvm-${{ matrix.clang_version }}-x86_64-apple-darwin/bin
+ curl -sSfL https://github.com/llvm/llvm-project/releases/download/llvmorg-${{ matrix.clang_version }}/clang+llvm-${{ matrix.clang_version }}-${{ matrix.llvm_asset_suffix }}.tar.xz | tar xJf -
+ export CLANG_DIR=`pwd`/clang+llvm-${{ matrix.clang_version }}-${{ matrix.llvm_asset_suffix }}/bin
echo "$CLANG_DIR" >> $GITHUB_PATH
echo "CC=$CLANG_DIR/clang" >> $GITHUB_ENV
echo "AR=$CLANG_DIR/llvm-ar" >> $GITHUB_ENV
@@ -55,8 +73,8 @@ jobs:
- name: Install LLVM tools (Linux)
shell: bash
run: |
- curl -sSfL https://github.com/llvm/llvm-project/releases/download/llvmorg-${{ matrix.clang_version }}/clang+llvm-${{ matrix.clang_version }}-x86_64-linux-gnu-ubuntu-18.04.tar.xz | tar xJf -
- export CLANG_DIR=`pwd`/clang+llvm-${{ matrix.clang_version }}-x86_64-linux-gnu-ubuntu-18.04/bin
+ curl -sSfL https://github.com/llvm/llvm-project/releases/download/llvmorg-${{ matrix.clang_version }}/clang+llvm-${{ matrix.clang_version }}-${{ matrix.llvm_asset_suffix }}.tar.xz | tar xJf -
+ export CLANG_DIR=`pwd`/clang+llvm-${{ matrix.clang_version }}-${{ matrix.llvm_asset_suffix }}/bin
echo "$CLANG_DIR" >> $GITHUB_PATH
echo "CLANG_DIR=$CLANG_DIR" >> $GITHUB_ENV
echo "CC=$CLANG_DIR/clang" >> $GITHUB_ENV
@@ -76,12 +94,14 @@ jobs:
run: |
cd test
make download
- export WASI_DIR=$(realpath $CLANG_DIR/../lib/clang/${{ matrix.clang_version }}/lib/wasi/)
+ export WASI_DIR=$(realpath $($CLANG_DIR/clang -print-resource-dir)/lib/wasi/)
mkdir -p $WASI_DIR
cp download/lib/wasi/libclang_rt.builtins-wasm32.a $WASI_DIR
make test
# The older version of Clang does not provide the expected symbol for the
# test entrypoints: `undefined symbol: __main_argc_argv`.
+ # The older (<15.0.7) version of wasm-ld does not provide `__heap_end`,
+ # which is required by our malloc implementation.
if: matrix.os == 'ubuntu-latest' && matrix.clang_version != '10.0.0'
- uses: actions/upload-artifact@v1