xref: /netbsd-src/external/apache2/llvm/dist/libcxx/utils/ci/buildkite-pipeline-premerge.sh (revision 4d6fc14bc9b0c5bf3e30be318c143ee82cadd108)
1*4d6fc14bSjoerg#!/usr/bin/env bash
2*4d6fc14bSjoerg#===----------------------------------------------------------------------===##
3*4d6fc14bSjoerg#
4*4d6fc14bSjoerg# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5*4d6fc14bSjoerg# See https://llvm.org/LICENSE.txt for license information.
6*4d6fc14bSjoerg# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7*4d6fc14bSjoerg#
8*4d6fc14bSjoerg#===----------------------------------------------------------------------===##
9*4d6fc14bSjoerg
10*4d6fc14bSjoerg#
11*4d6fc14bSjoerg# This file generates a Buildkite pipeline that triggers the libc++ CI
12*4d6fc14bSjoerg# job(s) if needed.
13*4d6fc14bSjoerg# See https://buildkite.com/docs/agent/v3/cli-pipeline#pipeline-format.
14*4d6fc14bSjoerg#
15*4d6fc14bSjoerg# Invoked by CI on pre-merge check for a commit.
16*4d6fc14bSjoerg#
17*4d6fc14bSjoerg
18*4d6fc14bSjoergDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
19*4d6fc14bSjoerg
20*4d6fc14bSjoergif ! git diff --name-only HEAD~1 | grep -q -E "libcxx/|libcxxabi/"; then
21*4d6fc14bSjoerg  # libcxx is not affected
22*4d6fc14bSjoerg  exit 0
23*4d6fc14bSjoergfi
24*4d6fc14bSjoerg
25*4d6fc14bSjoergreviewID="$(git log --format=%B -n 1 | sed -nE 's/^Review-ID:[[:space:]]*(.+)$/\1/p')"
26*4d6fc14bSjoergif [[ "${reviewID}" != "" ]]; then
27*4d6fc14bSjoerg  buildMessage="https://llvm.org/${reviewID}"
28*4d6fc14bSjoergelse
29*4d6fc14bSjoerg  buildMessage="Push to branch ${BUILDKITE_BRANCH}"
30*4d6fc14bSjoergfi
31*4d6fc14bSjoerg
32*4d6fc14bSjoerg
33*4d6fc14bSjoergcat <<EOF
34*4d6fc14bSjoergsteps:
35*4d6fc14bSjoerg  - trigger: "libcxx-ci"
36*4d6fc14bSjoerg    build:
37*4d6fc14bSjoerg      message: "${buildMessage}"
38*4d6fc14bSjoerg      commit: "${BUILDKITE_COMMIT}"
39*4d6fc14bSjoerg      branch: "${BUILDKITE_BRANCH}"
40*4d6fc14bSjoergEOF
41*4d6fc14bSjoerg
42*4d6fc14bSjoerg
43