Skip to content

Commit

Permalink
VERIFY
Browse files Browse the repository at this point in the history
  • Loading branch information
SubhedarV authored Sep 16, 2024
1 parent c7809f8 commit a27d9e6
Showing 1 changed file with 173 additions and 155 deletions.
328 changes: 173 additions & 155 deletions .github/workflows/tarrr_file.yml
Original file line number Diff line number Diff line change
@@ -1,139 +1,142 @@
name: Test Docker
env:
RELEASE: '2021.1'
PIPELINE: 'xrt'
name: Test Build verify
env:
RELEASE: '2021.1'
PIPELINE: 'xrt'
ENV: 'test'

on:
workflow_dispatch:

jobs:
build:
strategy:
matrix:
include:
# - os: centos78
# packageType: rpm
# os_ver: centos_7.8
- os: centos8
strategy:
matrix:
include:
- os: centos8
packageType: rpm
os_ver: centos_8.1
# - os: rhel9
# packageType: rpm
# os_ver: rhel_9.1
- os: ubuntu2004
os_ver: centos_8.1
- os: ubuntu2004
packageType: deb
os_ver: ubuntu_20.04
- os: ubuntu2204
os_ver: ubuntu_20.04
- os: ubuntu2204
packageType: deb
os_ver: ubuntu_22.04
- os: amazonlinux-20202011111
os_ver: ubuntu_22.04
- os: amazonlinux-20202011111
packageType: rpm
os_ver: amazonlinux20202011111
- os: ubuntu1804
packageType: deb
os_ver: ubuntu_18.04
os_ver: amazonlinux20202011111
- os: ubuntu1804
packageType: deb
os_ver: ubuntu_18.04

runs-on: [self-hosted, Ubuntu-22.04]
steps:
- name: Set env variables
run: |
echo "Setting environment variables..."
echo "XRT_VERSION_PATCH=$(($GITHUB_RUN_NUMBER+717))" >> $GITHUB_ENV
echo "PATH=/usr/bin:$PATH" >> $GITHUB_ENV
- name: Checkout PR
uses: actions/checkout@v3
with:
ref: '2021.1'
fetch-depth: 0
path: ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}
submodules: recursive

- name: Create directory for Dockerfile
run: mkdir -p ${{ github.workspace }}/dockerfiles

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 "XRT_VERSION_PATCH=$(($GITHUB_RUN_NUMBER+717))" >> $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: '2021.1'
fetch-depth: 0
path: ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}
submodules: recursive

- name: Checkout private repository
uses: actions/checkout@v3
with:
repository: actions-int/composite-workflows
- name: Checkout Dockerfile from master
run: |
git init
git remote add origin https://github.com/Xilinx/preflight-check.git
git config core.sparseCheckout true
echo "Dockerfile" >> .git/info/sparse-checkout
git fetch origin master
git checkout master
working-directory: ${{ github.workspace }}/dockerfiles

- 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: image

- name: XRT build
uses: ./composite-workflows/build
with:
pipeline: ${{ env.PIPELINE }}
osVersion: ${{ matrix.os }}
packageType: ${{ matrix.packageType }}
os_ver: ${{ matrix.os_ver }}
workspace: ${{ github.workspace }}
buildNumber: ${{ env.XRT_VERSION_PATCH }}
accessToken: ${{ secrets.ACCESS_TOKEN }}
github-server-url: ${{ secrets.SERVER_URL }}
token: ${{ secrets.ACCESS_TOKEN }}
path: composite-workflows
ref: image

- name: XRT build
uses: ./composite-workflows/build
with:
pipeline: ${{ env.PIPELINE }}
osVersion: ${{ matrix.os }}
packageType: ${{ matrix.packageType }}
os_ver: ${{ matrix.os_ver }}
workspace: ${{ github.workspace }}
buildNumber: ${{ env.XRT_VERSION_PATCH }}
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: Set env variables
run: |
echo "Setting environment variables..."
# echo "XRT_VERSION_PATCH=${GITHUB_RUN_NUMBER}" >> $GITHUB_ENV
echo "XRT_VERSION_PATCH=$(($GITHUB_RUN_NUMBER+717))" >> $GITHUB_ENV
echo "PATH=/usr/bin:$PATH" >> $GITHUB_ENV
- 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: '2021.1'


- name: Use composite action package download
uses: ./composite-workflows/package-download
with:
runNumber: ${{ env.XRT_VERSION_PATCH }}
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 }}
appConfig: ${{ secrets.APP_CONFIG }}
appConfig1: ${{ secrets.APP_CONFIG1 }}
appConfig2: ${{ secrets.APP_CONFIG2 }}
appConfig3: ${{ secrets.APP_CONFIG3 }}

- name: List contents of artifact directory
run: |
cd ${{ env.PATH_DIR }}/artifact
ls -al
shell: bash

- name: List contents of Dockerfile directory
package-download:
needs: [build]
runs-on: [self-hosted, Ubuntu-22.04]
steps:
- name: Set env variables
run: |
echo "Contents of Dockerfile directory:"
ls -al ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}/Dockerfile
shell: bash
echo "Setting environment variables..."
echo "XRT_VERSION_PATCH=$(($GITHUB_RUN_NUMBER+717))" >> $GITHUB_ENV
echo "PATH=/usr/bin:$PATH" >> $GITHUB_ENV
- 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: '2021.1'

- name: Use composite action package download
uses: ./composite-workflows/package-download
with:
runNumber: ${{ env.XRT_VERSION_PATCH }}
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 }}

- name: List contents of artifact directory
run: |
cd ${{ env.PATH_DIR }}/artifact
ls -al
shell: bash

- name: List contents of Dockerfile directory
run: |
echo "Contents of Dockerfile directory:"
ls -al ${{ github.workspace }}/dockerfiles/Dockerfile
shell: bash

- name: Find and copy packages
run: |
cd ${{ env.PATH_DIR }}/artifact
echo "Listing all files in artifact directory:"
ls -al
for package_file in *-xrt.rpm *-xrt.deb; do
echo "Found package: $package_file"
cp $package_file ${{ github.workspace }}/dockerfiles/Dockerfile/
done
shell: bash

- name: Find and copy packages
run: |
cd ${{ env.PATH_DIR }}/artifact
echo "Listing all files in artifact directory:"
ls -al
for package_file in *-xrt.rpm *-xrt.deb; do
echo "Found package: $package_file"
cp $package_file ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}/Dockerfile/
done
shell: bash

docker-build:
needs: [package-download]
runs-on: [self-hosted, Ubuntu-22.04]
Expand All @@ -144,43 +147,58 @@ jobs:
echo "XRT_VERSION_PATCH=$(($GITHUB_RUN_NUMBER+717))" >> $GITHUB_ENV
echo "PATH=/usr/bin:$PATH" >> $GITHUB_ENV
- name: List contents of Dockerfile directory
run: |
echo "Contents of Dockerfile directory:"
ls -al ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}/Dockerfile
shell: bash
- name: List contents of Dockerfile directory
run: |
echo "Contents of Dockerfile directory:"
ls -al ${{ github.workspace }}/dockerfiles/Dockerfile
shell: bash

- name: Build Docker images
run: |
for package_file in ${{ github.workspace }}/dockerfiles/Dockerfile/*-xrt.rpm ${{ github.workspace }}/dockerfiles/Dockerfile/*-xrt.deb; do
echo "Building image for $package_file"
image_tag=$(basename $package_file | sed 's/\.[^.]*$//')
if [[ $package_file == *centos_8.1* ]]; then
base_image="centos:8"
elif [[ $package_file == *ubuntu_20.04* ]]; then
base_image="ubuntu:20.04"
elif [[ $package_file == *ubuntu_22.04* ]]; then
base_image="ubuntu:22.04"
elif [[ $package_file == *amazonlinux20202011111* ]]; then
base_image="amazonlinux:2"
else
base_image="ubuntu:18.04"
fi
docker build --build-arg PACKAGE_FILE=$(basename $package_file) --build-arg BASE_IMAGE=$base_image -t xrt_image:$image_tag -f ${{ github.workspace }}/dockerfiles/Dockerfile/Dockerfile ${{ github.workspace }}/dockerfiles/Dockerfile
done
shell: bash

- name: Build Docker images
- name: Verify XRT package in Docker image
run: |
for package_file in ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}/Dockerfile/*-xrt.rpm ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}/Dockerfile/*-xrt.deb; do
echo "Building image for $package_file"
for package_file in ${{ github.workspace }}/dockerfiles/Dockerfile/*-xrt.rpm ${{ github.workspace }}/dockerfiles/Dockerfile/*-xrt.deb; do
image_tag=$(basename $package_file | sed 's/\.[^.]*$//')
if [[ $package_file == *centos_8.1* ]]; then
base_image="centos:8"
elif [[ $package_file == *ubuntu_20.04* ]]; then
base_image="ubuntu:20.04"
elif [[ $package_file == *ubuntu_22.04* ]]; then
base_image="ubuntu:22.04"
elif [[ $package_file == *amazonlinux20202011111* ]]; then
base_image="amazonlinux:2"
else
base_image="ubuntu:18.04"
fi
docker build --build-arg PACKAGE_FILE=$(basename $package_file) --build-arg BASE_IMAGE=$base_image -t xrt_image:$image_tag -f ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}/Dockerfile/Dockerfile ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}/Dockerfile
echo "Running container from image xrt_image:$image_tag"
docker run --rm xrt_image:$image_tag bash -c "
if command -v rpm &> /dev/null; then
rpm -qa | grep xrt
else
dpkg -l | grep xrt
fi
"
done
shell: bash

- name: Authenticate with Harbor
run: |
echo "${{ secrets.HARBOR_PASSWORD }}" | docker login registry.amd.com -u '${{ secrets.HARBOR_USERNAME }}' --password-stdin
shell: bash

- name: Push Docker images to AMD Harbor
run: |
for package_file in ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}/Dockerfile/*-xrt.rpm ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}/Dockerfile/*-xrt.deb; do
image_tag=$(basename $package_file | sed 's/\.[^.]*$//')
echo "Pushing image xrt_image:$image_tag"
docker tag xrt_image:$image_tag registry.amd.com/buildops/xrt_image:$image_tag
docker push registry.amd.com/buildops/xrt_image:$image_tag
done
shell: bash
- name: Authenticate with Harbor
run: |
echo "${{ secrets.HARBOR_PASSWORD }}" | docker login registry.amd.com -u '${{ secrets.HARBOR_USERNAME }}' --password-stdin
shell: bash
- name: Push Docker images to AMD Harbor
run: |
for package_file in ${{ github.workspace }}/dockerfiles/Dockerfile/*-xrt.rpm ${{ github.workspace }}/dockerfiles/Dockerfile/*-xrt.deb; do
image_tag=$(basename $package_file | sed 's/\.[^.]*$//')
echo "Pushing image xrt_image:$image_tag"
docker tag xrt_image:$image_tag registry.amd.com/buildops/xrt_image:$image_tag
docker push registry.amd.com/buildops/xrt_image:$image_tag
done
shell: bash

0 comments on commit a27d9e6

Please sign in to comment.