Skip to content

CI/CD: Adding workflow_dispatch and workflow_call for manual trigger #1519

CI/CD: Adding workflow_dispatch and workflow_call for manual trigger

CI/CD: Adding workflow_dispatch and workflow_call for manual trigger #1519

Workflow file for this run

name: XRT CI
env:
RELEASE: '2021.1'
PIPELINE: 'xrt'
ENV: 'prod'
on:
pull_request_target:
types: [opened, edited, synchronize]
concurrency:
group: ${{ github.event.pull_request.head.repo.full_name }}-${{ github.event.pull_request.head.ref }}
cancel-in-progress: true
jobs:
authorize:
runs-on: Ubuntu-22.04
steps:
- name: Checkout private repository
uses: actions/checkout@v4
with:
repository: actions-int/composite-workflows
github-server-url: ${{ secrets.SERVER_URL }}
token: ${{ secrets.ACCESS_TOKEN }}
path: composite-workflows
ref: main
- name: authorize
uses: ./composite-workflows/authorize
with:
accessToken: ${{ secrets.CI_CLOUD_TOKEN }}
pullRequestUser: ${{ github.event.pull_request.user.login }}
build:
needs: authorize
strategy:
matrix:
include:
- os: centos78
packageType: rpm
- os: centos8
packageType: rpm
# - os: rhel9
# packageType: rpm
- os: ubuntu2004
packageType: deb
- os: ubuntu2204
packageType: deb
- os: amazonlinux-20202011111
packageType: rpm
- os: ubuntu1804
packageType: deb
runs-on: [self-hosted, Ubuntu-22.04]
steps:
- name: Set env variables
run: |
echo "Setting environment variables..."
echo "XRT_VERSION_PATCH=${GITHUB_RUN_NUMBER}" >> $GITHUB_ENV
echo "PATH=/usr/bin:$PATH" >> $GITHUB_ENV
- name: Checkout PR
uses: actions/checkout@v3
with:
repository: "${{ github.event.pull_request.head.repo.full_name }}"
ref: "${{ github.event.pull_request.head.ref }}"
fetch-depth: 0
path: ${{ github.workspace }}/${{ github.run_number }}
submodules: recursive
- name: Checkout private repository
uses: actions/checkout@v3
with:
repository: actions-int/composite-workflows
github-server-url: ${{ secrets.SERVER_URL }}
token: ${{ secrets.ACCESS_TOKEN }}
path: composite-workflows
ref: '2021.1'
- name: XRT build
uses: ./composite-workflows/build
with:
pipeline: ${{ env.PIPELINE }}
osVersion: ${{ matrix.os }}
packageType: ${{ matrix.packageType }}
workspace: ${{ github.workspace }}
buildNumber: ${{ github.run_number }}
accessToken: ${{ secrets.ACCESS_TOKEN }}
github-server-url: ${{ secrets.SERVER_URL }}
appConfig: ${{ secrets.APP_CONFIG }}
appConfig1: ${{ secrets.APP_CONFIG1 }}
appConfig2: ${{ secrets.APP_CONFIG2 }}
appConfig3: ${{ secrets.APP_CONFIG3 }}
released: ${{ secrets.RELEASED }}
# Disabling windows for 2021.branch as per request
# windows-build:
# needs: authorize
# runs-on: Windows
# steps:
# - name: Checkout PR
# uses: actions/checkout@v4
# with:
# repository: "${{ github.event.pull_request.head.repo.full_name }}"
# ref: "${{ github.event.pull_request.head.ref }}"
# fetch-depth: 0
# path: ${{ github.workspace }}/${{ github.run_number }}
# submodules: recursive
# persist-credentials: false
# - name: Checkout private repository
# uses: actions/checkout@v3
# with:
# repository: actions-int/composite-workflows
# github-server-url: ${{ secrets.SERVER_URL }}
# token: ${{ secrets.ACCESS_TOKEN }}
# path: composite-workflows
# ref: main
# - name: XRT windows build
# uses: ./composite-workflows/windows-build
# with:
# workspace: ${{ github.workspace }}/${{ github.run_number }}/build
# buildNumber: ${{ github.run_number }}
# release: ${{ env.RELEASE }}
# accessToken: ${{ secrets.ACCESS_TOKEN }}
# workspaceg: ${{ github.workspace }}
# github-server-url: ${{ secrets.SERVER_URL }}
# build-cmd: "build.bat -release"
# vs-version: "2017"
# apu-package-build:
# needs: authorize
# runs-on: apu
# # runs-on: Ubuntu-20.04
# steps:
# - name: Set env variables
# run: |
# echo "Setting environment variables..."
# echo "XRT_VERSION_PATCH=${GITHUB_RUN_NUMBER}" >> $GITHUB_ENV
# echo "PATH=/usr/bin:$PATH" >> $GITHUB_ENV
# - name: Checkout PR
# uses: actions/checkout@v3
# with:
# repository: "${{ github.event.pull_request.head.repo.full_name }}"
# ref: "${{ github.event.pull_request.head.ref }}"
# fetch-depth: 0
# path: ${{ github.workspace }}/${{ github.run_number }}
# submodules: recursive
# - name: Checkout private repository
# uses: actions/checkout@v3
# with:
# repository: actions-int/composite-workflows
# token: ${{ secrets.ACCESS_TOKEN }}
# github-server-url: ${{ secrets.SERVER_URL }}
# path: composite-workflows
# ref: main
# - name: Apu package build for XRT
# uses: ./composite-workflows/apu-package
# with:
# pipeline: ${{ env.PIPELINE }}
# workspace: ${{ github.workspace }}
# buildNumber: ${{ github.run_number }}
# apuPackage: 'True'
# release: ${{ env.RELEASE }}
# accessToken: ${{ secrets.ACCESS_TOKEN }}
# github-server-url: ${{ secrets.SERVER_URL }}
# appConfig: ${{ secrets.APP_CONFIG }}
# appConfig1: ${{ secrets.APP_CONFIG1 }}
# appConfig2: ${{ secrets.APP_CONFIG2 }}
# appConfig3: ${{ secrets.APP_CONFIG3 }}
# package-download:
# needs: build
# runs-on: [self-hosted, Ubuntu-22.04]
# steps:
# - name: Checkout private repository
# uses: actions/checkout@v3
# with:
# repository: actions-int/composite-workflows
# token: ${{ secrets.ACCESS_TOKEN }}
# github-server-url: ${{ secrets.SERVER_URL }}
# path: composite-workflows
# ref: main
# - name: Use composite action package download
# uses: ./composite-workflows/package-download
# with:
# runNumber: ${{ github.run_number }}
# pipeline: ${{ env.PIPELINE }}
# env: ${{ env.ENV }}
# release: ${{ env.RELEASE }}
# sshKey: ${{ secrets.CI_PRIVATE_SSH_KEY }}
# accessToken: ${{ secrets.ACCESS_TOKEN }}
# NPATH: ${{ secrets.NPATH }}
# USER: ${{ secrets.USER }}
# github-server-url: ${{ secrets.SERVER_URL }}
# extract-platforms:
# needs: package-download
# runs-on: [self-hosted, Ubuntu-22.04]
# steps:
# - name: Checkout extraction Action repository
# uses: actions/checkout@v3
# with:
# repository: actions-int/extraction-action
# ref: 'v0.0.2'
# token: ${{ secrets.ACCESS_TOKEN }}
# github-server-url: ${{ secrets.SERVER_URL }}
# path: ./.github/actions/extraction-action
# - name: Extracting ${{ inputs.boardType }} ${{ inputs.boardMode }} platforms
# uses: ./.github/actions/extraction-action
# id: extract
# with:
# release: ${{ env.RELEASE }}
# env: ${{ env.ENV }}
# pipeline: ${{ env.PIPELINE }}
# boardType: "pcie"
# boardMode: "hw"
# outputs:
# board_list: ${{ steps.extract.outputs.board_list }}
# pcie-hw-tests:
# needs: extract-platforms
# # runs-on: [xrt, trx]
# runs-on: [self-hosted, Ubuntu-22.04]
# strategy:
# matrix:
# board_list: ${{ fromJson(needs.extract-platforms.outputs.board_list) }}
# steps:
# - name: Checkout private repository
# uses: actions/checkout@v3
# with:
# repository: actions-int/composite-workflows
# token: ${{ secrets.ACCESS_TOKEN }}
# github-server-url: ${{ secrets.SERVER_URL }}
# path: composite-workflows
# ref: main
# - name: Use composite action for pcie-hw
# uses: ./composite-workflows/pcie-hw
# with:
# organization: ${{ github.repository }}
# runNumber: ${{ github.run_number }}
# buildNumber: ${{ github.run_number }}_${{ github.run_attempt }}
# release: ${{ env.RELEASE }}
# env: ${{ env.ENV }}
# pipeline: ${{ env.PIPELINE }}
# boardType: "pcie"
# boardState: "gating"
# boardMode: "hw"
# workspace: ${{ github.workspace }}
# USER: ${{ secrets.USER }}
# board: ${{ matrix.board_list }}
# runnerName: ${{ runner.name }}
# accessToken: ${{ secrets.ACCESS_TOKEN }}
# sshKey: ${{ secrets.CI_PRIVATE_SSH_KEY }}
# apiKey: ${{ secrets.apiKey }}
# NPATH: ${{ secrets.NPATH }}
# github-server-url: ${{ secrets.SERVER_URL }}
# pcie-sw-emulation-tests:
# needs: package-download
# runs-on: [self-hosted, Ubuntu-22.04]
# strategy:
# matrix:
# os_list: ['centos_8.1']
# steps:
# - name: Checkout private repository
# uses: actions/checkout@v3
# with:
# repository: actions-int/composite-workflows
# token: ${{ secrets.ACCESS_TOKEN }}
# github-server-url: ${{ secrets.SERVER_URL }}
# path: composite-workflows
# ref: main
# - name: Use composite action for pcie-hw
# uses: ./composite-workflows/emulation
# with:
# organization: ${{ github.repository }}
# run_number: ${{ github.run_number }}
# buildNumber: ${{ github.run_number }}_${{ github.run_attempt }}
# release: ${{ env.RELEASE }}
# env: ${{ env.ENV }}
# pipeline: ${{ env.PIPELINE }}
# boardType: "pcie"
# boardState: "gating"
# boardMode: "sw_emu"
# os: ${{ matrix.os_list }}
# runnerName: ${{ runner.name }}
# sshKey: ${{ secrets.CI_PRIVATE_SSH_KEY }}
# apiKey: ${{ secrets.apiKey }}
# accessToken: ${{ secrets.ACCESS_TOKEN }}
# USER: ${{ secrets.USER }}
# NPATH: ${{ secrets.NPATH }}
# github-server-url: ${{ secrets.SERVER_URL }}
# pcie-hw-emulation-tests:
# needs: package-download
# runs-on: [self-hosted, Ubuntu-22.04]
# strategy:
# matrix:
# os_list: ['centos_8.1']
# steps:
# - name: Checkout private repository
# uses: actions/checkout@v3
# with:
# repository: actions-int/composite-workflows
# token: ${{ secrets.ACCESS_TOKEN }}
# github-server-url: ${{ secrets.SERVER_URL }}
# path: composite-workflows
# ref: main
# - name: Use composite action for pcie-hw
# uses: ./composite-workflows/emulation
# with:
# organization: ${{ github.repository }}
# run_number: ${{ github.run_number }}
# buildNumber: ${{ github.run_number }}_${{ github.run_attempt }}
# release: ${{ env.RELEASE }}
# env: ${{ env.ENV }}
# pipeline: ${{ env.PIPELINE }}
# boardType: "pcie"
# boardState: "gating"
# boardMode: "hw_emu"
# os: ${{ matrix.os_list }}
# runnerName: ${{ runner.name }}
# sshKey: ${{ secrets.CI_PRIVATE_SSH_KEY }}
# apiKey: ${{ secrets.apiKey }}
# accessToken: ${{ secrets.ACCESS_TOKEN }}
# USER: ${{ secrets.USER }}
# NPATH: ${{ secrets.NPATH }}
# github-server-url: ${{ secrets.SERVER_URL }}
# test-summary:
# runs-on: [self-hosted, Ubuntu-22.04]
# needs: [pcie-hw-tests, pcie-sw-emulation-tests, pcie-hw-emulation-tests]
# if: always()
# steps:
# - name: Checkout test summary Action repository
# uses: actions/checkout@v3
# with:
# repository: actions-int/XOAH-URL-action
# ref: 'XOAH_URL_action'
# token: ${{ secrets.ACCESS_TOKEN }}
# github-server-url: ${{ secrets.SERVER_URL }}
# path: ./.github/actions/XOAH-URL-action
# - name: Generate test summary URL
# id: summary
# uses: ./.github/actions/XOAH-URL-action
# with:
# pipeline: ${{ env.PIPELINE }}
# release: ${{ env.RELEASE }}
# runNumber: ${{ github.run_number }}_${{ github.run_attempt }}
# env: ${{ env.ENV }}
# - name: Print test summary URL
# run: |
# # echo "test summary URL: ${{ steps.summary.outputs.url }}" >> $GITHUB_STEP_SUMMARY
# echo '### [tests logs summary](${{ steps.summary.outputs.url }})' >> $GITHUB_STEP_SUMMARY
# cleanup-build:
# needs: test-summary
# runs-on: [self-hosted, Ubuntu-22.04]
# steps:
# - name: Checkout private repository
# uses: actions/checkout@v3
# with:
# repository: actions-int/composite-workflows
# token: ${{ secrets.ACCESS_TOKEN }}
# github-server-url: ${{ secrets.SERVER_URL }}
# path: composite-workflows
# ref: main
# - name: Use composite action package download
# uses: ./composite-workflows/cleanup
# with:
# runNumber: ${{ github.run_number }}
# pipeline: ${{ env.PIPELINE }}
# env: ${{ env.ENV }}
# release: ${{ env.RELEASE }}
# sshKey: ${{ secrets.CI_PRIVATE_SSH_KEY }}
# accessToken: ${{ secrets.ACCESS_TOKEN }}
# NPATH: ${{ secrets.NPATH }}
# USER: ${{ secrets.USER }}
# github-server-url: ${{ secrets.SERVER_URL }}