Skip to content

Commit

Permalink
Cleanup github actiosn and reorganized CI ordering
Browse files Browse the repository at this point in the history
  • Loading branch information
jfalcou authored Apr 3, 2024
1 parent 20b383f commit 3994582
Show file tree
Hide file tree
Showing 5 changed files with 77 additions and 82 deletions.
8 changes: 0 additions & 8 deletions .github/actions/cleanup/Dockerfile

This file was deleted.

6 changes: 0 additions & 6 deletions .github/actions/cleanup/action.yml

This file was deleted.

6 changes: 0 additions & 6 deletions .github/actions/cleanup/entrypoint.sh

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
####################################################################################################
name: EVE - Integration Tests
on:
pull_request:
push:
branches:
- main

Expand Down
137 changes: 76 additions & 61 deletions .github/workflows/unit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,33 @@ jobs:
cd build
ctest --output-on-failure -j 4 -E ^doc.*.exe
##################################################################################################
## Full emulation tests
##################################################################################################
nosimd:
runs-on: ubuntu-latest
container:
image: ghcr.io/jfalcou/compilers:v7
options: -u root
strategy:
fail-fast: false
matrix:
cfg:
- { comp: clang , arch: x86 , opts: -DEVE_NO_SIMD }
- { comp: gcc , arch: x86 , opts: -DEVE_NO_SIMD }

steps:
- name: Fetch current branch
uses: actions/[email protected]
- name: Running CMake for ${{ matrix.cfg.comp }} on ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }}
run: |
mkdir build && cd build
cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake
- name: Compiling Unit Tests
run: cd build && ninja unit.exe -j 5
- name: Running Unit Tests
run: cd build && ctest --output-on-failure -j 4 -E ^doc.*.exe

##################################################################################################
## Mac OS X Targets
##################################################################################################
Expand Down Expand Up @@ -101,12 +128,7 @@ jobs:
ctest -C ${{ matrix.cfg.mode }} --output-on-failure -R ^unit.internals.*.exe
##################################################################################################
## X86 Targets
## There is a lot to do so we try to maximize the order & occupancy of our runners
##################################################################################################

##################################################################################################
## Phase 1 - Pre-Skylake SIMD ISA - clang
## Host 1 - Pre-Skylake SIMD ISA - clang
##################################################################################################
x86-clang:
runs-on: [self-hosted, generic-x86]
Expand Down Expand Up @@ -134,7 +156,7 @@ jobs:
run: cd build && ctest --output-on-failure -j 10 -E ^doc.*.exe

##################################################################################################
## Phase 2 - Non-X86 - Requires clang and qemu
## Host 1 - PPC & ARM SVE256/512 Tests
##################################################################################################
other-arch:
needs: x86-clang
Expand All @@ -146,9 +168,9 @@ jobs:
fail-fast: false
matrix:
cfg:
- { comp: clang, arch: aarch64 , opts: -Wno-psabi}
- { comp: clang, arch: arm , opts: -Wno-psabi}
- { comp: gcc , arch: ppc64 , opts: -Wno-psabi}
- { comp: gcc, arch: sve256, opts: -Wno-psabi}
- { comp: gcc, arch: sve512, opts: -Wno-psabi}
- { comp: gcc, arch: ppc64 , opts: -Wno-psabi}
steps:
- name: Fetch current branch
uses: actions/[email protected]
Expand All @@ -158,17 +180,13 @@ jobs:
cd build
cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" \
-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake
- name: Compile Unit Tests
run: |
cd build
ninja unit.exe -j 10
- name: Running Random Sampling Tests
run: |
cd build
ctest --output-on-failure -j 10 -E ^doc.*.exe
- name: Compiling Unit Tests
run: cd build && ninja unit.exe -j 10
- name: Running Unit Tests
run: cd build && ctest --output-on-failure -j 10 -E ^doc.*.exe

##################################################################################################
## Phase 3 - Pre-Skylake SIMD ISA - g++
## Host 1 - Pre-Skylake SIMD ISA - g++
##################################################################################################
x86-gcc:
needs: other-arch
Expand Down Expand Up @@ -197,40 +215,42 @@ jobs:
run: cd build && ctest --output-on-failure -j 10 -E ^doc.*.exe

##################################################################################################
## Phase 3 - Pre-Skylake SIMD ISA - Special cases
## Host 2 - Non-X86 - Requires clang and qemu
##################################################################################################
x86-custom:
needs: x86-gcc
runs-on: [self-hosted, generic-x86]
arm:
runs-on: [self-hosted, avx512]
container:
image: ghcr.io/jfalcou/compilers:v7
options: -u root
strategy:
fail-fast: false
matrix:
cfg:
- { comp: clang_libcpp, arch: x86 , opts: -msse2 }
# Linux kernel need a fix on our CI machine
# - { comp: clang , arch: x86_asan, opts: -msse2 }
- { comp: clang , arch: x86 , opts: "-mavx2 -mbmi2 -DEVE_USE_BMI_ON_AVX2" }
- { comp: gcc , arch: x86 , opts: "-mavx2 -mbmi2 -DEVE_USE_BMI_ON_AVX2" }

- { comp: clang, arch: aarch64 , opts: -Wno-psabi}
- { comp: clang, arch: arm , opts: -Wno-psabi}
steps:
- name: Fetch current branch
uses: actions/[email protected]
- name: Running CMake for ${{ matrix.cfg.comp }} on ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }}
run: |
mkdir build && cd build
cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake
- name: Compiling Unit Tests
run: cd build && ninja unit.exe -j 8
- name: Running Unit Tests
run: cd build && ctest --output-on-failure -j 8 -E ^doc.*.exe
- name: Prepare EVE with ${{ matrix.cfg.comp }} @ ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }}
run: |
mkdir build
cd build
cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" \
-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake
- name: Compile Unit Tests
run: |
cd build
ninja unit.exe -j 5
- name: Running Random Sampling Tests
run: |
cd build
ctest --output-on-failure -j 4 -E ^doc.*.exe
##################################################################################################
## Post-Skylake SIMD ISA & Full emulation tests
## Host 2 - Post-Skylake SIMD ISA
##################################################################################################
avx512:
needs: arm
runs-on: [self-hosted, avx512]
container:
image: ghcr.io/jfalcou/compilers:v7
Expand All @@ -240,9 +260,7 @@ jobs:
matrix:
cfg:
- { comp: clang , arch: x86 , opts: -march=skylake-avx512 }
- { comp: clang , arch: x86 , opts: -DEVE_NO_SIMD }
- { comp: gcc , arch: x86 , opts: -march=skylake-avx512 }
- { comp: gcc , arch: x86 , opts: -DEVE_NO_SIMD }

steps:
- name: Fetch current branch
Expand All @@ -257,35 +275,32 @@ jobs:
run: cd build && ctest --output-on-failure -j 4 -E ^doc.*.exe

##################################################################################################
## ARM SVE Tests
## Currently: SVE128/256/512
## Host 2 - Pre-Skylake SIMD ISA - Special cases
##################################################################################################
arm-sve:
needs: x86-custom
runs-on: [self-hosted, generic-x86]
other-cases:
needs: avx512
runs-on: [self-hosted, avx512]
container:
image: ghcr.io/jfalcou/compilers:v7
options: -u root
strategy:
fail-fast: false
matrix:
cfg:
- { comp: gcc, arch: sve256, opts: -Wno-psabi}
- { comp: gcc, arch: sve512, opts: -Wno-psabi}
- { comp: clang_libcpp, arch: x86 , opts: -msse2 }
# Linux kernel need a fix on our CI machine
# - { comp: clang , arch: x86_asan, opts: -msse2 }
- { comp: clang , arch: x86 , opts: "-mavx2 -mbmi2 -DEVE_USE_BMI_ON_AVX2" }
- { comp: gcc , arch: x86 , opts: "-mavx2 -mbmi2 -DEVE_USE_BMI_ON_AVX2" }

steps:
- name: Fetch current branch
uses: actions/[email protected]
- name: Prepare EVE with ${{ matrix.cfg.comp }} @ ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }}
run: |
mkdir build
cd build
cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" \
-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake
- name: Compile Unit Tests
run: |
cd build
ninja unit.exe -j 12
- name: Running Random Sampling Tests
run: |
cd build
ctest --output-on-failure -j 12 -E ^doc.*.exe
- name: Running CMake for ${{ matrix.cfg.comp }} on ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }}
run: |
mkdir build && cd build
cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake
- name: Compiling Unit Tests
run: cd build && ninja unit.exe -j 5
- name: Running Unit Tests
run: cd build && ctest --output-on-failure -j 4 -E ^doc.*.exe

0 comments on commit 3994582

Please sign in to comment.