Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion .github/workflows/build_native_linux_packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@ on:
description: The type of release to build ("dev", "nightly", or "prerelease"). All developer-triggered jobs should use "dev"!
required: false
type: string
skip_package_upload:
description: Skip uploading packages to S3. Set to true when called from test workflows.
required: false
type: boolean
default: false
repository:
description: "Repository to checkout. Otherwise, defaults to `github.repository`."
type: string
Expand Down Expand Up @@ -64,6 +69,10 @@ on:
description: The type of release to build ("dev", "nightly", or "prerelease"). All developer-triggered jobs should use "dev"!
type: string
default: "dev"
skip_package_upload:
description: Skip uploading packages to S3. Set to true when called from test workflows.
type: boolean
default: false
ref:
description: "Branch, tag or SHA to checkout. Defaults to the reference or SHA that triggered the workflow."
type: string
Expand All @@ -76,7 +85,7 @@ run-name: Build native Linux packages (${{ inputs.artifact_group }}, ${{ inputs.

jobs:
build_native_packages:
name: Build Linux native Packages
name: Build Linux native Packages::${{ inputs.native_package_type }}::${{ inputs.artifact_group }}
strategy:
fail-fast: false
runs-on: ${{ github.repository_owner == 'ROCm' && 'azure-linux-scale-rocm' || 'ubuntu-24.04' }}
Expand Down Expand Up @@ -136,12 +145,14 @@ jobs:
--version-suffix ${{ env.ARTIFACT_RUN_ID }}

- name: Configure AWS Credentials
if: ${{ !inputs.skip_package_upload }}
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
if: ${{ !inputs.skip_package_upload }}
id: upload-packages
run: |
echo "Uploading to s3 bucket : ${{ inputs.release_type }}"
Expand Down
33 changes: 33 additions & 0 deletions .github/workflows/ci_linux.yml
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This workflow is deprecated. Please no new feature work here. Needs to go in https://github.com/ROCm/TheRock/blob/main/.github/workflows/multi_arch_ci_linux.yml instead/also

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We just switched the default pipeline from ci.yml to multi_arch_ci.yml today with #4204. This workflow now only runs on postsubmit or opt-in on PRs with the ci:run-non-multi-arch label.

Docs: https://github.com/ROCm/TheRock/blob/main/docs/development/ci_behavior_manipulation.md#pull-request

Original file line number Diff line number Diff line change
Expand Up @@ -218,3 +218,36 @@ jobs:
permissions:
contents: read
id-token: write

build_native_linux_packages:
needs: [build_portable_linux_artifacts]
Comment on lines +222 to +223
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be moved up in the workflow. Sort by dependency ordering, ROCm core first, then frameworks:

  1. build rocm artifacts
  2. test rocm artifacts
  3. build rocm native linux packages
  4. test rocm native linux packages
  5. build rocm python packages
  6. build pytorch python packages
  7. test pytorch python packages
  8. build jax python packages
  9. test jax python packages

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @ScottTodd for the feedback. This is exactly the plan for native packaging.
The test PR #3126 and multi arch PR #3561 and coming to shape. Once this is fully ready, we will get the same flow as you suggested. This current PR is a stop gap mechanism till these matures and hence the upload was skipped.

name: Build Native Packages (${{ matrix.package_type }})
# Build native packages for CI validation without uploading to S3.
# Run if:
# - Build succeeded (or using prebuilt artifacts)
# - Not expecting failure
if: >-
${{
!failure() &&
!cancelled() &&
(
inputs.use_prebuilt_artifacts == 'false' ||
inputs.use_prebuilt_artifacts == 'true'
Comment thread
raramakr marked this conversation as resolved.
) &&
inputs.expect_failure == false
}}
strategy:
fail-fast: false
matrix:
package_type: [deb, rpm]
uses: ./.github/workflows/build_native_linux_packages.yml
Comment thread
raramakr marked this conversation as resolved.
with:
artifact_group: ${{ inputs.artifact_group }}
artifact_run_id: ${{ inputs.artifact_run_id != '' && inputs.artifact_run_id || github.run_id }}
rocm_version: ${{ inputs.rocm_package_version }}
native_package_type: ${{ matrix.package_type }}
package_suffix: ${{ inputs.build_variant_suffix }}
skip_package_upload: true
permissions:
contents: read
id-token: write
Loading