Skip to content

Commit

Permalink
pushing rpm package to harbor
Browse files Browse the repository at this point in the history
  • Loading branch information
SubhedarV authored Sep 19, 2024
1 parent 94759b6 commit a4bf046
Showing 1 changed file with 167 additions and 175 deletions.
342 changes: 167 additions & 175 deletions .github/workflows/tarrr_file.yml
Original file line number Diff line number Diff line change
@@ -1,186 +1,178 @@
name: Test 1 build
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
packageType: rpm
os_ver: centos_8.1
# - os: rhel9
# packageType: rpm
# os_ver: rhel_9.1
# - os: ubuntu2004
# packageType: deb
# os_ver: ubuntu_20.04
# - os: ubuntu2204
# packageType: deb
# os_ver: ubuntu_22.04
# - os: amazonlinux-20202011111
# packageType: rpm
# os_ver: amazonlinux20202011111
# - os: ubuntu1804
# packageType: deb
# os_ver: ubuntu_18.04
name: Test 1 build
env:
RELEASE: '2021.1'
PIPELINE: 'xrt'
ENV: 'test'

on:
workflow_dispatch:

jobs:
build:
strategy:
matrix:
include:
- os: centos8
packageType: rpm
os_ver: centos_8.1

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
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:
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
github-server-url: ${{ secrets.SERVER_URL }}
token: ${{ secrets.ACCESS_TOKEN }}
path: composite-workflows
ref: image

- 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 }}/${{ env.XRT_VERSION_PATCH }}
submodules: recursive

- 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+717))" >> $GITHUB_ENV
echo "PATH=/usr/bin:$PATH" >> $GITHUB_ENV
- name: Checkout private repository
uses: actions/checkout@v3
with:
repository: actions-int/composite-workflows
repository: actions-int/composite-workflows
token: ${{ secrets.ACCESS_TOKEN }}
github-server-url: ${{ secrets.SERVER_URL }}
token: ${{ secrets.ACCESS_TOKEN }}
path: composite-workflows
ref: image

- name: List Root Directory Contents
run: |
echo "Listing contents of the root directory:"
ls -al ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}
- name: Check Dockerfile Directory
run: |
echo "Checking for Dockerfile directory..."
ls -al ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}/Dockerfile
- 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
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: |
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'

cd ${{ env.PATH_DIR }}/artifact
ls -al
shell: bash

- 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: Authenticate with Harbor
run: |
echo "${{ secrets.HARBOR_PASSWORD }}" | docker login registry.amd.com -u '${{ secrets.HARBOR_USERNAME }}' --password-stdin
shell: bash

- name: Push RPM Packages to Harbor
run: |
cd ${{ env.PATH_DIR }}/artifact
for package_file in *-xrt.rpm; do
echo "Pushing package: $package_file"
versioned_name="${{ env.XRT_VERSION_PATCH }}-$(basename $package_file)"
docker build -t registry.amd.com/buildops/$versioned_name .
docker push registry.amd.com/buildops/$versioned_name
done
shell: bash

docker-build:
needs: [package-download]
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: 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; 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]
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:
fetch-depth: 0
path: ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}
submodules: recursive

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

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

- name: Build Docker images
run: |
for package_file in ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}/Dockerfile/*-xrt.rpm; 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"
else
base_image="ubuntu:22.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
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
- name: Pull RPM Packages from Harbor
run: |
cd ${{ github.workspace }}/Dockerfile
for package_file in $(docker search registry.amd.com/buildops --format "{{.Name}}" | grep "${{ env.XRT_VERSION_PATCH }}-xrt_.*-xrt.rpm"); do
echo "Pulling package: $package_file"
docker pull $package_file
docker save $package_file -o $(basename $package_file)
done
shell: bash

- name: List contents of Dockerfile directory
run: |
for package_file in ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}/Dockerfile/*-xrt.rpm; 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
echo "Contents of Dockerfile directory:"
ls -al ${{ github.workspace }}/Dockerfile
shell: bash

- name: Build Docker images
run: |
for package_file in ${{ github.workspace }}/Dockerfile/*-xrt.rpm; 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"
else
base_image="ubuntu:22.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 }}/Dockerfile/Dockerfile ${{ github.workspace }}/Dockerfile
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 }}/Dockerfile/*-xrt.rpm; 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 a4bf046

Please sign in to comment.