mirror of https://github.com/mono/CppSharp.git
c-sharpdotnetmonobindingsbridgecclangcpluspluscppsharpglueinteropparserparsingpinvokeswigsyntax-treevisitorsxamarinxamarin-bindings
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.7 KiB
76 lines
2.7 KiB
name: LLVM |
|
|
|
on: |
|
workflow_dispatch: |
|
|
|
jobs: |
|
build: |
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
os: [ubuntu-22.04, macos-13] |
|
platform: [x64, arm64] |
|
build-cfg: [Debug, DebugOpt, Release] |
|
|
|
runs-on: ${{ matrix.os }} |
|
|
|
env: |
|
CC: ${{ startsWith(matrix.os, 'ubuntu') && 'gcc-11' || 'clang' }} |
|
CXX: ${{ startsWith(matrix.os, 'ubuntu') && 'g++-11' || 'clang++' }} |
|
PLATFORM: ${{ matrix.platform }} |
|
BUILD_CONFIGURATION: ${{ matrix.build-cfg }} |
|
ACTIONS_ALLOW_UNSECURE_COMMANDS: true |
|
|
|
steps: |
|
- uses: actions/checkout@v4 |
|
- uses: lukka/get-cmake@latest |
|
|
|
- run: df -h |
|
|
|
- name: Free Disk Space |
|
if: startsWith(matrix.os, 'ubuntu') |
|
uses: endersonmenezes/free-disk-space@v2 |
|
with: |
|
remove_android: true |
|
remove_dotnet: true |
|
remove_haskell: true |
|
remove_tool_cache: true |
|
remove_swap: true |
|
remove_packages: "azure-cli google-cloud-cli microsoft-edge-stable google-chrome-stable firefox postgresql* temurin-* *llvm* mysql* dotnet-sdk-*" |
|
remove_packages_one_command: true |
|
remove_folders: "/usr/share/swift /usr/share/miniconda /usr/share/az* /usr/local/lib/node_modules /usr/local/share/chromium /usr/local/share/powershell /usr/local/julia /usr/local/aws-cli /usr/local/aws-sam-cli /usr/share/gradle" |
|
testing: false |
|
|
|
- name: Free Disk Space |
|
if: startsWith(matrix.os, 'macos') |
|
run: | |
|
sudo rm -rf /Library/Frameworks/Mono.framework |
|
sudo rm -rf /Library/Frameworks/Xamarin.iOS.framework |
|
sudo rm -rf /Library/Frameworks/Xamarin.Android.framework |
|
sudo rm -rf /Users/runner/Library/Android |
|
sudo rm -rf /usr/local/share/powershell |
|
sudo find /Applications -type d -name "Xcode_*.app" ! -name "Xcode_$XCODE_VERSION.app" -prune -exec rm -rf "{}" \; |
|
- run: df -h |
|
|
|
- name: Install cross compilers |
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.platform, 'arm64') |
|
run: sudo apt install -y g++-aarch64-linux-gnu gcc-aarch64-linux-gnu |
|
|
|
- name: Clone LLVM |
|
shell: bash |
|
run: build/build.sh clone_llvm |
|
|
|
- name: Build LLVM |
|
shell: bash |
|
run: build/build.sh build_llvm -platform $PLATFORM -configuration $BUILD_CONFIGURATION |
|
|
|
- name: Package LLVM |
|
shell: bash |
|
run: build/build.sh package_llvm -platform $PLATFORM -configuration $BUILD_CONFIGURATION |
|
|
|
- name: 'Upload Artifact' |
|
uses: actions/upload-artifact@v4 |
|
with: |
|
name: llvm-${{ matrix.os }}-${{ matrix.platform }}-${{ matrix.build-cfg }} |
|
overwrite: true |
|
path: build/llvm/llvm-*-*.*
|
|
|