From feaa65114fd289550170fedb55c88a362136fa56 Mon Sep 17 00:00:00 2001 From: Junru Shao Date: Sun, 17 Sep 2023 11:55:27 -0700 Subject: [PATCH] [CI] Add GitHub Action to Trigger Jenkins --- .github/workflows/github-command-test.yml | 54 +++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/github-command-test.yml diff --git a/.github/workflows/github-command-test.yml b/.github/workflows/github-command-test.yml new file mode 100644 index 0000000000..b01f6db939 --- /dev/null +++ b/.github/workflows/github-command-test.yml @@ -0,0 +1,54 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +name: GitHub Command - \test + +on: + issue_comment: + types: [created] + +jobs: + run_command: + if: github.event.issue.pull_request && contains(github.event.comment.body, '\test') + runs-on: ubuntu-latest + steps: + - name: Get PR branch + uses: xt0rted/pull-request-comment-branch@v2 + id: comment-branch + - name: Set latest commit status as pending + uses: myrotvorets/set-commit-status-action@master + with: + sha: ${{ steps.comment-branch.outputs.head_sha }} + token: ${{ secrets.GITHUB_TOKEN }} + status: pending + - name: Checkout PR branch + uses: actions/checkout@v3 + - name: Trigger + env: + JENKINS_USER: junrushao + JENKINS_TOKEN: ${{ secrets.JENKINS_TOKEN }} + JENKINS_JOB: https://ci.mlc.ai/job/mlc/job/PR-${{ github.event.issue.number }} + run: | + set -euxo pipefail + BUILD_NUMBER=$(curl --fail -s -X GET $JENKINS_JOB/lastBuild/buildNumber) + curl --fail -X POST -u $JENKINS_USER:$JENKINS_TOKEN $JENKINS_JOB/$BUILD_NUMBER/input/1/proceedEmpty + - name: Set latest commit status as ${{ job.status }} + uses: myrotvorets/set-commit-status-action@master + if: always() + with: + sha: ${{ steps.comment-branch.outputs.head_sha }} + token: ${{ secrets.GITHUB_TOKEN }} + status: ${{ job.status }}