Skip to content

Build native Linux packages (gfx94X-dcgpu, 7.12.0~dev20260225, deb, , dev) #3223

Build native Linux packages (gfx94X-dcgpu, 7.12.0~dev20260225, deb, , dev)

Build native Linux packages (gfx94X-dcgpu, 7.12.0~dev20260225, deb, , dev) #3223

name: Build Native Linux Packages
on:
workflow_call:
inputs:
artifact_group:
description: gfx arch group for the s3 server
type: string
default: gfx94X-dcgpu
artifact_run_id:
description: workflow run id to download the artifacts from.
required: true
type: string
rocm_version:
description: ROCm version to append to the package (8.0.0, 8.0.1rc1, ...).
required: true
type: string
native_package_type:
description: Specify whether debian or rpm packages are needed (deb or rpm).
required: true
type: string
package_suffix:
description: The suffix to be added to package name (asan, tsan, static or rpath).
required: false
type: string
release_type:
description: The type of release to build ("dev", "nightly", or "prerelease"). All developer-triggered jobs should use "dev"!
required: false
type: string
workflow_dispatch:
inputs:
artifact_group:
type: string
default: gfx94X-dcgpu
artifact_run_id:
description: workflow run id to download the artifacts from
type: string
rocm_version:
description: ROCm version to append to the package (8.0.0, 8.0.1rc1, ...).
type: string
default: "0.0.1"
native_package_type:
description: Specify whether debian or rpm packages are needed (deb or rpm).
required: true
type: choice
options:
- rpm
- deb
default: "rpm"
package_suffix:
description: The suffix to be added to package name (asan, tsan, static or rpath).
type: string
required: false
release_type:
description: The type of release to build ("dev", "nightly", or "prerelease"). All developer-triggered jobs should use "dev"!
type: string
default: "dev"
permissions:
id-token: write
contents: read
run-name: Build native Linux packages (${{ inputs.artifact_group }}, ${{ inputs.rocm_version }}, ${{ inputs.native_package_type }}, ${{ inputs.package_suffix }}, ${{ inputs.release_type }})
jobs:
build_native_packages:
name: Build Linux native Packages
strategy:
fail-fast: false
# runs-on: ${{ github.repository_owner == 'ROCm' && 'azure-linux-scale-rocm' || 'ubuntu-24.04' }}
runs-on: ubuntu-24.04
env:
BUILD_IMAGE: ghcr.io/rocm/therock_build_manylinux_x86_64@sha256:d6ae5712a9c7e8b88281d021e907b312cd8a26295b95690baef3e8dde4805858
ARTIFACT_RUN_ID: ${{ inputs.artifact_run_id || github.run_id }}
PACKAGE_SUFFIX: ${{ inputs.package_suffix != '' && inputs.package_suffix || '' }}
OUTPUT_DIR: ${{ github.workspace }}/output
ARTIFACTS_DIR: ${{ github.workspace }}/output/artifacts
PACKAGE_DIST_DIR: ${{ github.workspace }}/output/packages
RELEASE_TYPE: ${{ inputs.release_type || '' }}
S3_BUCKET_NATIVE: "therock-${{ inputs.release_type }}-packages"
steps:
# - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: echo
run: echo "hello world!"
# - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
# with:
# python-version: '3.12'
# - name: Install Python requirements
# run: |
# pip install pyelftools boto3 jinja2
# - name: Install System requirements
# run: |
# # Install the needed tools for creating rpm / deb packages
# # Also install tools for creating repo files
# sudo apt update
# sudo apt install -y llvm
# sudo apt install -y rpm debhelper-compat build-essential
# sudo apt install -y dpkg-dev createrepo-c
# - name: Fetch Artifacts
# run: |
# echo "Fetching artifacts for build ${{ inputs.artifact_run_id }}"
# python ./build_tools/fetch_artifacts.py \
# --run-id=${{ env.ARTIFACT_RUN_ID }} \
# --run-github-repo="ROCm/TheRock" \
# --artifact-group=${{ inputs.artifact_group }} \
# --output-dir=${{ env.ARTIFACTS_DIR }}
# - name: Build Packages
# id: build-packages
# run: |
# echo "Building ${{ inputs.native_package_type }} packages for ${{ inputs.artifact_group }} ${{ inputs.artifact_run_id }}"
# python ./build_tools/packaging/linux/build_package.py \
# --dest-dir ${{ env.PACKAGE_DIST_DIR }} \
# --rocm-version ${{ inputs.rocm_version }} \
# --target ${{ inputs.artifact_group }} \
# --artifacts-dir ${{ env.ARTIFACTS_DIR }} \
# --pkg-type ${{ inputs.native_package_type }} \
# --version-suffix ${{ env.ARTIFACT_RUN_ID }}
# - name: Install AWS CLI
# run: bash ./dockerfiles/install_awscli.sh
# - name: Configure AWS Credentials for non-forked repos
# uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6.0.0
# with:
# aws-region: us-east-2
# role-to-assume: arn:aws:iam::692859939525:role/therock-${{ inputs.release_type }}
# - name: Upload Package repo to S3
# id: upload-packages
# run: |
# echo "Uploading to s3 bucket : ${{ inputs.release_type }}"
# python ./build_tools/packaging/linux/upload_package_repo.py \
# --pkg-type ${{ inputs.native_package_type }} \
# --s3-bucket ${{ env.S3_BUCKET_NATIVE }} \
# --amdgpu-family ${{ inputs.artifact_group }} \
# --artifact-id ${{ env.ARTIFACT_RUN_ID }} \
# --job ${{ inputs.release_type }}