# 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 run') || startsWith(github.event.comment.body, '/bot skip --comment') || startsWith(github.event.comment.body, '/bot reuse-pipeline') || startsWith(github.event.comment.body, '/bot kill')) && contains( fromJson('[ "2ez4bz", "a-mccarthy", "aalanwyr", "achartier", "ajrasane", "alexmsettle", "ameynaik-hub", "amirkl94", "amitz-nv", "amukkara", "anish-shanbhag", "arekay", "arysef", "atrifex", "Autumn1998", "baize97", "barneuman", "barry-delaney", "bashimao", "BatshevaBlack", "benzh-2025", "BestJuly", "binghanc", "bmarimuthu-nv", "bo-nv", "bobboli", "Boreas618", "brb-nv", "byshiue", "CarstyYou", "cascade812", "chang-l", "chenfeiz0326", "cherichy", "cheshirekow", "ChristinaZ", "chuangz0", "chzblych", "cjluo-nv", "crazydemo", "DanBlanaru", "danielafrimi", "davidclark-nv", "davidmlw", "dbari", "dc3671", "dcampora", "dcaox", "dhansen-nvidia", "Dido0o0", "djns99", "DomBrown", "dominicshanshan", "dongfengy", "dongjiyingdjy", "dongxuy04", "DylanChen-NV", "ebarilanM", "elvischenv", "EmmaQiaoCh", "eopXD", "evezhier", "faradawn", "farazkh80", "flin3500", "FrankD412", "fredricz-20070104", "Fridah-nv", "funatiq", "fzmu727", "galagam", "GalSha", "georgeliu95", "govind-ramnarayan", "greg-kwasniewski1", "guangyunh-nv", "h-guo18", "hchings", "hello-11", "heyuhhh", "hijkzzz", "hlu1", "hnover-nv", "HuiGao-NV", "hvagadia", "hypdeb", "hyukn", "inocsin", "ISEEKYAN", "ixlmar", "IzzyPutterman", "Jackch-NV", "JadoTu", "jaedeok-nvidia", "jdemouth-nvidia", "JennyLiu-nv", "jershi425", "jgangani", "jhaotingc", "jiaganc", "jiahanc", "Jie-Fang", "jiefangz-nv", "jieli-matrix", "JintaoPengCS", "jinyangyuan-nvidia", "jinzh-nvidia", "jmydurant", "johncalesp", "joyang-nv", "jthomson04", "juney-nvidia", "JunyiXu-nv", "JyChang012", "kaiyux", "kanghui0204", "karljang", "karthikvetrivel", "katec846", "Kefeng-Duan", "KingsleyLiu-NV", "kris1025", "kunlunl", "kxdc", "kyleliang-nv", "laikhtewari", "lancelly", "LarryXFly", "latency1024", "leslie-fang25", "lfr-0531", "liji-nv", "limin2021", "linda-stadter", "lingjiew", "lirundong", "LinPoly", "litaotju", "liyuhannnnn", "lkomali", "longlee0622", "lowsfer", "lucaslie", "lucifer1004", "luyiyun1021", "marinayanov", "MartinMarciniszyn", "MatthiasKohl", "mayani-nv", "meenchen", "mikeiovine", "milesial", "MinaHuai", "ming-wei", "mk-nvidia", "mlefeb01", "moraxu", "MrGeva", "mzweilz", "Naveassaf", "nekorobov", "netanel-haber", "niukuo", "Njuapp", "nv-guomingz", "nv-lschneider", "nv-yilinf", "nv-yna", "nvamyt", "nvbrantz", "nvchenghaoz", "NVGaryJi", "nvjullin", "nvpohanh", "nvrohanv", "NVShreyas", "nvxuanyuc", "nvyocox", "nvzhihanj", "nvzhou", "nzmora-nvidia", "omera-nv", "pamelap-nvidia", "pcastonguay", "pcicotti", "pdrake-nv", "peaceh-nv", "pengbowang-nv", "PerkzZheng", "poweiw", "qiangxu1996", "qiaoxj07", "QiJune", "qixiang-99", "qsang-nv", "raayandhar", "rabiel", "rakib-hasan", "RayenTian", "raymochen", "reasonsolo", "richardhuo-nv", "RoeyAzran1992", "roikoren755", "rosenrodt", "rosong11", "ruodil", "ruoqianguo", "rzilberstein-nvidia", "samuellees", "schetlur-nv", "shaharmor98", "shangz-ai", "sherry-1001", "shifangx", "Shixiaowei02", "Shunkangz", "shuyixiong", "shyeh25", "SimengLiu-nv", "sklevtsov-nvidia", "StanleySun639", "stnie", "StudyingShao", "sugunav14", "sunnyqgg", "Superjomn", "suyoggupta", "sychen52", "symphonylyh", "syuoni", "Tabrizian", "talorabr", "taylor-yb-lee", "tburt-nv", "tcherckez-nvidia", "thorjohnsen", "tiffany940107", "tijyojwad", "timlee0212", "timothygao8710", "Tom-Zheng", "tomeras91", "tongyuantongyu", "Tracin", "tshmilnvidia", "ttyio", "uchihatmtkinu", "v-shobhit", "vadiklyutiy", "vallis-neria", "vanshilshah97", "vegaluisjose", "venkywonka", "viraatc", "Wanli-Jiang", "WeiHaocheng", "weireweire", "wenmingw", "wili-65535", "wm2012011492", "Wong4j", "wu6u3tw", "wyw1267", "xavier-nvidia", "xiaoweiw-nv", "xinhe-nv", "xmchen1987", "xuanzic", "xueweilnvidia", "xupinjie", "xuwchen", "xxi-nv", "yali-arch", "yechank-nvidia", "yibinl-nvidia", "yifeizhang-c", "yihwang-nv", "yijingl-nvidia", "yilin-void", "yingcanw", "yingguo-trt", "yiqingy0", "yizhang-nv", "yuanjings-nvda", "yuanjingx87", "yuantailing", "Yuening-wa", "yufeiwu-nv", "yuhengxnv", "yuhsuan-t", "yuki-666", "yumin066", "yunruis", "yuxianq", "yweng0828", "zackyoray", "zbpatel", "zeroepoch", "zerollzeng", "zhanga5", "zhangcl", "ZhanruiSunCh", "zhengd-nv", "zhenhuaw-me", "zheyuf", "zhhuang-nv", "zhou-yuxin", "zhuolingwang", "zhuoyao1012", "zihaok", "ziyixiong-nv", "zongfeijing" ]'), 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 }}