Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test PR #2

Open
wants to merge 18 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,7 @@
#
name: "CodeQL"

on:
#schedule:
# - cron: '33 8 * * 6'

on:
workflow_dispatch:

jobs:
Expand Down Expand Up @@ -45,7 +42,6 @@ jobs:
- if: matrix.language == 'cpp'
name: Build
run: |
sudo apt update
sudo src/runtime_src/tools/scripts/xrtdeps.sh
./build/build.sh -opt -verbose -driver

Expand Down
349 changes: 349 additions & 0 deletions .github/workflows/xrt_pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,349 @@
name: XRT PR

# test PR again

env:
RELEASE: '2024.1'
PIPELINE: 'xrt'
ENV: 'prod'

on:
pull_request:
types: [opened, edited, synchronize]

# on:
# workflow_call:
# workflow_dispatch:
# inputs:
# branch_ref:
# type: string
# description: branch_name from repository dispatch
# repo:
# type: string
# description: reponame for repository dispatch

jobs:
build:
strategy:
matrix:
include:
- os: centos78
packageType: rpm
- os: centos8
packageType: rpm
- os: rhel9
packageType: rpm
- os: ubuntu2004
packageType: deb
- os: ubuntu2204
packageType: deb

runs-on: 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@v4
with:
repository: "${{ github.event.inputs.repo }}"
ref: "${{ github.event.inputs.branch_ref }}"
fetch-depth: 0
github-server-url: "https://github.com"
token: ${{ secrets.CI_CLOUD_TOKEN}}
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

- 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 }}

windows-build:
runs-on: Windows
steps:
- 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

- name: XRT windows build
uses: ./composite-workflows/windows-build
with:
workspace: ${{ github.workspace }}/${{ github.run_number }}/build
buildNumber: ${{ github.run_number }}
release: ${{ env.RELEASE }}
token: ${{ secrets.CI_CLOUD_TOKEN }}
accessToken: ${{ secrets.ACCESS_TOKEN }}
workspaceg: ${{ github.workspace }}
github-server-url: ${{ secrets.SERVER_URL }}

apu-package-build:
runs-on: [xrt,xco]
# 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.inputs.repo }}"
ref: "${{ github.event.inputs.branch_ref }}"
fetch-depth: 0
github-server-url: "https://github.com"
token: ${{ secrets.CI_CLOUD_TOKEN}}
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

- 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 }}

package-download:
needs: build
runs-on: 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

- name: Use composite action package download
uses: ./composite-workflows/package-download
with:
runNumber: ${{ github.run_number }}
pipeline: ${{ env.PIPELINE }}
env: ${{ env.ENV }}
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: Ubuntu-22.04
steps:
- name: Checkout extraction Action repository
uses: actions/checkout@v3
with:
repository: actions-int/extraction-action
ref: 'v0.0.1'
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"

- name: Checkout upload-logs-to-artifactory Action repository
uses: actions/checkout@v3
with:
repository: actions-int/upload-logs-to-artifactory-action
ref: 'v0.0.1'
token: ${{ secrets.ACCESS_TOKEN }}
github-server-url: ${{ secrets.SERVER_URL }}
path: ./.github/actions/upload-logs-to-artifactory-action

- name: Upload logs to Artifactory
id: upload
uses: ./.github/actions/upload-logs-to-artifactory-action
with:
logFile: ${{ steps.extract.outputs.logFile }}
buildNumber: ${{ github.run_number }}
apiKey: ${{ secrets.apiKey }}
pipeline: ${{ env.PIPELINE }}
repoKeyName: 'extractBoard'

- name: Display log file URL
run: |
# echo "Log file URL: ${{ steps.upload.outputs.logFileUrl }}" >> $GITHUB_STEP_SUMMARY
# echo '### [logs for extracted boards](${{ steps.upload.outputs.logFileUrl }})' >> $GITHUB_STEP_SUMMARY
echo "logs for extracted boards: ${{ steps.upload.outputs.logFileUrl }}"
outputs:
board_list: ${{ steps.extract.outputs.board_list }}
logFileUrl: ${{ steps.upload.outputs.logFileUrl }}

pcie-hw-tests:
needs: extract-platforms
runs-on: [xrt, trx]
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

- name: Use composite action for pcie-hw
uses: ./composite-workflows/pcie-hw
with:
organization: ${{ github.repository }}
runNumber: ${{ github.run_number }}
buildNumber: ${{ github.run_number }}
release: ${{ env.RELEASE }}
env: ${{ env.ENV }}
pipeline: ${{ env.PIPELINE }}
boardType: "pcie"
boardState: "gating"
boardMode: "hw"
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: Ubuntu-22.04
strategy:
matrix:
os_list: ['centos_7.8', '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

- name: Use composite action for pcie-hw
uses: ./composite-workflows/emulation
with:
organization: ${{ github.repository }}
run_number: ${{ github.run_number }}
buildNumber: ${{ github.run_number }}
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: Ubuntu-22.04
strategy:
matrix:
os_list: ['centos_7.8', '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

- name: Use composite action for pcie-hw
uses: ./composite-workflows/emulation
with:
organization: ${{ github.repository }}
run_number: ${{ github.run_number }}
buildNumber: ${{ github.run_number }}
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: Ubuntu-22.04
needs: build
steps:
- name: Checkout test summary Action repository
uses: actions/checkout@v3
with:
repository: actions-int/XOAH-URL-action
ref: 'v0.0.5'
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 }}
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
Loading