0a52f5c101
## Add Full Build Capability to theROCK for HIP ### Summary This PR adds full build support to **theROCK** for HIP-related changes, ensuring that all components are built. ### Changes - Enabled full build coverage for the following projects: - `projects/clr` - `projects/hip` - `projects/hip-tests` - `projects/rocr-runtime` - Updated build configuration to include all targets for the above projects. - Ensured rocm-libraries is pulled to build optional components. ### Motivation These changes are required to support HIP development and testing within theROCK by ensuring all components are built together. This improves reliability, integration testing.
134 строки
4.4 KiB
YAML
134 строки
4.4 KiB
YAML
name: TheRock CI Linux
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
cmake_options:
|
|
type: string
|
|
project_to_test:
|
|
type: string
|
|
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
therock-build-linux:
|
|
name: Build Linux Packages
|
|
runs-on: azure-linux-scale-rocm
|
|
permissions:
|
|
id-token: write
|
|
container:
|
|
image: ghcr.io/rocm/therock_build_manylinux_x86_64@sha256:583d473f263a289222c48d4b493e2956b2354a45796f09dee6f2c8ecd4504ab6
|
|
options: -v /runner/config:/home/awsconfig/
|
|
strategy:
|
|
fail-fast: true
|
|
env:
|
|
CACHE_DIR: ${{ github.workspace }}/.container-cache
|
|
CCACHE_CONFIGPATH: ${{ github.workspace }}/.ccache/ccache.conf
|
|
AMDGPU_FAMILIES: "gfx94X-dcgpu"
|
|
TEATIME_FORCE_INTERACTIVE: 0
|
|
AWS_SHARED_CREDENTIALS_FILE: /home/awsconfig/credentials.ini
|
|
steps:
|
|
- name: "Checking out repository for rocm-systems"
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
|
|
- name: Checkout TheRock repository
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
with:
|
|
repository: "ROCm/TheRock"
|
|
path: "TheRock"
|
|
ref: 5cee24b272e0c58d2ce7c5ab01aee3400e562812 # 2025-12-12 commit
|
|
|
|
- name: Install python deps
|
|
run: |
|
|
pip install -r TheRock/requirements.txt
|
|
|
|
# safe.directory must be set before Runner health status
|
|
- name: Adjust git config
|
|
run: |
|
|
git config --global --add safe.directory $PWD
|
|
git config fetch.parallel 10
|
|
|
|
- name: Setup ccache
|
|
run: |
|
|
./TheRock/build_tools/setup_ccache.py \
|
|
--config-preset "github-oss-presubmit" \
|
|
--dir "$(dirname $CCACHE_CONFIGPATH)" \
|
|
--local-path "$CACHE_DIR/ccache"
|
|
|
|
- name: Runner health status
|
|
run: |
|
|
./TheRock/build_tools/health_status.py
|
|
|
|
- name: Fetch sources
|
|
timeout-minutes: 30
|
|
run: |
|
|
# Remove patches here if they cannot be applied cleanly, and they have not been deleted from TheRock repo
|
|
# rm ./TheRock/patches/amd-mainline/rocm-systems/*.patch
|
|
./TheRock/build_tools/fetch_sources.py --jobs 12 --no-include-rocm-systems
|
|
rm ./TheRock/patches/amd-mainline/rocm-systems/0002-Revert-hsakmt-bump-vgpr-count-for-gfx1151-1807.patch
|
|
|
|
|
|
|
|
- name: Patch rocm-systems
|
|
run: |
|
|
git -c user.name="therockbot" -c "user.email=therockbot@amd.com" am --whitespace=nowarn ./TheRock/patches/amd-mainline/rocm-systems/*.patch
|
|
|
|
- name: Configure Projects
|
|
env:
|
|
amdgpu_families: ${{ env.AMDGPU_FAMILIES }}
|
|
package_version: ADHOCBUILD
|
|
extra_cmake_options: "-DTHEROCK_ROCM_SYSTEMS_SOURCE_DIR=../ ${{ inputs.cmake_options }}"
|
|
BUILD_DIR: build
|
|
run: |
|
|
python TheRock/build_tools/github_actions/build_configure.py
|
|
|
|
- name: Build therock-dist
|
|
run: cmake --build TheRock/build --target therock-dist
|
|
|
|
- name: Build therock-archives
|
|
run: cmake --build TheRock/build --target therock-archives
|
|
|
|
- name: Report
|
|
if: ${{ !cancelled() }}
|
|
run: |
|
|
echo "Full SDK du:"
|
|
echo "------------"
|
|
du -h -d 1 TheRock/build/dist/rocm
|
|
echo "Artifact Archives:"
|
|
echo "------------------"
|
|
ls -lh TheRock/build/artifacts/*.tar.xz
|
|
echo "Artifacts:"
|
|
echo "----------"
|
|
du -h -d 1 TheRock/build/artifacts
|
|
echo "CCache Stats:"
|
|
echo "-------------"
|
|
ccache -s
|
|
|
|
- name: Configure AWS Credentials
|
|
if: ${{ always() && !github.event.pull_request.head.repo.fork }}
|
|
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
|
|
with:
|
|
aws-region: us-east-2
|
|
role-to-assume: arn:aws:iam::692859939525:role/therock-ci-external
|
|
|
|
- name: Post Build Upload
|
|
if: always()
|
|
run: |
|
|
python TheRock/build_tools/github_actions/post_build_upload.py \
|
|
--run-id ${{ github.run_id }} \
|
|
--artifact-group ${{ env.AMDGPU_FAMILIES }} \
|
|
--build-dir TheRock/build \
|
|
--upload
|
|
|
|
therock-test-linux:
|
|
name: "Test"
|
|
needs: [therock-build-linux]
|
|
uses: ./.github/workflows/therock-test-packages.yml
|
|
with:
|
|
project_to_test: ${{ inputs.project_to_test }}
|
|
amdgpu_families: "gfx94X-dcgpu"
|
|
test_runs_on: "linux-mi325-1gpu-ossci-rocm"
|
|
platform: "linux"
|