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 - 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-*-*.*