github: Add a manual job for running the libcxx/libcxxabi/libunwind tests
This is included already in the main build pipeline, but disabled by default. This allows easily running this on top of a recent separate pipeline.
This commit is contained in:
1 parent
2674a65315
commit
7483eae182
1 file changed
+97
@@ -0,0 +1,97 @@
|
||||
name: Run libcxx/libcxxabi/libunwind tests
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
commit:
|
||||
description: 'Commit to extract from'
|
||||
type: string
|
||||
branch:
|
||||
description: 'Branch to extract from'
|
||||
type: string
|
||||
pipeline_type:
|
||||
description: 'Pipeline type'
|
||||
required: true
|
||||
default: 'push'
|
||||
type: choice
|
||||
options:
|
||||
- push
|
||||
- schedule
|
||||
|
||||
jobs:
|
||||
prepare:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
LLVM_VERSION: ${{steps.get-parameters.outputs.LLVM_VERSION}}
|
||||
steps:
|
||||
- name: Download build parameters
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
workflow: build.yml
|
||||
workflow_conclusion: success
|
||||
commit: ${{inputs.commit}}
|
||||
branch: ${{inputs.branch}}
|
||||
event: ${{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]
|
||||
runs-on: windows-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
arch:
|
||||
- x86_64
|
||||
- i686
|
||||
steps:
|
||||
- name: Download toolchain
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
workflow: build.yml
|
||||
workflow_conclusion: success
|
||||
commit: ${{inputs.commit}}
|
||||
branch: ${{inputs.branch}}
|
||||
event: ${{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@v3
|
||||
- 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=clang `
|
||||
-DCMAKE_CXX_COMPILER=clang++ `
|
||||
-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=1;TEST_IS_EXECUTED_IN_A_SLOW_ENVIRONMENT" `
|
||||
-DLLVM_LIT_ARGS="-v --time-tests"
|
||||
ninja
|
||||
ninja check-cxx check-cxxabi check-unwind
|
||||
Reference in new issue
Block a user