Skip to content

Pre Release

Pre Release #7

Workflow file for this run

#
# Copyright (c) 2024, Trail of Bits, Inc.
# All rights reserved.
#
# This source code is licensed in accordance with the terms specified in
# the LICENSE file found in the root directory of this source tree.
#
name: "Pre Release"
on:
workflow_run:
workflows: ["Build"]
types:
- completed
branches:
- "main"
permissions: write-all
jobs:
build:
strategy:
matrix:
llvm-version: [18]
image-version: [22.04]
name: "Pre Release"
runs-on: ubuntu-${{ matrix.image-version }}
if: ${{ github.event.workflow_run.conclusion == 'success' }}
timeout-minutes: 60
container:
image:
ghcr.io/lifting-bits/patchestry-ubuntu-${{ matrix.image-version }}-llvm-${{ matrix.llvm-version }}-dev:latest
env:
CMAKE_PREFIX_PATH: "/usr/lib/llvm-${{ matrix.llvm-version }}/lib/cmake/mlir/;/usr/lib/llvm-${{ matrix.llvm-version }}/lib/cmake/clang/"
TOOLCHAIN: ${{ github.workspace }}/cmake/lld.toolchain.cmake
LLVM_EXTERNAL_LIT: "/usr/local/bin/lit"
steps:
- name: Clone the Patchestry repository
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 1
- name: Configure build
run: cmake --preset ci
- name: Build release
run: cmake --build --preset ci-release -j $(nproc)
- name: Package
run: cpack --preset ci
- name: Upload Patchestry build artifact
uses: actions/upload-artifact@v4
with:
name: Patchestry
path: ./builds/ci/package/*
retention-days: 1
- name: Publish Pre-Release
uses: softprops/action-gh-release@v1
with:
tag_name: "latest"
prerelease: true
generate_release_notes: true
files: |
./LICENSE
./builds/ci/package/*
build_doc:
strategy:
matrix:
llvm-version: [18]
image-version: [22.04]
name: "Build Patchestry doc"
runs-on: ubuntu-${{ matrix.image-version }}
timeout-minutes: 60
container:
image:
ghcr.io/lifting-bits/patchestry-ubuntu-${{ matrix.image-version }}-llvm-${{ matrix.llvm-version }}-dev:latest
env:
CMAKE_PREFIX_PATH: "/usr/lib/llvm-${{ matrix.llvm-version }}/lib/cmake/mlir/;/usr/lib/llvm-${{ matrix.llvm-version }}/lib/cmake/clang/"
TOOLCHAIN: ${{ github.workspace }}/cmake/lld.toolchain.cmake
LLVM_EXTERNAL_LIT: "/usr/local/bin/lit"
steps:
- name: Clone the Patchestry repository
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 1
- name: Configure build
run: cmake --preset ci
- name: Build Patchestry Doc
run: cmake --build --preset ci-release --target mlir-doc
- name: Build Pages
run: |
sh ./www/setup.sh _site ./builds/ci/
- name: Deploy docs
uses: mhausenblas/mkdocs-deploy-gh-pages@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CONFIG_FILE: _site/mkdocs.yml