The ARM github actions runners now run on Windows 11 10.0.26100, which no longer support executing armv7 binaries. (Previously they were running Windows 11 10.0.22631.)
103 lines
3.8 KiB
YAML
103 lines
3.8 KiB
YAML
name: Run libcxx/libcxxabi/libunwind tests
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
ref:
|
|
description: 'Ref to extract from'
|
|
type: string
|
|
default: 'master'
|
|
pipeline_type:
|
|
description: 'Pipeline type'
|
|
required: true
|
|
default: 'push'
|
|
type: choice
|
|
options:
|
|
- push
|
|
- schedule
|
|
schedule:
|
|
- cron: '30 13 * * 0' # 13:30 UTC on Sundays
|
|
|
|
jobs:
|
|
prepare:
|
|
if: (github.event_name != 'schedule') || (github.repository == 'mstorsjo/llvm-mingw')
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
LLVM_VERSION: ${{steps.get-parameters.outputs.LLVM_VERSION}}
|
|
steps:
|
|
- name: Download build parameters
|
|
uses: dawidd6/action-download-artifact@v10
|
|
with:
|
|
workflow: build.yml
|
|
workflow_conclusion: success
|
|
ref: ${{github.event_name == 'schedule' && 'master' || inputs.ref}}
|
|
event: ${{github.event_name == 'schedule' && 'schedule' || inputs.pipeline_type}}
|
|
name: parameters
|
|
- name: Get build parameters
|
|
id: get-parameters
|
|
run: |
|
|
cat parameters.txt >> $GITHUB_OUTPUT
|
|
cat $GITHUB_OUTPUT
|
|
|
|
test-libcxx:
|
|
needs: [prepare]
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- { arch: x86_64, target_arch: i686 }
|
|
- { arch: x86_64, target_arch: x86_64 }
|
|
- { arch: aarch64, target_arch: aarch64 }
|
|
runs-on: ${{startsWith(matrix.arch, 'a') && 'windows-11-arm' || 'windows-latest'}}
|
|
steps:
|
|
- name: Install dependencies
|
|
run: |
|
|
choco install ninja
|
|
- name: Download toolchain
|
|
uses: dawidd6/action-download-artifact@v10
|
|
with:
|
|
workflow: build.yml
|
|
workflow_conclusion: success
|
|
ref: ${{github.event_name == 'schedule' && 'master' || inputs.ref}}
|
|
event: ${{github.event_name == 'schedule' && 'schedule' || inputs.pipeline_type}}
|
|
name: windows-ucrt-${{matrix.arch}}-toolchain
|
|
- name: Unpack toolchain
|
|
run: |
|
|
Expand-Archive llvm-mingw-*.zip -DestinationPath .
|
|
del llvm-mingw-*.zip
|
|
mv llvm-mingw-* c:\llvm-mingw
|
|
echo "c:\llvm-mingw\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append
|
|
echo "c:\llvm-mingw\python\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append
|
|
echo "PYTHON_EXE=c:/llvm-mingw/python/bin/python3.exe" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
|
|
- uses: actions/checkout@v4
|
|
- name: Checkout llvm-project
|
|
env:
|
|
LLVM_VERSION: ${{needs.prepare.outputs.LLVM_VERSION}}
|
|
run: |
|
|
bash -c "CHECKOUT_ONLY=1 ./build-llvm.sh"
|
|
- name: Build and test libcxx
|
|
run: |
|
|
cd llvm-project
|
|
mkdir build
|
|
cd build
|
|
cmake ../runtimes `
|
|
-G Ninja `
|
|
-DCMAKE_BUILD_TYPE=Release `
|
|
-DPython3_EXECUTABLE="$Env:PYTHON_EXE" `
|
|
-DLIBCXX_ENABLE_WERROR=YES `
|
|
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" `
|
|
-DLIBCXX_CXX_ABI=libcxxabi `
|
|
-DCMAKE_C_COMPILER=${{matrix.target_arch}}-w64-mingw32-clang `
|
|
-DCMAKE_CXX_COMPILER=${{matrix.target_arch}}-w64-mingw32-clang++ `
|
|
-DCMAKE_CXX_COMPILER_TARGET=${{matrix.target_arch}}-w64-windows-gnu `
|
|
-DLIBCXXABI_ENABLE_SHARED=NO `
|
|
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=YES `
|
|
-DLIBCXX_USE_COMPILER_RT=YES `
|
|
-DLIBCXXABI_USE_COMPILER_RT=YES `
|
|
-DLIBUNWIND_USE_COMPILER_RT=YES `
|
|
-DLIBCXXABI_USE_LLVM_UNWINDER=YES `
|
|
-DLIBCXX_EXTRA_SITE_DEFINES="__USE_MINGW_ANSI_STDIO=${{startsWith(matrix.arch, 'a') && '0' || '1'}}" `
|
|
-DCMAKE_INSTALL_MESSAGE=NEVER `
|
|
-DLLVM_LIT_ARGS="-v --time-tests"
|
|
ninja
|
|
ninja check-runtimes
|