Revert "[runtimes] Add missing test dependencies to check-all (#72955)" #29
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release Binaries | |
on: | |
push: | |
tags: | |
- 'llvmorg-*' | |
workflow_dispatch: | |
inputs: | |
upload: | |
description: 'Upload binaries to the release page' | |
required: true | |
default: true | |
type: boolean | |
tag: | |
description: 'Tag to build' | |
required: true | |
type: string | |
permissions: | |
contents: read # Default everything to read-only | |
jobs: | |
prepare: | |
name: Prepare to build binaries | |
runs-on: ubuntu-22.04 | |
if: github.repository == 'llvm/llvm-project' | |
outputs: | |
release-version: ${{ steps.validate-tag.outputs.release-version }} | |
release: ${{ steps.validate-tag.outputs.release }} | |
build-dir: ${{ steps.validate-tag.outputs.build-dir }} | |
rc-flags: ${{ steps.validate-tag.outputs.rc-flags }} | |
ref: ${{ steps.validate-tag.outputs.ref }} | |
upload: ${{ steps.validate-tag.outputs.upload }} | |
steps: | |
- name: Checkout LLVM | |
uses: actions/checkout@v3 | |
- name: Validate and parse tag | |
id: validate-tag | |
# In order for the test-release.sh script to run correctly, the LLVM | |
# source needs to be at the following location relative to the build dir: | |
# | X.Y.Z-rcN | ./rcN/llvm-project | |
# | X.Y.Z | ./final/llvm-project | |
# | |
# We also need to set divergent flags based on the release version: | |
# | X.Y.Z-rcN | -rc N -test-asserts | |
# | X.Y.Z | -final | |
run: | | |
tag="${{ github.ref_name }}" | |
trimmed=`echo ${{ inputs.tag }} | xargs` | |
[[ "$trimmed" != "" ]] && tag="$trimmed" | |
if [ -n "${{ inputs.upload }}" ]; then | |
upload="${{ inputs.upload }}" | |
else | |
upload="true" | |
fi | |
bash .github/workflows/set-release-binary-outputs.sh "${{ github.actor }}" "$tag" "$upload" | |
# Try to get around the 6 hour timeout by first running a job to fill | |
# the build cache. | |
fill-cache: | |
name: "Fill Cache ${{ matrix.os }}" | |
needs: prepare | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: | |
- ubuntu-22.04 | |
steps: | |
- name: Checkout LLVM | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ inputs.tag || github.ref_name }} | |
- name: Install Ninja | |
uses: llvm/actions/install-ninja@main | |
- name: Setup sccache | |
uses: hendrikmuhs/ccache-action@v1 | |
with: | |
max-size: 250M | |
key: sccache-${{ matrix.os }}-release | |
variant: sccache | |
- name: Build Clang | |
run: | | |
cmake -G Ninja -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DCMAKE_BUILD_TYPE=Release -DCMAKE_ENABLE_ASSERTIONS=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DLLVM_ENABLE_PROJECTS=clang -S llvm -B build | |
ninja -v -C build | |
build-binaries: | |
name: ${{ matrix.target.triple }} | |
permissions: | |
contents: write # To upload assets to release. | |
needs: | |
- prepare | |
- fill-cache | |
runs-on: ${{ matrix.target.runs-on }} | |
strategy: | |
fail-fast: false | |
matrix: | |
target: | |
- triple: x86_64-linux-gnu-ubuntu-22.04 | |
os: ubuntu-22.04 | |
runs-on: ubuntu-22.04-16x64 | |
debian-build-deps: > | |
chrpath | |
gcc-multilib | |
ninja-build | |
steps: | |
- name: Checkout LLVM | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ needs.prepare.outputs.ref }} | |
path: ${{ needs.prepare.outputs.build-dir }}/llvm-project | |
- name: Setup sccache | |
uses: hendrikmuhs/ccache-action@v1 | |
with: | |
max-size: 250M | |
key: sccache-${{ matrix.target.os }}-release | |
save: false | |
variant: sccache | |
- name: Install Brew build dependencies | |
if: matrix.target.brew-build-deps != '' | |
run: brew install ${{ matrix.target.brew-build-deps }} | |
- name: Install Debian build dependencies | |
if: matrix.target.debian-build-deps != '' | |
run: sudo apt install ${{ matrix.target.debian-build-deps }} | |
- name: Set macOS build env variables | |
if: runner.os == 'macOS' | |
run: | | |
echo "MACOSX_DEPLOYMENT_TARGET=10.9" >> $GITHUB_ENV | |
- name: Build and test release | |
run: | | |
${{ needs.prepare.outputs.build-dir }}/llvm-project/llvm/utils/release/test-release.sh \ | |
-release ${{ needs.prepare.outputs.release }} \ | |
${{ needs.prepare.outputs.rc-flags }} \ | |
-triple ${{ matrix.target.triple }} \ | |
-use-ninja \ | |
-no-checkout \ | |
-no-test-suite \ | |
-configure-flags "-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache" | |
- name: Upload binaries | |
if: ${{ always() && needs.prepare.outputs.upload == 'true' }} | |
run: | | |
sudo apt install python3-github | |
${{ needs.prepare.outputs.build-dir }}/llvm-project/llvm/utils/release/github-upload-release.py \ | |
--token ${{ github.token }} \ | |
--release ${{ needs.prepare.outputs.release-version }} \ | |
upload \ | |
--files ${{ needs.prepare.outputs.build-dir }}/clang+llvm-${{ needs.prepare.outputs.release-version }}-${{ matrix.target.triple }}.tar.xz |