xref: /openbsd-src/gnu/llvm/libcxx/utils/ci/buildkite-pipeline-premerge.sh (revision 4bdff4bed0e3d54e55670334c7d0077db4170f86)
176d0caaeSpatrick#!/usr/bin/env bash
276d0caaeSpatrick#===----------------------------------------------------------------------===##
376d0caaeSpatrick#
476d0caaeSpatrick# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
576d0caaeSpatrick# See https://llvm.org/LICENSE.txt for license information.
676d0caaeSpatrick# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
776d0caaeSpatrick#
876d0caaeSpatrick#===----------------------------------------------------------------------===##
976d0caaeSpatrick
1076d0caaeSpatrick#
1176d0caaeSpatrick# This file generates a Buildkite pipeline that triggers the libc++ CI
1276d0caaeSpatrick# job(s) if needed.
1376d0caaeSpatrick# See https://buildkite.com/docs/agent/v3/cli-pipeline#pipeline-format.
1476d0caaeSpatrick#
1576d0caaeSpatrick# Invoked by CI on pre-merge check for a commit.
1676d0caaeSpatrick#
1776d0caaeSpatrick
18*4bdff4beSrobertif ! git diff --name-only HEAD~1 | grep -q -E "^libcxx/|^libcxxabi/|^libunwind/|^runtimes/|^cmake/|^clang/"; then
19*4bdff4beSrobert  # libcxx/, libcxxabi/, libunwind/, runtimes/, cmake/ or clang/ are not affected
2076d0caaeSpatrick  exit 0
2176d0caaeSpatrickfi
2276d0caaeSpatrick
2376d0caaeSpatrickreviewID="$(git log --format=%B -n 1 | sed -nE 's/^Review-ID:[[:space:]]*(.+)$/\1/p')"
2476d0caaeSpatrickif [[ "${reviewID}" != "" ]]; then
2576d0caaeSpatrick  buildMessage="https://llvm.org/${reviewID}"
2676d0caaeSpatrickelse
2776d0caaeSpatrick  buildMessage="Push to branch ${BUILDKITE_BRANCH}"
2876d0caaeSpatrickfi
2976d0caaeSpatrick
3076d0caaeSpatrick
3176d0caaeSpatrickcat <<EOF
3276d0caaeSpatricksteps:
3376d0caaeSpatrick  - trigger: "libcxx-ci"
3476d0caaeSpatrick    build:
3576d0caaeSpatrick      message: "${buildMessage}"
3676d0caaeSpatrick      commit: "${BUILDKITE_COMMIT}"
3776d0caaeSpatrick      branch: "${BUILDKITE_BRANCH}"
3876d0caaeSpatrickEOF
39