Skip to content

Commit

Permalink
checkout in docker build job
Browse files Browse the repository at this point in the history
  • Loading branch information
SubhedarV authored Sep 18, 2024
1 parent 1544315 commit 6cbec16
Showing 1 changed file with 169 additions and 154 deletions.
323 changes: 169 additions & 154 deletions .github/workflows/tarrr_file.yml
Original file line number Diff line number Diff line change
@@ -1,165 +1,180 @@
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
name: Test 1 build
env:
RELEASE: '2021.1'
PIPELINE: 'xrt'
ENV: 'test'

on:
workflow_dispatch:

- name: Checkout PR
uses: actions/checkout@v3
with:
fetch-depth: 0
path: ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}
submodules: recursive

- name: List workspace contents
run: ls -alR ${{ github.workspace }}

- 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 }}
appConfig: ${{ secrets.APP_CONFIG }}
appConfig1: ${{ secrets.APP_CONFIG1 }}
appConfig2: ${{ secrets.APP_CONFIG2 }}
appConfig3: ${{ secrets.APP_CONFIG3 }}

package-download:
needs: [build]
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
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
path: ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}

- name: Checkout private repository
uses: actions/checkout@v3
with:
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: List workspace contents
run: ls -alR ${{ github.workspace }}

- name: Checkout private repository
uses: actions/checkout@v3
with:
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: 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 }}
path: composite-workflows
ref: '2021.1'

- name: List workspace contents
run: ls -alR ${{ github.workspace }}

- name: Use composite action package download
uses: ./composite-workflows/package-download
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]
outputs:
path_dir: ${{ steps.set_path_dir.outputs.path_dir }}
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 repository
uses: actions/checkout@v3
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: Find and copy packages
fetch-depth: 0
path: ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}

- 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: List workspace contents
run: ls -alR ${{ github.workspace }}

- 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: Set PATH_DIR
id: set_path_dir
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
echo "Setting PATH_DIR..."
echo "PATH_DIR=${{ inputs.NPATH }}/${{ inputs.pipeline }}/${{ inputs.env }}_pipeline/builds/${{ inputs.release }}/${{ inputs.runNumber }}/staging/" >> $GITHUB_ENV
echo "::set-output name=path_dir::${{ inputs.NPATH }}/${{ inputs.pipeline }}/${{ inputs.env }}_pipeline/builds/${{ inputs.release }}/${{ inputs.runNumber }}/staging/"
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: 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: List contents of artifact directory
run: |
cd ${{ env.PATH_DIR }}/artifact
ls -al
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: Authenticate with Harbor
run: |
echo "${{ secrets.HARBOR_PASSWORD }}" | docker login registry.amd.com -u '${{ secrets.HARBOR_USERNAME }}' --password-stdin
shell: bash
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
path: ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}

- name: List contents of artifact directory
run: |
cd ${{ needs.package-download.outputs.path_dir }}/artifact
ls -al
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
- name: Copy packages
run: |
mkdir -p ${{ github.workspace }}/${{ env.XRT_VERSION_PATCH }}/Dockerfile
cp ${{ needs.package-download.outputs.path_dir }}/artifact/*-xrt.rpm ${{ 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 }}/${{ 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
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

0 comments on commit 6cbec16

Please sign in to comment.