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

added build and test workflows #57

Closed
wants to merge 1 commit into from
Closed
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
147 changes: 147 additions & 0 deletions .github/workflows/XRT_aiebu-lnx_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
name: XRT_aiebu-lnx_build

# Configures trigger:
# This workflow will be triggered on a pull request created for main branch
on:
push:
branches: [ main, main-ge, ci_pipeline, ci_nightly ]

pull_request:
branches: [ main, main-ge, ci_pipeline, ci_nightly ]

# Allow triggering this Action/Workflow manually from the Actions tab
workflow_dispatch:

# Run workflows in concurrency.group sequentially
concurrency:
group: xrt_aiebu_lnx_pipelines
cancel-in-progress: false

env:
BUILD_NUMBER: ${{ github.run_number }}

jobs:
Linux_Build_and_Test:
runs-on: [xcosimnow01-XRT_aiebu]

defaults:
run:
shell: bash

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Set Env Vars
run: |
echo "Setting DATE, BRANCH env vars"
echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV
echo "BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV
echo "JFROG_CLI=/tools/batonroot/rodin/devkits/lnx64/jfrog/jfrog-cli" >> $GITHUB_ENV

- name: Check Env Vars
run: |
echo "--> Check GITHUB Env Vars:"
echo " GITHUB_REPOSITORY=${GITHUB_REPOSITORY}"
echo " GITHUB_EVENT_NAME=${GITHUB_EVENT_NAME}"
echo " GITHUB_RUN_NUMBER=${GITHUB_RUN_NUMBER}"
echo " GITHUB_WORKSPACE=${GITHUB_WORKSPACE}"
echo " GITHUB_SHA=${GITHUB_SHA}"
echo " GITHUB_REF=${GITHUB_REF}"
echo " RUNNER_NAME=${RUNNER_NAME}"
echo " DATE=${DATE}"
echo " BRANCH=${BRANCH}"

- name: Build
run: |
RUNNER_HOSTNAME=`hostname`
echo "--> Build inside docker container on $RUNNER_HOSTNAME"
docker run --name aiebu_container --rm --volume ${GITHUB_WORKSPACE}:/home/aiebu -i ubuntu:xrt_aiebu_2 /bin/bash -c \
"git config --global --add safe.directory /home/aiebu && \
cd /home/aiebu/ && \
build/build.sh && \
chown -R 95777:10115 /home/aiebu"

- name: create version.txt file
run: |
touch version.txt
echo "git_commit_hash: ${GITHUB_SHA}" >> version.txt
echo "branch: ${GITHUB_REF}" >> version.txt
echo "date: `date`" >> version.txt

- name: upload to libs artifactory
if: github.event_name != 'pull_request'
run: |
export JAVA_HOME=/tools/batonroot/rodin/devkits/lnx64/jdk-11.0.16_1/
export PATH=/tools/batonroot/rodin/devkits/lnx64/jdk-11.0.16_1/bin:$PATH
./gradlew publishAllPublicationsToLibsReleaseRepository -PcoreRevision=release

- name: Upload Artifact to Artifactory
run: |
cd ${GITHUB_WORKSPACE}/build/Release/
ls -lah AIEBU-*-Linux.tar.gz

ARTIFACT_VERSION=`ls AIEBU-*.tar.gz | cut -d'-' -f2`
ARTIFACT="AIEBU-${ARTIFACT_VERSION}-Linux-${DATE}-${GITHUB_RUN_NUMBER}.tar.gz"
ARTIFACT_DEST="xrt-ipu-dev-local/${BRANCH}/lnx/${DATE}-${GITHUB_RUN_NUMBER}/${ARTIFACT}"

echo "--> Vars:"
echo " JFROG_CLI=$JFROG_CLI"
echo " ARTIFACT_VERSION=${ARTIFACT_VERSION}"
echo " ARTIFACT=${ARTIFACT}"
echo " ARTIFACT_DEST=${ARTIFACT_DEST}"

echo "--> Copy and Rename Artifact:"
cd ${GITHUB_WORKSPACE}/build/Release/
ls -lah ./AIEBU-${ARTIFACT_VERSION}-Linux.tar.gz
echo " Renaming artifact to: ${ARTIFACT}"
cp ./AIEBU-${ARTIFACT_VERSION}-Linux.tar.gz ${ARTIFACT}
ls -lah ./${ARTIFACT}

echo "--> Uploading to Artifactory:"
${JFROG_CLI} rt upload ${ARTIFACT} ${ARTIFACT_DEST} \
--insecure-tls=true \
--flat \
--props "REPO=${GITHUB_REPOSITORY};BRANCH=${GITHUB_REF##*/};COMMIT_SHA=${GITHUB_SHA};GH_WS=${GITHUB_WORKSPACE};RUNNER=${RUNNER_NAME}"
echo " Artifact location: https://xcoartifactory/ui/native/${ARTIFACT_DEST}"

echo "--> Uploading to LATEST"
ARTIFACT_ORIG="AIEBU-${ARTIFACT_VERSION}-Linux.tar.gz"
ARTIFACT_LATEST="/xrt-ipu-dev-local/${BRANCH}/lnx/LATEST/${ARTIFACT_ORIG}"
${JFROG_CLI} rt upload ${ARTIFACT_ORIG} ${ARTIFACT_LATEST} \
--insecure-tls=true \
--flat \
--props "REPO=${GITHUB_REPOSITORY};BRANCH=${GITHUB_REF##*/};RUN_NUMMBER=${GITHUB_RUN_NUMBER};COMMIT_SHA=${GITHUB_SHA};TARGET=${ARTIFACT_DEST}"
echo " LATEST artifact location: https://xcoartifactory/ui/native/${ARTIFACT_LATEST}"

- name: Collect Error Logs If Build Failed
if: failure()
continue-on-error: true
run: |
echo "--> Workflow failure detected: cleaning up and collecting LastTest.log for debugging"
docker run --name aiebu_container --rm --volume ${GITHUB_WORKSPACE}:/home/aiebu -i ubuntu:xrt_aiebu_2 /bin/bash -c \
"chown -R 95777:10115 /home/aiebu"

echo "--> Create debug log archive"
LOG_DIR="/scratch/XRT_aiebu/debug/"
LOG_FILE="LastTest-${BRANCH}-${DATE}-${GITHUB_RUN_NUMBER}.tgz"
LOG_DEST="xrt-ipu-dev-local/${BRANCH}/lnx/${DATE}-${GITHUB_RUN_NUMBER}/${LOG_FILE}"
RUNNER_HOSTNAME=`hostname`

cd ${GITHUB_WORKSPACE}/
tar cvfz ${LOG_DIR}/${LOG_FILE} ./build/Debug/Testing/Temporary/*
echo " Created ${RUNNER_HOSTNAME}:${LOG_DIR}/${LOG_FILE}"

echo "--> Uploading Log Archive to Artifactory"
${JFROG_CLI} rt upload ${LOG_DIR}/${LOG_FILE} ${LOG_DEST} --insecure-tls=true --flat
echo " Log location: https://xcoartifactory/ui/native/${LOG_DEST}"

- name: Clean Up and Delete Docker Container If It Still Exists
if: always()
continue-on-error: true
run: |
echo "--> Docker container cleanup"
docker stop aiebu_container
docker rm aiebu_container
docker ps -a
82 changes: 82 additions & 0 deletions .github/workflows/XRT_aiebu-win_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: XRT_aiebu-win_build

# Configures trigger:
# This workflow will be triggered on a pull request created for main branch
on:
push:
branches: [ main, main-ge, ci_pipeline ]

pull_request:
branches: [ main, main-ge, ci_pipeline ]

# Allow triggering this Action/Workflow manually from the Actions tab
workflow_dispatch:

# Run workflows in concurrency.group sequentially
concurrency:
group: xrt_aiebu_win_pipelines
cancel-in-progress: false

jobs:
Windows_Build_and_Test:
runs-on: [xcoengvm224003-XRT_aiebu]

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Check Env Vars
run: |
echo "--> Check GITHUB Env Vars:"
echo " GITHUB_REPOSITORY=${{ github.REPOSITORY }}"
echo " GITHUB_EVENT_NAME=${{ github.EVENT_NAME }}"
echo " GITHUB_RUN_NUMBER=${{ github.RUN_NUMBER }}"
echo " GITHUB_WORKSPACE=${{ github.WORKSPACE }}"
echo " GITHUB_SHA=${{ github.SHA }}"
echo " GITHUB_REF=${{ github.REF }}"

- name: Build
run: |
$RUNNER_HOSTNAME=hostname
echo "--> Building win target on $RUNNER_HOSTNAME"
cd ${{ github.WORKSPACE }}\build
.\build22.bat -boost C:\Xilinx\XRT\ext.new
# artifact (target: C:\scratch\XRT_aiebu\actions-runner\_work\aiebu\build\WRelease\AIEBU-0.1.1-win64.zip)

- name: Upload Artifact to Artifactory
run: |
cd ${{ github.WORKSPACE }}\build\WRelease\
dir AIEBU-*-win64.zip

$DATE=Get-Date -format "yyyyMMdd"
$BRANCH="${{ github.REF }}".split("/")[-1]

$ARTIFACT_FILE=Get-ChildItem -Filter "AIEBU-*-win64.zip"
$ARTIFACT_VERSION=($ARTIFACT_FILE[0].Name -split '-')[1]
$ARTIFACT_SRC="AIEBU-$ARTIFACT_VERSION-win64-$DATE-${{ github.RUN_NUMBER }}.zip"
$ARTIFACT_DEST="xrt-ipu-dev-local/$BRANCH/win/$DATE-${{ github.RUN_NUMBER }}/$ARTIFACT_SRC"

Copy-Item .\$ARTIFACT_FILE .\$ARTIFACT_SRC
dir AIEBU-*.zip

echo "--> Vars used for Jfrog CLI"
echo " BRANCH=$BRANCH"
echo " DATE=$DATE"
echo " ARTIFACT_SRC=$ARTIFACT_SRC"
echo " ARTIFACT_DEST=$ARTIFACT_DEST"

echo "--> Uploading to Artifactory:"
jf rt upload $ARTIFACT_SRC $ARTIFACT_DEST `
--insecure-tls=true `
--flat
echo " Artifact location:"
echo " https://xcoartifactory/ui/native/$ARTIFACT_DEST"

echo "--> Uploading to LATEST"
$ARTIFACT_LATEST="/xrt-ipu-dev-local/$BRANCH/win/LATEST/$ARTIFACT_FILE"
jf rt upload $ARTIFACT_SRC $ARTIFACT_LATEST `
--insecure-tls=true `
--flat
echo " LATEST artifact location:"
echo " https://xcoartifactory/ui/native/$ARTIFACT_LATEST"
Loading