Skip to content

Commit

Permalink
Add testing with released LLVM 13.0 to CI
Browse files Browse the repository at this point in the history
  • Loading branch information
dbabokin committed Oct 4, 2021
1 parent 67f9cba commit ea49025
Show file tree
Hide file tree
Showing 6 changed files with 197 additions and 32 deletions.
9 changes: 5 additions & 4 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,15 @@
configuration: Release

environment:
LLVM_LATEST: 12.0
LLVM_LATEST: 13.0
DOCKER_PATH: "ispc/test_repo"
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1604
LLVM_VERSION: latest
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
LLVM_VERSION: latest
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
LLVM_VERSION: 11.1
LLVM_VERSION: 12.0

for:
-
Expand All @@ -58,7 +58,8 @@ for:
if "%LLVM_VERSION%"=="latest" (set WASM=ON)
if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" ( (set generator="Visual Studio 15 Win64") & (set vsversion=2017))
if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2019" ( (set generator="Visual Studio 16") & (set vsversion=2019))
set LLVM_TAR=llvm-12.0.1-win.vs2019-Release+Asserts-x86.arm.wasm.tar.7z
set LLVM_TAR=llvm-13.0.0-win.vs2019-Release+Asserts-x86.arm.wasm.tar.7z
if "%LLVM_VERSION%"=="12.0" (set LLVM_TAR=llvm-12.0.1-win.vs2019-Release+Asserts-x86.arm.wasm.tar.7z)
if "%LLVM_VERSION%"=="11.1" (set LLVM_TAR=llvm-11.1.0-win.vs2019-Release+Asserts-x86.arm.wasm.tar.7z)
install:
- ps: choco install --no-progress winflexbison3 wget 7zip
Expand Down Expand Up @@ -109,7 +110,7 @@ for:
export LLVM_HOME=$APPVEYOR_BUILD_FOLDER/llvm
export CROSS_TOOLS=/usr/local/src/cross
export WASM=OFF
export LLVM_TAR=llvm-12.0.1-ubuntu16.04-Release+Asserts-x86.arm.wasm.tar.xz
export LLVM_TAR=llvm-13.0.0-ubuntu16.04-Release+Asserts-x86.arm.wasm.tar.xz
install:
- sh: |-
sudo apt-get update
Expand Down
177 changes: 170 additions & 7 deletions .github/workflows/ispc-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,6 @@ jobs:
name: ispc_llvm11_linux
path: build/ispc-trunk-linux.tar.gz


linux-build-ispc-llvm12:
needs: [define-flow]
runs-on: ubuntu-latest
Expand Down Expand Up @@ -132,6 +131,42 @@ jobs:
name: ispc_llvm12_linux
path: build/ispc-trunk-linux.tar.gz

linux-build-ispc-llvm13:
needs: [define-flow]
runs-on: ubuntu-latest
env:
LLVM_VERSION: "13.0"
LLVM_TAR: llvm-13.0.0-ubuntu16.04-Release+Asserts-x86.arm.wasm.tar.xz

steps:
- uses: actions/checkout@v2
with:
submodules: true

- name: Install dependencies
run: |
.github/workflows/scripts/install-build-deps.sh
- name: Check environment
run: |
./check_env.py
which -a clang
cat /proc/cpuinfo
- name: Build package
run: |
.github/workflows/scripts/build-ispc.sh
- name: Sanity testing (make check-all, make test)
run: |
.github/workflows/scripts/check-ispc.sh
- name: Upload package
uses: actions/upload-artifact@v2
with:
name: ispc_llvm13_linux
path: build/ispc-trunk-linux.tar.gz

linux-test-llvm11:
needs: [define-flow, linux-build-ispc-llvm11]
runs-on: ubuntu-latest
Expand All @@ -158,7 +193,8 @@ jobs:
- name: Running tests
run: |
echo PATH=$PATH
./alloy.py -r --only="stability current ${{ needs.define-flow.outputs.tests_optsets }}" --only-targets="${{ matrix.target }}" --time --update-errors=FP
# Just sanity check for 11.1
./alloy.py -r --only="stability current -O2" --only-targets="avx2-i32x8" --time --update-errors=FP
- name: Check
run: |
Expand Down Expand Up @@ -212,11 +248,51 @@ jobs:
name: fail_db.llvm12.${{matrix.target}}.txt
path: fail_db.txt

linux-test-llvm13:
needs: [define-flow, linux-build-ispc-llvm13]
runs-on: ubuntu-latest
continue-on-error: false
strategy:
fail-fast: false
matrix:
target: ${{fromJson(needs.define-flow.outputs.tests_matrix_targets)}}
steps:
- uses: actions/checkout@v2
- name: Download package
uses: actions/download-artifact@v2
with:
name: ispc_llvm13_linux

- name: Install dependencies and unpack artifacts
run: |
.github/workflows/scripts/install-test-deps.sh
- name: Check environment
run: |
cat /proc/cpuinfo
- name: Running tests
run: |
echo PATH=$PATH
./alloy.py -r --only="stability current ${{ needs.define-flow.outputs.tests_optsets }}" --only-targets="${{ matrix.target }}" --time --update-errors=FP
- name: Check
run: |
# Print fails to the log.
git diff --exit-code
- name: Upload fail_db.txt
uses: actions/upload-artifact@v2
if: failure()
with:
name: fail_db.llvm13.${{matrix.target}}.txt
path: fail_db.txt

# Debug run is experimental with the purpose to see if it's capable to catch anything.
# So it's running in "full" mode only for now.
# Single target, as it should be representative enough.
linux-test-debug-llvm12:
needs: [define-flow, linux-build-ispc-llvm12]
linux-test-debug-llvm13:
needs: [define-flow, linux-build-ispc-llvm13]
if: ${{ needs.define-flow.outputs.flow_type == 'full' }}
runs-on: ubuntu-latest
continue-on-error: false
Expand All @@ -227,7 +303,7 @@ jobs:
- name: Download package
uses: actions/download-artifact@v2
with:
name: ispc_llvm12_linux
name: ispc_llvm13_linux

- name: Install dependencies and unpack artifacts
run: |
Expand All @@ -251,7 +327,7 @@ jobs:
uses: actions/upload-artifact@v2
if: failure()
with:
name: fail_db.llvm12.debug.txt
name: fail_db.llvm13.debug.txt
path: fail_db.txt

win-build-ispc-llvm11:
Expand Down Expand Up @@ -336,6 +412,46 @@ jobs:
name: ispc_llvm12_win
path: build/ispc-trunk-windows.msi

win-build-ispc-llvm13:
needs: [define-flow]
runs-on: windows-latest
env:
LLVM_VERSION: "13.0"
LLVM_TAR: llvm-13.0.0-win.vs2019-Release+Asserts-x86.arm.wasm.tar.7z
LLVM_HOME: "C:\\projects\\llvm"
CROSS_TOOLS_GNUWIN32: "C:\\projects\\cross\\gnuwin32"
BUILD_TYPE: "Release"

steps:
- uses: actions/checkout@v2
with:
submodules: true

- name: Add msbuild to PATH
uses: microsoft/[email protected]

- name: Install dependencies
run: |
.github/workflows/scripts/install-build-deps.ps1
- name: Check environment
shell: cmd
run: |
wmic cpu get caption, deviceid, name, numberofcores, maxclockspeed, status
- name: Build package
run: |
.github/workflows/scripts/build-ispc.ps1
- name: Sanity testing (make check-all, make test)
run: |
.github/workflows/scripts/check-ispc.ps1
- name: Upload package
uses: actions/upload-artifact@v2
with:
name: ispc_llvm13_win
path: build/ispc-trunk-windows.msi

win-test-llvm11:
needs: [define-flow, win-build-ispc-llvm11]
Expand Down Expand Up @@ -369,7 +485,8 @@ jobs:
run: |
$env:ISPC_HOME = "$pwd"
.github/workflows/scripts/load-vs-env.ps1 "${{ matrix.arch }}"
python .\alloy.py -r --only="stability ${{ matrix.arch }} current ${{ needs.define-flow.outputs.tests_optsets }}" --only-targets="${{ matrix.target }}" --time --update-errors=FP
# Just sanity check for 11.1
python .\alloy.py -r --only="stability ${{ matrix.arch }} current -O2" --only-targets="avx2-i32x8" --time --update-errors=FP
- name: Check
run: |
Expand Down Expand Up @@ -430,3 +547,49 @@ jobs:
name: fail_db.llvm12.${{matrix.arch}}.${{matrix.target}}.txt
path: fail_db.txt

win-test-llvm13:
needs: [define-flow, win-build-ispc-llvm13]
env:
LLVM_HOME: "C:\\projects\\llvm"
runs-on: windows-latest
continue-on-error: false
strategy:
fail-fast: false
matrix:
arch: [x86, x86-64]
target: ${{fromJson(needs.define-flow.outputs.tests_matrix_targets)}}

steps:
- uses: actions/checkout@v2
- name: Download package
uses: actions/download-artifact@v2
with:
name: ispc_llvm13_win

- name: Install dependencies
run: |
.github/workflows/scripts/install-test-deps.ps1
- name: Check environment
shell: cmd
run: |
wmic cpu get caption, deviceid, name, numberofcores, maxclockspeed, status
- name: Running tests
run: |
$env:ISPC_HOME = "$pwd"
.github/workflows/scripts/load-vs-env.ps1 "${{ matrix.arch }}"
python .\alloy.py -r --only="stability ${{ matrix.arch }} current ${{ needs.define-flow.outputs.tests_optsets }}" --only-targets="${{ matrix.target }}" --time --update-errors=FP
- name: Check
run: |
# Print fails to the log.
git diff --exit-code
- name: Upload fail_db.txt
uses: actions/upload-artifact@v2
if: failure()
with:
name: fail_db.llvm13.${{matrix.arch}}.${{matrix.target}}.txt
path: fail_db.txt

16 changes: 8 additions & 8 deletions .github/workflows/ispc-svml.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,12 @@ jobs:
$RUN_SMOKE && echo "::set-output name=optsets::${OPTSETS_SMOKE}" || true
$RUN_FULL && echo "::set-output name=optsets::${OPTSETS_FULL}" || true
linux-build-ispc-llvm12:
linux-build-ispc-llvm13:
needs: [define-flow]
runs-on: ubuntu-latest
env:
LLVM_VERSION: "12.0"
LLVM_TAR: llvm-12.0.1-ubuntu16.04-Release+Asserts-x86.arm.wasm.tar.xz
LLVM_VERSION: "13.0"
LLVM_TAR: llvm-13.0.0-ubuntu16.04-Release+Asserts-x86.arm.wasm.tar.xz

steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -87,12 +87,12 @@ jobs:
- name: Upload package
uses: actions/upload-artifact@v2
with:
name: ispc_llvm12_linux
name: ispc_llvm13_linux
path: build/ispc-trunk-linux.tar.gz


linux-test-llvm12:
needs: [define-flow, linux-build-ispc-llvm12]
linux-test-llvm13:
needs: [define-flow, linux-build-ispc-llvm13]
runs-on: ubuntu-latest
continue-on-error: false
strategy:
Expand All @@ -104,7 +104,7 @@ jobs:
- name: Download package
uses: actions/download-artifact@v2
with:
name: ispc_llvm12_linux
name: ispc_llvm13_linux

- name: Install dependencies and unpack artifacts
run: |
Expand All @@ -129,6 +129,6 @@ jobs:
uses: actions/upload-artifact@v2
if: failure()
with:
name: fail_db.llvm12.${{matrix.target}}.txt
name: fail_db.llvm13.${{matrix.target}}.txt
path: fail_db.txt

10 changes: 5 additions & 5 deletions .github/workflows/linux-benchmarks.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Linux benchmarks / LLVM 12.0
name: Linux benchmarks / LLVM 13.0

on:
pull_request_target:
Expand All @@ -10,9 +10,9 @@ on:
workflow_dispatch:

env:
LLVM_VERSION: "12.0"
LLVM_VERSION: "13.0"
LLVM_REPO: https://github.com/ispc/llvm-project
LLVM_TAR: llvm-12.0.1-ubuntu16.04-Release+Asserts-x86.arm.wasm.tar.xz
LLVM_TAR: llvm-13.0.0-ubuntu16.04-Release+Asserts-x86.arm.wasm.tar.xz

jobs:
linux-build:
Expand Down Expand Up @@ -58,7 +58,7 @@ jobs:
- name: Upload package
uses: actions/upload-artifact@v2
with:
name: ispc_llvm11_linux_bench
name: ispc_llvm13_linux_bench
path: build/ispc-trunk-linux.tar.gz

benchmarks:
Expand All @@ -69,7 +69,7 @@ jobs:
- name: Download package
uses: actions/download-artifact@v2
with:
name: ispc_llvm11_linux_bench
name: ispc_llvm13_linux_bench
- name: Install dependencies and unpack artifacts
run: |
tar xvf ispc-trunk-linux.tar.gz
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/nightly-13.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
# Nightly Linux run.

####################################################################
# Currently disabled. To be reenabled for 14.0 when it's branched. #
####################################################################

name: Nightly tests / LLVM 13.0

# Run daily - test sse2-avx512 targets @ -O0/-O1/-O2
on:
schedule:
- cron: '0 7 * * *'
push:
branches:
- '**test_nightly**'
# schedule:
# - cron: '0 7 * * *'
workflow_dispatch:

env:
Expand Down
Loading

0 comments on commit ea49025

Please sign in to comment.