Switch to a matrix scheme on Github CI script
This commit is contained in:
parent
ace033c3f6
commit
18659409f5
229
.github/workflows/ci.yml
vendored
229
.github/workflows/ci.yml
vendored
@ -8,204 +8,55 @@ on:
|
|||||||
schedule:
|
schedule:
|
||||||
- cron: "0 0 * * *"
|
- cron: "0 0 * * *"
|
||||||
|
|
||||||
|
env:
|
||||||
|
LLVM_VERSION: "19.1.2"
|
||||||
|
LINUX_IMAGE: "ubuntu-24.04"
|
||||||
|
MACOS_IMAGE: "macos-15"
|
||||||
|
WINDOWS_IMAGE: "windows-2022"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
linux_Debug:
|
build_and_test:
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ${{ matrix.os}}
|
||||||
timeout-minutes: 15
|
timeout-minutes: 15
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-24.04, macos-15, windows-2022]
|
||||||
|
build_type: [Debug, MinSizeRel, RelWithDebInfo, Release]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Install dependencies
|
|
||||||
run: sudo apt install -y llvm llvm-dev ninja-build mold curl libssl-dev libcurl4-openssl-dev
|
- name: System Info (Linux)
|
||||||
- name: System information
|
if: matrix.os == env.LINUX_IMAGE
|
||||||
run: |
|
run: |
|
||||||
uname -a
|
uname -a
|
||||||
lsb_release -a
|
lsb_release -a
|
||||||
clang -v
|
- name: System Info (macOS)
|
||||||
- name: Build and test
|
if: matrix.os == env.MACOS_IMAGE
|
||||||
run: |
|
|
||||||
./project.sh "build_type=Debug" test all
|
|
||||||
linux_MinSizeRel:
|
|
||||||
runs-on: ubuntu-24.04
|
|
||||||
timeout-minutes: 15
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Install dependencies
|
|
||||||
run: sudo apt install -y llvm llvm-dev ninja-build mold curl libssl-dev libcurl4-openssl-dev
|
|
||||||
- name: System information
|
|
||||||
run: |
|
|
||||||
uname -a
|
|
||||||
lsb_release -a
|
|
||||||
clang -v
|
|
||||||
- name: Build and test
|
|
||||||
run: |
|
|
||||||
./project.sh "build_type=MinSizeRel" test all
|
|
||||||
linux_RelWithDebInfo:
|
|
||||||
runs-on: ubuntu-24.04
|
|
||||||
timeout-minutes: 15
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Install dependencies
|
|
||||||
run: sudo apt install -y llvm llvm-dev ninja-build mold curl libssl-dev libcurl4-openssl-dev
|
|
||||||
- name: System information
|
|
||||||
run: |
|
|
||||||
uname -a
|
|
||||||
lsb_release -a
|
|
||||||
clang -v
|
|
||||||
- name: Build and test
|
|
||||||
run: |
|
|
||||||
./project.sh "build_type=RelWithDebInfo" test all
|
|
||||||
linux_Release:
|
|
||||||
runs-on: ubuntu-24.04
|
|
||||||
timeout-minutes: 15
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Install dependencies
|
|
||||||
run: sudo apt install -y llvm llvm-dev ninja-build mold curl libssl-dev libcurl4-openssl-dev
|
|
||||||
- name: System information
|
|
||||||
run: |
|
|
||||||
uname -a
|
|
||||||
lsb_release -a
|
|
||||||
clang -v
|
|
||||||
- name: Build and test
|
|
||||||
run: |
|
|
||||||
./project.sh "build_type=Release" test all
|
|
||||||
macos_Debug:
|
|
||||||
runs-on: macos-15
|
|
||||||
timeout-minutes: 15
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
brew install llvm ninja
|
|
||||||
- name: System information
|
|
||||||
run: |
|
run: |
|
||||||
uname -a
|
uname -a
|
||||||
sw_vers -productVersion
|
sw_vers -productVersion
|
||||||
clang -v
|
- name: System Info (Windows)
|
||||||
|
if: matrix.os == 'windows-2022'
|
||||||
|
run:
|
||||||
|
systeminfo
|
||||||
|
|
||||||
|
- name: Install dependencies (Linux)
|
||||||
|
if: matrix.os == env.LINUX_IMAGE
|
||||||
|
run: sudo apt update && sudo apt install -y llvm llvm-dev ninja-build mold curl libssl-dev libcurl4-openssl-dev
|
||||||
|
- name: Install dependencies (MacOS)
|
||||||
|
if: matrix.os == env.MACOS_IMAGE
|
||||||
|
run: brew install llvm ninja
|
||||||
|
- name: Install dependencies (Windows)
|
||||||
|
if: matrix.os == env.WINDOWS_IMAGE
|
||||||
|
run: choco install ninja && pwsh ./fetch-llvm.ps1
|
||||||
|
|
||||||
|
- name: Clang version
|
||||||
|
run: clang -v
|
||||||
|
|
||||||
- name: Build and test
|
- name: Build and test
|
||||||
run: ./project.sh "build_type=Debug" test all
|
if: matrix.os == env.LINUX_IMAGE || matrix.os == env.MACOS_IMAGE
|
||||||
macos_MinSizeRel:
|
run: ./project.sh "build_type=${{ matrix.build_type }}" test all
|
||||||
runs-on: macos-15
|
- name: Build and test (Windows)
|
||||||
timeout-minutes: 15
|
if: matrix.os == env.WINDOWS_IMAGE
|
||||||
steps:
|
run: pwsh ./project.ps1 "-DCMAKE_PREFIX_PATH=clang+llvm-19.1.2-x86_64-pc-windows-msvc" "build_type=${{ matrix.build_type }}" test all
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
brew install llvm ninja
|
|
||||||
- name: System information
|
|
||||||
run: |
|
|
||||||
uname -a
|
|
||||||
sw_vers -productVersion
|
|
||||||
clang -v
|
|
||||||
- name: Build and test
|
|
||||||
run: ./project.sh "build_type=MinSizeRel" test all
|
|
||||||
macos_RelWithDebInfo:
|
|
||||||
runs-on: macos-15
|
|
||||||
timeout-minutes: 15
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
brew install llvm ninja
|
|
||||||
- name: System information
|
|
||||||
run: |
|
|
||||||
uname -a
|
|
||||||
sw_vers -productVersion
|
|
||||||
clang -v
|
|
||||||
- name: Build and test
|
|
||||||
run: ./project.sh "build_type=RelWithDebInfo" test all
|
|
||||||
macos_Release:
|
|
||||||
runs-on: macos-15
|
|
||||||
timeout-minutes: 15
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
brew install llvm ninja
|
|
||||||
- name: System information
|
|
||||||
run: |
|
|
||||||
uname -a
|
|
||||||
sw_vers -productVersion
|
|
||||||
clang -v
|
|
||||||
- name: Build and test
|
|
||||||
run: ./project.sh "build_type=Release" test all
|
|
||||||
windows_Debug:
|
|
||||||
runs-on: windows-latest
|
|
||||||
timeout-minutes: 15
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
choco install ninja
|
|
||||||
pwsh ./fetch-llvm.ps1
|
|
||||||
# - name: System information
|
|
||||||
# run: |
|
|
||||||
# systeminfo
|
|
||||||
# clang -v
|
|
||||||
- name: Build and test
|
|
||||||
run: pwsh ./project.ps1 "-DCMAKE_PREFIX_PATH=clang+llvm-19.1.2-x86_64-pc-windows-msvc" "build_type=Debug" test all
|
|
||||||
env:
|
|
||||||
LANG: en_US.UTF-8 # Ensure UTF-8 encoding
|
|
||||||
windows_MinSizeRel:
|
|
||||||
runs-on: windows-latest
|
|
||||||
timeout-minutes: 15
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
choco install ninja
|
|
||||||
pwsh ./fetch-llvm.ps1
|
|
||||||
# - name: System information
|
|
||||||
# run: |
|
|
||||||
# systeminfo
|
|
||||||
# clang -v
|
|
||||||
- name: Build and test
|
|
||||||
run: pwsh ./project.ps1 "-DCMAKE_PREFIX_PATH=clang+llvm-19.1.2-x86_64-pc-windows-msvc" "build_type=MinSizeRel" test all
|
|
||||||
env:
|
|
||||||
LANG: en_US.UTF-8 # Ensure UTF-8 encoding
|
|
||||||
windows_RelWithDebInfo:
|
|
||||||
runs-on: windows-latest
|
|
||||||
timeout-minutes: 15
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
choco install ninja
|
|
||||||
pwsh ./fetch-llvm.ps1
|
|
||||||
# - name: System information
|
|
||||||
# run: |
|
|
||||||
# systeminfo
|
|
||||||
# clang -v
|
|
||||||
- name: Build and test
|
|
||||||
run: pwsh ./project.ps1 "-DCMAKE_PREFIX_PATH=clang+llvm-19.1.2-x86_64-pc-windows-msvc" "build_type=RelWithDebInfo" test all
|
|
||||||
env:
|
|
||||||
LANG: en_US.UTF-8 # Ensure UTF-8 encoding
|
|
||||||
windows_Release:
|
|
||||||
runs-on: windows-latest
|
|
||||||
timeout-minutes: 15
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
choco install ninja
|
|
||||||
pwsh ./fetch-llvm.ps1
|
|
||||||
# - name: System information
|
|
||||||
# run: |
|
|
||||||
# systeminfo
|
|
||||||
# clang -v
|
|
||||||
- name: Build and test
|
|
||||||
run: pwsh ./project.ps1 "-DCMAKE_PREFIX_PATH=clang+llvm-19.1.2-x86_64-pc-windows-msvc" "build_type=Release" test all
|
|
||||||
env:
|
|
||||||
LANG: en_US.UTF-8 # Ensure UTF-8 encoding
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user