CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
136 lines
4.1 KiB
YAML
136 lines
4.1 KiB
YAML
# Copyright Advanced Micro Devices, Inc.
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
name: Build Multi-Arch Tarballs
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
artifact_run_id:
|
|
description: "Run ID to fetch artifacts from (defaults to current run)"
|
|
type: string
|
|
default: ""
|
|
artifact_github_repo:
|
|
description: "GitHub repository for artifact_run_id"
|
|
type: string
|
|
default: ROCm/TheRock
|
|
dist_amdgpu_families:
|
|
description: "Semicolon-separated list of GPU families (e.g. 'gfx94X-dcgpu;gfx110X-all')"
|
|
type: string
|
|
platform:
|
|
type: choice
|
|
description: "Platform to fetch artifacts for"
|
|
options:
|
|
- linux
|
|
- windows
|
|
default: "linux"
|
|
package_version:
|
|
description: "ROCm package version string (e.g. '7.13.0.dev0+abc123')"
|
|
type: string
|
|
release_type:
|
|
description: 'Release type: "ci" or "dev"'
|
|
type: choice
|
|
options:
|
|
- ci
|
|
- dev
|
|
default: ci
|
|
include_test_tarballs:
|
|
description: "Also build -tests tarballs that include test artifacts"
|
|
type: boolean
|
|
default: true
|
|
workflow_call:
|
|
inputs:
|
|
artifact_run_id:
|
|
type: string
|
|
default: ""
|
|
artifact_github_repo:
|
|
type: string
|
|
default: ""
|
|
dist_amdgpu_families:
|
|
type: string
|
|
required: true
|
|
platform:
|
|
type: string
|
|
default: "linux"
|
|
package_version:
|
|
type: string
|
|
required: true
|
|
release_type:
|
|
type: string
|
|
default: ci
|
|
include_test_tarballs:
|
|
type: boolean
|
|
default: true
|
|
repository:
|
|
description: "Repository to checkout. Defaults to github.repository."
|
|
type: string
|
|
default: ""
|
|
ref:
|
|
description: "Branch, tag, or SHA to checkout. Defaults to the triggering ref."
|
|
type: string
|
|
default: ""
|
|
outputs:
|
|
tarball_urls:
|
|
description: Tarball URLs keyed by family
|
|
value: ${{ jobs.build_tarballs.outputs.tarball_urls }}
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
run-name: Build Multi-Arch Tarballs (${{ inputs.dist_amdgpu_families }}, ${{ inputs.platform }})
|
|
|
|
jobs:
|
|
build_tarballs:
|
|
name: Build Tarballs
|
|
runs-on: ${{ github.repository_owner == 'ROCm' && 'aws-linux-scale-rocm-prod-rc' || 'ubuntu-24.04' }}
|
|
container:
|
|
image: python:3.12-slim
|
|
permissions:
|
|
id-token: write
|
|
outputs:
|
|
tarball_urls: ${{ steps.upload.outputs.tarball_urls }}
|
|
env:
|
|
ARTIFACT_RUN_ID: "${{ inputs.artifact_run_id != '' && inputs.artifact_run_id || github.run_id }}"
|
|
RELEASE_TYPE: ${{ inputs.release_type }}
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
with:
|
|
repository: ${{ inputs.repository || github.repository }}
|
|
ref: ${{ inputs.ref || github.ref_name }}
|
|
|
|
- name: Install Python requirements
|
|
run: pip install -r requirements.txt
|
|
|
|
- name: Build tarballs
|
|
shell: bash
|
|
run: |
|
|
EXTRA_ARGS=()
|
|
if [[ "${{ inputs.include_test_tarballs }}" == "true" ]]; then
|
|
EXTRA_ARGS+=(--include-test-tarballs)
|
|
fi
|
|
|
|
python build_tools/build_tarballs.py \
|
|
--run-id="${{ env.ARTIFACT_RUN_ID }}" \
|
|
--run-github-repo="${{ inputs.artifact_github_repo }}" \
|
|
--dist-amdgpu-families="${{ inputs.dist_amdgpu_families }}" \
|
|
--platform="${{ inputs.platform }}" \
|
|
--package-version="${{ inputs.package_version }}" \
|
|
--output-dir="${{ github.workspace }}/tarballs" \
|
|
"${EXTRA_ARGS[@]}"
|
|
|
|
- name: Configure AWS Credentials
|
|
uses: ./.github/actions/configure_aws_artifacts_credentials
|
|
with:
|
|
release_type: ${{ inputs.release_type }}
|
|
|
|
- name: Upload tarballs
|
|
id: upload
|
|
run: |
|
|
python build_tools/github_actions/upload_tarballs.py \
|
|
--input-tarballs-dir="${{ github.workspace }}/tarballs" \
|
|
--run-id="${{ github.run_id }}" \
|
|
--platform="${{ inputs.platform }}" \
|
|
--release-type="${{ inputs.release_type }}"
|