Skip to content

[compiler_support] Clang supports the is_destructible intrinsic sin… #2152

[compiler_support] Clang supports the is_destructible intrinsic sin…

[compiler_support] Clang supports the is_destructible intrinsic sin… #2152

Workflow file for this run

name: Windows
on:
push:
paths:
# Workflow file itself
- '.github/workflows/Windows.yml'
# C++ files
- '**.cpp'
- '**.hpp'
# CMake files
- '**.cmake'
- '**.txt'
# Script files
- '**.sh'
pull_request:
branches:
- main
- develop
paths:
# Workflow file itself
- '.github/workflows/Windows.yml'
# C++ files
- '**.cpp'
- '**.hpp'
# CMake files
- '**.cmake'
- '**.txt'
# Script files
- '**.sh'
release:
types: [published]
workflow_dispatch:
# Default windows to use bash
defaults:
run:
shell: bash
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
msvc:
runs-on: ${{ matrix.os }}
# Don't run on dependabot PRs
if: github.actor != 'dependabot[bot]'
strategy:
fail-fast: false
matrix:
os:
- "windows-2019"
- "windows-2022"
arch:
#- "x86"
- "x64"
build_type:
- "Debug"
- "Release"
standard:
- "14"
- "17"
- "20"
- "23"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Environment
run: scripts/ci/SetupEnvironment.sh
- name: Setup MSVC
uses: ilammy/msvc-dev-cmd@v1.13.0
with:
arch: ${{ matrix.arch }}
- name: Configure build directory
run: |
mkdir build -p
cd build
cmake .. -DCMAKE_BUILD_TYPE:STRING=${{ matrix.build_type }} -DPHI_TEST_WITH_ALL_STANDARDS:BOOL=OFF -DPHI_STANDARD:STRING=${{ matrix.standard }}
- name: Build
working-directory: ./build
run: cmake --build . --config ${{ matrix.build_type }}
- name: Run tests
working-directory: ./build
run: ctest . -C ${{ matrix.build_type }}
clang:
runs-on: windows-2022
# Don't run on dependabot PRs
if: github.actor != 'dependabot[bot]'
strategy:
fail-fast: false
matrix:
build_type:
- "Debug"
- "Release"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Environment
run: scripts/ci/SetupEnvironment.sh
- name: Install compiler
shell: powershell
run: |
# Install scoop
iwr -useb get.scoop.sh -outfile 'install.ps1'
# Required since CI runner is admin
# See https://github.com/ScoopInstaller/Install#for-admin
.\install.ps1 -RunAsAdmin
scoop install ninja llvm --global
echo "CXX=clang++" >> $GITHUB_ENV
echo "C:\ProgramData\scoop\apps\llvm\current\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "C:\ProgramData\scoop\apps\ninja\current" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Configure build directory
run: |
mkdir build -p
cd build
# Need to use static runtime to build our fuzzers
cmake .. -DCMAKE_BUILD_TYPE:STRING=${{ matrix.build_type }} -DPHI_STANDARD_RUNTIME:STRING="Static"
- name: Build
working-directory: ./build
run: cmake --build . --config ${{ matrix.build_type }}
- name: Run tests
working-directory: ./build
run: ctest . -C ${{ matrix.build_type }}
gcc:
runs-on: windows-2022
# Don't run on dependabot PRs
if: github.actor != 'dependabot[bot]'
strategy:
fail-fast: false
matrix:
build_type:
- "Debug"
- "Release"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Environment
run: scripts/ci/SetupEnvironment.sh
- name: Install compiler
shell: powershell
run: |
# Install scoop
iwr -useb get.scoop.sh -outfile 'install.ps1'
# Required since CI runner is admin
# See https://github.com/ScoopInstaller/Install#for-admin
.\install.ps1 -RunAsAdmin
scoop install ninja gcc --global
echo "CXX=g++" >> $GITHUB_ENV
echo "C:\ProgramData\scoop\apps\gcc\current\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "C:\ProgramData\scoop\apps\ninja\current" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Configure build directory
run: |
mkdir build -p
cd build
cmake .. -DCMAKE_BUILD_TYPE:STRING=${{ matrix.build_type }}
- name: Build
working-directory: ./build
run: cmake --build . --config ${{ matrix.build_type }}
- name: Run tests
working-directory: ./build
run: ctest . -C ${{ matrix.build_type }}