Skip to content

Build LLVM

Build LLVM #35

Workflow file for this run

name: "Build LLVM"
on:
workflow_dispatch:
inputs:
tag:
description: 'Git tag for the release.'
required: true
type: string
jobs:
build_llvm:
name: Build LLVM
strategy:
matrix:
# os: [ubuntu-20.04, macos-11, windows-2019]
# os: [ubuntu-20.04, macos-11]
os: [macos-11]
runs-on: ${{ matrix.os }}
# container:
# # Intentionally old ubuntu version with old glibc.
# image: ubuntu:18.04
steps:
- name: checkout
uses: actions/checkout@v3
# Install build dependencies.
# - if: contains(matrix.os, 'ubuntu')
# run: |
# apt update && apt install -y clang git wget build-essential python3 unzip
# # cmake from package manager is to old for the LLVM build.
# wget https://github.com/Kitware/CMake/releases/download/v3.30.0-rc2/cmake-3.30.0-rc2-linux-x86_64.sh
# chmod +x cmake-*.sh
# ./cmake-*.sh --skip-license --prefix=/usr
# # ninja from the package manager is to old for the LLVM build.
# wget https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-linux.zip
# unzip ninja-linux.zip -d /usr/bin/
# Build and package LLVM.
- run: "./build-llvm-libs.sh llvm-static-libs-${{ matrix.os }}.tar.gz"
- uses: actions/upload-artifact@v4
with:
name: llvm-static-libs-${{ matrix.os }}
path: llvm-static-libs-${{ matrix.os }}.tar.gz
create_release:
name: Create release
runs-on: ubuntu-latest
needs: [build_llvm]
permissions:
contents: write # for creating releases
steps:
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
pattern: llvm-static-libs-*
merge-multiple: true
- name: Create Release
uses: softprops/action-gh-release@v2
with:
name: LLVM tooling libraries ${{ inputs.tag }}
tag_name: ${{ inputs.tag }}
files: llvm-static-libs-*
fail_on_unmatched_files: true