Skip to content

WIP: LLVM release workflows #12

WIP: LLVM release workflows

WIP: LLVM release workflows #12

Workflow file for this run

name: Release LLVM
on:
workflow_dispatch:
inputs:
version:
description: "version to use in tag name; without the leading 'v', or prefix"
required: false
push:
branches: ["yuri/release-llvm"]
env:
CARGO_TERM_COLOR: always
jobs:
build-macos-gnu:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: install macos deps
run: |
brew install ninja
- name: versions
run: |
rustup show
cargo --version
cmake --version
echo "bash:" && bash --version
echo "ninja:" && ninja --version
echo "clang:" && clang --version
- name: Build LLVM
run: |
make install-llvm
- uses: actions/upload-artifact@v4
with:
name: llvm-macos
path: target-llvm/gnu/target-final
if-no-files-found: error
compression-level: 9
build-linux-all:
runs-on: parity-large
steps:
- uses: actions/checkout@v4
- name: install linux deps
run: |
sudo apt-get update && sudo apt-get install -y cmake ninja-build curl git libssl-dev pkg-config clang lld
- name: Install Rust stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: rust-src
target: wasm32-unknown-emscripten
- name: versions
run: |
rustup show
cargo --version
cmake --version
echo "bash:" && bash --version
echo "ninja:" && ninja --version
echo "clang:" && clang --version
- name: Build host LLVM
run: |
make install-llvm
- name: Build emscripten LLVM
run: |
revive-llvm --target-env emscripten clone
source emsdk/emsdk_env.sh
revive-llvm --target-env emscripten build --llvm-projects lld
- uses: actions/upload-artifact@v4
with:
name: llvm-linux
path: target-llvm/gnu/target-final
if-no-files-found: error
compression-level: 9
- uses: actions/upload-artifact@v4
with:
name: llvm-emscripten
path: target-llvm/emscripten/target-final
if-no-files-found: error
compression-level: 9
build-windows-gnu:
# runs-on: windows-latest
runs-on: lorwyn
env:
MSYSTEM: "MINGW"
steps:
- uses: actions/checkout@v4
- name: install win deps
run: |
choco install ninja
- name: Setup msys2
id: msys2
uses: msys2/setup-msys2@v2
with:
path-type: inherit
install: >-
base-devel
mingw-w64-x86_64-clang
mingw-w64-x86_64-lld
mingw-w64-x86_64-rust
mingw-w64-x86_64-cmake
mingw-w64-x86_64-gcc
mingw-w64-x86_64-gcc-libs
mingw-w64-x86_64-python
mingw-w64-clang-x86_64-riscv64-unknown-elf-toolchain
- name: Prepare env
shell: "msys2 {0}"
run: |
echo "/c/Users/runneradmin/.cargo/bin" >> "${GITHUB_PATH}"
- name: versions
shell: "msys2 {0}"
run: |
rustup show
cargo --version
cmake --version
ninja --version
- name: Build LLVM
shell: "msys2 {0}"
env:
VERBOSE: 1
LIBSTDCPP_SOURCE_PATH: "${{ steps.msys2.outputs.msys2-location }}/mingw64/lib/libstdc++.a"
run: |
make install-llvm
- uses: actions/upload-artifact@v4
with:
name: llvm-windows
path: target-llvm/gnu/target-final
if-no-files-found: error
compression-level: 9