mirror of
https://github.com/NVIDIA/TensorRT-LLM.git
synced 2026-01-13 22:18:36 +08:00
update github workflow (#2943)
cherry-picks aa1c52f
Signed-off-by: Tyler Burt <195370667+tburt-nv@users.noreply.github.com>
This commit is contained in:
parent
3aa6b11d13
commit
c2ac9e6269
93
.github/workflows/blossom-ci.yml
vendored
Normal file
93
.github/workflows/blossom-ci.yml
vendored
Normal file
@ -0,0 +1,93 @@
|
||||
# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
# Licensed 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.
|
||||
|
||||
# A workflow to trigger ci on hybrid infra (github + self hosted runner)
|
||||
name: Blossom-CI
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
platform:
|
||||
description: 'runs-on argument'
|
||||
required: false
|
||||
args:
|
||||
description: 'argument'
|
||||
required: false
|
||||
jobs:
|
||||
Authorization:
|
||||
name: Authorization
|
||||
runs-on: blossom
|
||||
outputs:
|
||||
args: ${{ env.args }}
|
||||
|
||||
# This job only runs for pull request comments
|
||||
if: |
|
||||
startsWith( github.event.comment.body, '/bot' ) && contains(
|
||||
fromJson('["byshiue","chuangz0","funatiq","hypdeb","jdemouth-nvidia","joyang-nv","lowsfer","Tabrizian","yweng0828","Shixiaowei02","MartinMarciniszyn","schetlur-nv","dcampora","pcastonguay","Naveassaf","lfr-0531","nekorobov","PerkzZheng","kaiyux","nv-guomingz","LinPoly","thorjohnsen","jiahanc","latency1024","tburt-nv","zeroepoch","chzblych","niukuo","ZhanruiSunCh","EmmaQiaoCh","yiqingy0","achartier","suyoggupta","amukkara","mk-nvidia","QiJune","lucaslie","davidmlw","hlu1","nvzhou","syuoni","NVGaryJi","symphonylyh","hello-11","zongfeijing","Jackch-NV","jinyangyuan-nvidia","LarryXFly","crazydemo","jaedeok-nvidia","wm2012011492","rosenrodt","zhuoyao1012","xinhe-nv","Yuening-wa","Shunkangz","zhengd-nv","yibinl-nvidia","StanleySun639","KingsleyLiu-NV","kxdc","yingcanw","BestJuly","ChristinaZ","bobboli","xueweilnvidia","kunlunl","cherichy","lucifer1004","Autumn1998","litaotju","peaceh-nv","liji-nv","SimengLiu-nv","yuxianq","yechank-nvidia","vallis-neria","DylanChen-NV","Tracin","zhhuang-nv","ISEEKYAN","xupinjie","tongyuantongyu","laikhtewari","zhuolingwang","dominicshanshan","jershi425","shifangx","StudyingShao","Superjomn","dongjiyingdjy","guangyunh-nv","wili-65535","tiffany940107","DanBlanaru","mikeiovine","djns99","ruodil","xiaoweiw-nv","xuwchen","bashimao","yizhang-nv","hyukn","nvpohanh","yuki-666","juney-nvidia","barry-delaney","Kefeng-Duan","MinaHuai","yilin-void","jtchen0528","jmydurant","katec846","CarstyYou","Njuapp","Jie-Fang","nvbrantz","inocsin","ruoqianguo","chenfeiz0326","ming-wei","eopXD","longlee0622","dongfengy","georgeliu95","evezhier","rakib-hasan","shangz-ai","JyChang012","wangsiping1997","yuanjings-nvda","tomeras91","roikoren755","amirkl94","shaharmor98","danielafrimi","amitz-nv","hijkzzz","rzilberstein-nvidia","dc3671","hchings","yuhengxnv","dongxuy04","qiaoxj07","omera-nv"]'),
|
||||
github.actor)
|
||||
steps:
|
||||
- name: Check if comment is issued by authorized person
|
||||
run: blossom-ci
|
||||
env:
|
||||
OPERATION: 'AUTH'
|
||||
REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
REPO_KEY_DATA: ${{ secrets.BLOSSOM_KEY }}
|
||||
|
||||
Vulnerability-scan:
|
||||
name: Vulnerability scan
|
||||
needs: [Authorization]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: ${{ fromJson(needs.Authorization.outputs.args).repo }}
|
||||
ref: ${{ fromJson(needs.Authorization.outputs.args).ref }}
|
||||
lfs: 'true'
|
||||
|
||||
- name: Run blossom action
|
||||
uses: NVIDIA/blossom-action@main
|
||||
env:
|
||||
REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
REPO_KEY_DATA: ${{ secrets.BLOSSOM_KEY }}
|
||||
with:
|
||||
args1: ${{ fromJson(needs.Authorization.outputs.args).args1 }}
|
||||
args2: ${{ fromJson(needs.Authorization.outputs.args).args2 }}
|
||||
args3: ${{ fromJson(needs.Authorization.outputs.args).args3 }}
|
||||
|
||||
Job-trigger:
|
||||
name: Start ci job
|
||||
needs: [Vulnerability-scan]
|
||||
runs-on: blossom
|
||||
steps:
|
||||
- name: Start ci job
|
||||
run: blossom-ci
|
||||
env:
|
||||
OPERATION: 'START-CI-JOB'
|
||||
CI_SERVER: ${{ secrets.CI_SERVER }}
|
||||
REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
Upload-Log:
|
||||
name: Upload log
|
||||
runs-on: blossom
|
||||
if : github.event_name == 'workflow_dispatch'
|
||||
steps:
|
||||
- name: Jenkins log for pull request ${{ fromJson(github.event.inputs.args).pr }} (click here)
|
||||
run: blossom-ci
|
||||
env:
|
||||
OPERATION: 'POST-PROCESSING'
|
||||
CI_SERVER: ${{ secrets.CI_SERVER }}
|
||||
REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
46
.github/workflows/l0-test.yml
vendored
46
.github/workflows/l0-test.yml
vendored
@ -16,8 +16,6 @@
|
||||
# A workflow to trigger ci on hybrid infra (github + self hosted runner)
|
||||
name: L0-Test
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
sha:
|
||||
@ -30,48 +28,6 @@ on:
|
||||
description: 'test results url'
|
||||
required: true
|
||||
jobs:
|
||||
Authorization:
|
||||
runs-on: ubuntu-latest
|
||||
name: Authorization
|
||||
if: startsWith( github.event.comment.body, '/bot' )
|
||||
steps:
|
||||
- name: Check Team Membership
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
github-token: ${{ secrets.CI_TEAM_TOKEN }}
|
||||
script: |
|
||||
try {
|
||||
const { data: membership } = await github.rest.teams.getMembershipForUserInOrg({
|
||||
org: context.repo.owner,
|
||||
team_slug: 'trt-llm-ci-approvers',
|
||||
username: context.actor,
|
||||
});
|
||||
if (membership.state != 'active') {
|
||||
core.setFailed('only member in [trt-llm-ci-approvers] can run', membership)
|
||||
}
|
||||
} catch (error) {
|
||||
console.log('check membership failed:', error);
|
||||
core.setFailed('only member in [trt-llm-ci-approvers] can run')
|
||||
}
|
||||
|
||||
Job-trigger:
|
||||
name: Start ci job
|
||||
needs: [Authorization]
|
||||
runs-on: [self-hosted, Linux, Jenkins]
|
||||
steps:
|
||||
- name: Start ci job
|
||||
run: |
|
||||
CI_SERVER="${{ secrets.CI_SERVER }}"
|
||||
JENKINS_URL=$(echo "$CI_SERVER" | cut -d '@' -f 1)
|
||||
TOKEN=$(echo "$CI_SERVER" | cut -d '@' -f 2)
|
||||
|
||||
echo '${{ toJson(github.event) }}' > githubData.json
|
||||
|
||||
curl -s --fail-with-body -X POST \
|
||||
-H "Content-Type: application/json" \
|
||||
-d @githubData.json \
|
||||
"$JENKINS_URL/generic-webhook-trigger/invoke?token=$TOKEN"
|
||||
|
||||
Upload-Test:
|
||||
name: Upload test results
|
||||
runs-on: linux-amd64-cpu4
|
||||
@ -83,7 +39,7 @@ jobs:
|
||||
script: |
|
||||
state = 'pending'
|
||||
description = 'collecting test results'
|
||||
if ('${{ github.event.inputs.test_result }}' == 'SUCCESS') {
|
||||
if ('${{ github.event.inputs.test_result }}' == 'success') {
|
||||
state = 'success'
|
||||
description = 'test passed, collecting test results'
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user