mirror of
https://github.com/NVIDIA/TensorRT-LLM.git
synced 2026-01-14 06:27:45 +08:00
update github workflow
This commit is contained in:
parent
9b931c0f63
commit
aa1c52fa26
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 }}
|
||||||
63
.github/workflows/l0-test.yml
vendored
63
.github/workflows/l0-test.yml
vendored
@ -16,8 +16,6 @@
|
|||||||
# A workflow to trigger ci on hybrid infra (github + self hosted runner)
|
# A workflow to trigger ci on hybrid infra (github + self hosted runner)
|
||||||
name: L0-Test
|
name: L0-Test
|
||||||
on:
|
on:
|
||||||
issue_comment:
|
|
||||||
types: [created]
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
sha:
|
sha:
|
||||||
@ -30,53 +28,30 @@ on:
|
|||||||
description: 'test results url'
|
description: 'test results url'
|
||||||
required: true
|
required: true
|
||||||
jobs:
|
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 -X POST \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-d @githubData.json \
|
|
||||||
"$JENKINS_URL/generic-webhook-trigger/invoke?token=$TOKEN"
|
|
||||||
|
|
||||||
Upload-Test:
|
Upload-Test:
|
||||||
name: Upload test results
|
name: Upload test results
|
||||||
runs-on: linux-amd64-cpu4
|
runs-on: linux-amd64-cpu4
|
||||||
if: github.event_name == 'workflow_dispatch'
|
if: github.event_name == 'workflow_dispatch'
|
||||||
steps:
|
steps:
|
||||||
|
- name: Update commit status
|
||||||
|
uses: actions/github-script@v6
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
state = 'pending'
|
||||||
|
description = 'collecting test results'
|
||||||
|
if ('${{ github.event.inputs.test_result }}' == 'success') {
|
||||||
|
state = 'success'
|
||||||
|
description = 'test passed, collecting test results'
|
||||||
|
}
|
||||||
|
github.rest.repos.createCommitStatus({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
context: 'blossom-ci',
|
||||||
|
sha: '${{ github.event.inputs.sha }}',
|
||||||
|
target_url: 'https://github.com/NVIDIA/TensorRT-LLM/actions/runs/' + context.runId,
|
||||||
|
state: state,
|
||||||
|
description: description,
|
||||||
|
})
|
||||||
- name: Collect test result
|
- name: Collect test result
|
||||||
run: rm -rf results && mkdir results && cd results && curl --user svc_tensorrt:${{ secrets.ARTIFACTORY_TOKEN }} -L ${{ github.event.inputs.test_results_url }} | tar -xz
|
run: rm -rf results && mkdir results && cd results && curl --user svc_tensorrt:${{ secrets.ARTIFACTORY_TOKEN }} -L ${{ github.event.inputs.test_results_url }} | tar -xz
|
||||||
- name: Create test summary
|
- name: Create test summary
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user