From db5a420470a719effe78e4398f7484a6b081fa2d Mon Sep 17 00:00:00 2001 From: jbonnell-amd Date: Wed, 24 Jun 2026 10:51:36 -0400 Subject: [PATCH 1/9] Add pip upgrade, update workflow input to be more flexible --- ...rofiler-compute-continuous-integration.yml | 62 +++++++++++++++---- 1 file changed, 51 insertions(+), 11 deletions(-) diff --git a/.github/workflows/rocprofiler-compute-continuous-integration.yml b/.github/workflows/rocprofiler-compute-continuous-integration.yml index 583ce474ab5..f0eb13a86ae 100644 --- a/.github/workflows/rocprofiler-compute-continuous-integration.yml +++ b/.github/workflows/rocprofiler-compute-continuous-integration.yml @@ -6,14 +6,36 @@ on: - cron: '0 6 * * *' workflow_dispatch: inputs: - mode: - description: 'Build mode' + mi355_ubuntu2204: + description: 'MI355 • Ubuntu 22.04 (gfx950)' required: false - default: 'continuous' - type: choice - options: - - continuous - - nightly + default: true + type: boolean + mi355_ubuntu2404: + description: 'MI355 • Ubuntu 24.04 (gfx950)' + required: false + default: true + type: boolean + mi325_ubuntu2204: + description: 'MI325 • Ubuntu 22.04 (gfx94X)' + required: false + default: true + type: boolean + mi325_ubuntu2404: + description: 'MI325 • Ubuntu 24.04 (gfx94X)' + required: false + default: true + type: boolean + strix_halo_ubuntu2204: + description: 'Strix Halo • Ubuntu 22.04 (gfx1151)' + required: false + default: true + type: boolean + strix_halo_ubuntu2404: + description: 'Strix Halo • Ubuntu 24.04 (gfx1151)' + required: false + default: true + type: boolean push: branches: [ develop ] paths: @@ -72,11 +94,24 @@ jobs: id: generate_matrix working-directory: projects/rocprofiler-compute/.github run: | - if [ '${{ github.event_name }}' = 'schedule' ] || [ '${{ inputs.mode }}' = 'nightly' ]; then + if [ '${{ github.event_name }}' = 'schedule' ]; then MATRIX_CONTENT=$(cat ci-matrix.yml | yq '.matrix-ubuntu-nightly' -I=0 -o=json) else MATRIX_CONTENT=$(cat ci-matrix.yml | yq '.matrix-ubuntu-ci' -I=0 -o=json) fi + + # When dispatched manually, filter to only the selected configurations. + if [ '${{ github.event_name }}' = 'workflow_dispatch' ]; then + FILTER='.' + [ '${{ inputs.mi355_ubuntu2204 }}' != 'true' ] && FILTER+=' | map(select(not (.gpu == "mi355" and .["os-release"] == "22.04")))' + [ '${{ inputs.mi355_ubuntu2404 }}' != 'true' ] && FILTER+=' | map(select(not (.gpu == "mi355" and .["os-release"] == "24.04")))' + [ '${{ inputs.mi325_ubuntu2204 }}' != 'true' ] && FILTER+=' | map(select(not (.gpu == "mi325" and .["os-release"] == "22.04")))' + [ '${{ inputs.mi325_ubuntu2404 }}' != 'true' ] && FILTER+=' | map(select(not (.gpu == "mi325" and .["os-release"] == "24.04")))' + [ '${{ inputs.strix_halo_ubuntu2204 }}' != 'true' ] && FILTER+=' | map(select(not (.gpu == "strix-halo" and .["os-release"] == "22.04")))' + [ '${{ inputs.strix_halo_ubuntu2404 }}' != 'true' ] && FILTER+=' | map(select(not (.gpu == "strix-halo" and .["os-release"] == "24.04")))' + MATRIX_CONTENT=$(echo "${MATRIX_CONTENT}" | yq "${FILTER}" -I=0 -o=json) + fi + echo "matrix=${MATRIX_CONTENT}" >> $GITHUB_OUTPUT ubuntu: @@ -116,15 +151,18 @@ jobs: - name: Setup Environment id: setup_env run: | - if [ '${{ github.event_name }}' = 'schedule' ] || [ '${{ inputs.mode }}' = 'nightly' ]; then + if [ '${{ github.event_name }}' = 'schedule' ]; then MODE=Nightly - EXCLUDED_TESTS="" ADD_COVERAGE="--coverage" else MODE=Continuous - EXCLUDED_TESTS="test_profile_live_attach_detach" ADD_COVERAGE="" fi + if [ '${{ github.event_name }}' = 'schedule' ] || [ '${{ inputs.mode }}' = 'nightly' ]; then + EXCLUDED_TESTS="" + else + EXCLUDED_TESTS="test_profile_live_attach_detach" + fi echo "mode=${MODE}" >> $GITHUB_OUTPUT echo "excluded_tests=${EXCLUDED_TESTS}" >> $GITHUB_OUTPUT echo "add_coverage=${ADD_COVERAGE}" >> $GITHUB_OUTPUT @@ -165,6 +203,8 @@ jobs: - name: Install Python Requirements working-directory: projects/rocprofiler-compute run: | + pip --version + pip install --upgrade pip for i in 1 2 3; do pip install -r requirements.txt --break-system-packages --ignore-installed --timeout 60 && break echo "⚠️ pip install attempt $i failed, retrying..." From c5197b4d2355bf2b14fbd7bec89d51517372f500 Mon Sep 17 00:00:00 2001 From: jbonnell-amd Date: Wed, 24 Jun 2026 11:01:39 -0400 Subject: [PATCH 2/9] Update matrix content output --- .../workflows/rocprofiler-compute-continuous-integration.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rocprofiler-compute-continuous-integration.yml b/.github/workflows/rocprofiler-compute-continuous-integration.yml index f0eb13a86ae..86060a7add7 100644 --- a/.github/workflows/rocprofiler-compute-continuous-integration.yml +++ b/.github/workflows/rocprofiler-compute-continuous-integration.yml @@ -95,9 +95,9 @@ jobs: working-directory: projects/rocprofiler-compute/.github run: | if [ '${{ github.event_name }}' = 'schedule' ]; then - MATRIX_CONTENT=$(cat ci-matrix.yml | yq '.matrix-ubuntu-nightly' -I=0 -o=json) + MATRIX_CONTENT=$(cat ci-matrix.yml | yq '.["matrix-ubuntu-nightly"]' -I=0 -o=json) else - MATRIX_CONTENT=$(cat ci-matrix.yml | yq '.matrix-ubuntu-ci' -I=0 -o=json) + MATRIX_CONTENT=$(cat ci-matrix.yml | yq '.["matrix-ubuntu-ci"]' -I=0 -o=json) fi # When dispatched manually, filter to only the selected configurations. From 242f6ddab24799446a34fba87fc524576a8f7152 Mon Sep 17 00:00:00 2001 From: jbonnell-amd Date: Wed, 24 Jun 2026 11:05:26 -0400 Subject: [PATCH 3/9] Fix typo in generate_matrix --- .../rocprofiler-compute-continuous-integration.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/rocprofiler-compute-continuous-integration.yml b/.github/workflows/rocprofiler-compute-continuous-integration.yml index 86060a7add7..7f3b1741fcb 100644 --- a/.github/workflows/rocprofiler-compute-continuous-integration.yml +++ b/.github/workflows/rocprofiler-compute-continuous-integration.yml @@ -94,14 +94,14 @@ jobs: id: generate_matrix working-directory: projects/rocprofiler-compute/.github run: | - if [ '${{ github.event_name }}' = 'schedule' ]; then - MATRIX_CONTENT=$(cat ci-matrix.yml | yq '.["matrix-ubuntu-nightly"]' -I=0 -o=json) + if [ '${{ github.event_name }}' == 'schedule' ]; then + MATRIX_CONTENT=$(cat ci-matrix.yml | yq '.matrix-ubuntu-nightly' -I=0 -o=json) else - MATRIX_CONTENT=$(cat ci-matrix.yml | yq '.["matrix-ubuntu-ci"]' -I=0 -o=json) + MATRIX_CONTENT=$(cat ci-matrix.yml | yq '.matrix-ubuntu-ci' -I=0 -o=json) fi # When dispatched manually, filter to only the selected configurations. - if [ '${{ github.event_name }}' = 'workflow_dispatch' ]; then + if [ '${{ github.event_name }}' == 'workflow_dispatch' ]; then FILTER='.' [ '${{ inputs.mi355_ubuntu2204 }}' != 'true' ] && FILTER+=' | map(select(not (.gpu == "mi355" and .["os-release"] == "22.04")))' [ '${{ inputs.mi355_ubuntu2404 }}' != 'true' ] && FILTER+=' | map(select(not (.gpu == "mi355" and .["os-release"] == "24.04")))' From 524f27c6f2fddcbd5afbcec15e33d318f70cba42 Mon Sep 17 00:00:00 2001 From: jbonnell-amd Date: Wed, 24 Jun 2026 11:10:27 -0400 Subject: [PATCH 4/9] Revert workflow_dispatch changes --- ...rofiler-compute-continuous-integration.yml | 60 ++++--------------- 1 file changed, 11 insertions(+), 49 deletions(-) diff --git a/.github/workflows/rocprofiler-compute-continuous-integration.yml b/.github/workflows/rocprofiler-compute-continuous-integration.yml index 7f3b1741fcb..878afe13833 100644 --- a/.github/workflows/rocprofiler-compute-continuous-integration.yml +++ b/.github/workflows/rocprofiler-compute-continuous-integration.yml @@ -6,36 +6,14 @@ on: - cron: '0 6 * * *' workflow_dispatch: inputs: - mi355_ubuntu2204: - description: 'MI355 • Ubuntu 22.04 (gfx950)' + mode: + description: 'Build mode' required: false - default: true - type: boolean - mi355_ubuntu2404: - description: 'MI355 • Ubuntu 24.04 (gfx950)' - required: false - default: true - type: boolean - mi325_ubuntu2204: - description: 'MI325 • Ubuntu 22.04 (gfx94X)' - required: false - default: true - type: boolean - mi325_ubuntu2404: - description: 'MI325 • Ubuntu 24.04 (gfx94X)' - required: false - default: true - type: boolean - strix_halo_ubuntu2204: - description: 'Strix Halo • Ubuntu 22.04 (gfx1151)' - required: false - default: true - type: boolean - strix_halo_ubuntu2404: - description: 'Strix Halo • Ubuntu 24.04 (gfx1151)' - required: false - default: true - type: boolean + default: 'continuous' + type: choice + options: + - continuous + - nightly push: branches: [ develop ] paths: @@ -94,24 +72,11 @@ jobs: id: generate_matrix working-directory: projects/rocprofiler-compute/.github run: | - if [ '${{ github.event_name }}' == 'schedule' ]; then + if [ '${{ github.event_name }}' = 'schedule' ] || [ '${{ inputs.mode }}' = 'nightly' ]; then MATRIX_CONTENT=$(cat ci-matrix.yml | yq '.matrix-ubuntu-nightly' -I=0 -o=json) else MATRIX_CONTENT=$(cat ci-matrix.yml | yq '.matrix-ubuntu-ci' -I=0 -o=json) fi - - # When dispatched manually, filter to only the selected configurations. - if [ '${{ github.event_name }}' == 'workflow_dispatch' ]; then - FILTER='.' - [ '${{ inputs.mi355_ubuntu2204 }}' != 'true' ] && FILTER+=' | map(select(not (.gpu == "mi355" and .["os-release"] == "22.04")))' - [ '${{ inputs.mi355_ubuntu2404 }}' != 'true' ] && FILTER+=' | map(select(not (.gpu == "mi355" and .["os-release"] == "24.04")))' - [ '${{ inputs.mi325_ubuntu2204 }}' != 'true' ] && FILTER+=' | map(select(not (.gpu == "mi325" and .["os-release"] == "22.04")))' - [ '${{ inputs.mi325_ubuntu2404 }}' != 'true' ] && FILTER+=' | map(select(not (.gpu == "mi325" and .["os-release"] == "24.04")))' - [ '${{ inputs.strix_halo_ubuntu2204 }}' != 'true' ] && FILTER+=' | map(select(not (.gpu == "strix-halo" and .["os-release"] == "22.04")))' - [ '${{ inputs.strix_halo_ubuntu2404 }}' != 'true' ] && FILTER+=' | map(select(not (.gpu == "strix-halo" and .["os-release"] == "24.04")))' - MATRIX_CONTENT=$(echo "${MATRIX_CONTENT}" | yq "${FILTER}" -I=0 -o=json) - fi - echo "matrix=${MATRIX_CONTENT}" >> $GITHUB_OUTPUT ubuntu: @@ -151,17 +116,14 @@ jobs: - name: Setup Environment id: setup_env run: | - if [ '${{ github.event_name }}' = 'schedule' ]; then + if [ '${{ github.event_name }}' = 'schedule' ] || [ '${{ inputs.mode }}' = 'nightly' ]; then MODE=Nightly + EXCLUDED_TESTS="" ADD_COVERAGE="--coverage" else MODE=Continuous - ADD_COVERAGE="" - fi - if [ '${{ github.event_name }}' = 'schedule' ] || [ '${{ inputs.mode }}' = 'nightly' ]; then - EXCLUDED_TESTS="" - else EXCLUDED_TESTS="test_profile_live_attach_detach" + ADD_COVERAGE="" fi echo "mode=${MODE}" >> $GITHUB_OUTPUT echo "excluded_tests=${EXCLUDED_TESTS}" >> $GITHUB_OUTPUT From d5cc93fa4e6a3692780af36ee49fc01049f2abad Mon Sep 17 00:00:00 2001 From: jbonnell-amd Date: Wed, 24 Jun 2026 11:16:05 -0400 Subject: [PATCH 5/9] Remove Nightly CDash label on workflow_dispatch calls --- .../rocprofiler-compute-continuous-integration.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/rocprofiler-compute-continuous-integration.yml b/.github/workflows/rocprofiler-compute-continuous-integration.yml index 878afe13833..0110d1497d2 100644 --- a/.github/workflows/rocprofiler-compute-continuous-integration.yml +++ b/.github/workflows/rocprofiler-compute-continuous-integration.yml @@ -116,15 +116,19 @@ jobs: - name: Setup Environment id: setup_env run: | - if [ '${{ github.event_name }}' = 'schedule' ] || [ '${{ inputs.mode }}' = 'nightly' ]; then + if [ '${{ github.event_name }}' = 'schedule' ]; then MODE=Nightly - EXCLUDED_TESTS="" ADD_COVERAGE="--coverage" else MODE=Continuous - EXCLUDED_TESTS="test_profile_live_attach_detach" ADD_COVERAGE="" fi + if [ '${{ github.event_name }}' = 'schedule' ] || [ '${{ inputs.mode }}' = 'nightly' ]; then + EXCLUDED_TESTS="" + else + EXCLUDED_TESTS="test_profile_live_attach_detach" + fi + echo "mode=${MODE}" >> $GITHUB_OUTPUT echo "excluded_tests=${EXCLUDED_TESTS}" >> $GITHUB_OUTPUT echo "add_coverage=${ADD_COVERAGE}" >> $GITHUB_OUTPUT From 49dd46d0c12a74b3e8b1edef889db7984cc52471 Mon Sep 17 00:00:00 2001 From: jbonnell-amd Date: Wed, 24 Jun 2026 11:48:56 -0400 Subject: [PATCH 6/9] Add upgrade pip command to Dockerfile.ubuntu.ci --- projects/rocprofiler-compute/docker/Dockerfile.ubuntu.ci | 1 + 1 file changed, 1 insertion(+) diff --git a/projects/rocprofiler-compute/docker/Dockerfile.ubuntu.ci b/projects/rocprofiler-compute/docker/Dockerfile.ubuntu.ci index f1eabde20ee..b598735ed58 100644 --- a/projects/rocprofiler-compute/docker/Dockerfile.ubuntu.ci +++ b/projects/rocprofiler-compute/docker/Dockerfile.ubuntu.ci @@ -31,6 +31,7 @@ RUN apt-get dist-upgrade -y && \ RUN OS_VERSION=$(grep '^VERSION_ID=' /etc/os-release | cut -d'=' -f2 | tr -d '"') && \ OS_ID=$(grep '^ID=' /etc/os-release | cut -d'=' -f2 | tr -d '"') && \ if [ "${OS_ID}" == "ubuntu" ] && [ "${OS_VERSION}" == "22.04" ]; then \ + python3 -m pip --upgrade pip; \ python3 -m pip install 'cmake==3.21'; \ else \ python3 -m pip install --break-system-packages 'cmake==3.21'; \ From a0b84a39512ec7f46629ad39d4108dd5361c3374 Mon Sep 17 00:00:00 2001 From: jbonnell-amd Date: Wed, 24 Jun 2026 11:49:26 -0400 Subject: [PATCH 7/9] Remove pip upgrade from workflow file --- .github/workflows/rocprofiler-compute-continuous-integration.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/rocprofiler-compute-continuous-integration.yml b/.github/workflows/rocprofiler-compute-continuous-integration.yml index 0110d1497d2..113f15a5120 100644 --- a/.github/workflows/rocprofiler-compute-continuous-integration.yml +++ b/.github/workflows/rocprofiler-compute-continuous-integration.yml @@ -170,7 +170,6 @@ jobs: working-directory: projects/rocprofiler-compute run: | pip --version - pip install --upgrade pip for i in 1 2 3; do pip install -r requirements.txt --break-system-packages --ignore-installed --timeout 60 && break echo "⚠️ pip install attempt $i failed, retrying..." From 031bcf4a6bb6574529c7fe04e79643754bc3aaeb Mon Sep 17 00:00:00 2001 From: jbonnell-amd Date: Wed, 24 Jun 2026 11:58:57 -0400 Subject: [PATCH 8/9] Update strix halo runner names --- projects/rocprofiler-compute/.github/ci-matrix.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/projects/rocprofiler-compute/.github/ci-matrix.yml b/projects/rocprofiler-compute/.github/ci-matrix.yml index 5d116703f73..0b9eeeb7758 100644 --- a/projects/rocprofiler-compute/.github/ci-matrix.yml +++ b/projects/rocprofiler-compute/.github/ci-matrix.yml @@ -8,10 +8,10 @@ matrix-ubuntu-nightly: - { os-release: '22.04', gpu: 'mi325', arch: 'gfx94X', runner: 'linux-gfx942-1gpu-core42-ossci-rocm' } - { os-release: '24.04', gpu: 'mi325', arch: 'gfx94X', runner: 'linux-gfx942-1gpu-core42-ossci-rocm' } # Strix Halo - - { os-release: '22.04', gpu: 'strix-halo', arch: 'gfx1151', runner: 'linux-strix-halo-gpu-rocm' } - - { os-release: '24.04', gpu: 'strix-halo', arch: 'gfx1151', runner: 'linux-strix-halo-gpu-rocm' } + - { os-release: '22.04', gpu: 'strix-halo', arch: 'gfx1151', runner: 'linux-gfx1151-gpu-rocm' } + - { os-release: '24.04', gpu: 'strix-halo', arch: 'gfx1151', runner: 'linux-gfx1151-gpu-rocm' } matrix-ubuntu-ci: # MI355 - { os-release: '24.04', gpu: 'mi355', arch: 'gfx950', runner: 'linux-mi355-1gpu-ossci-rocm' } # Strix Halo - - { os-release: '24.04', gpu: 'strix-halo', arch: 'gfx1151', runner: 'linux-strix-halo-gpu-rocm' } + - { os-release: '24.04', gpu: 'strix-halo', arch: 'gfx1151', runner: 'linux-gfx1151-gpu-rocm' } From e4a44794a0b6079848b56d4d0762eca48252f8ab Mon Sep 17 00:00:00 2001 From: jbonnell-amd Date: Wed, 24 Jun 2026 12:00:57 -0400 Subject: [PATCH 9/9] Update pip upgrade command in Dockerfile.ubuntu.ci --- projects/rocprofiler-compute/docker/Dockerfile.ubuntu.ci | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/rocprofiler-compute/docker/Dockerfile.ubuntu.ci b/projects/rocprofiler-compute/docker/Dockerfile.ubuntu.ci index b598735ed58..68e566d48e7 100644 --- a/projects/rocprofiler-compute/docker/Dockerfile.ubuntu.ci +++ b/projects/rocprofiler-compute/docker/Dockerfile.ubuntu.ci @@ -31,7 +31,7 @@ RUN apt-get dist-upgrade -y && \ RUN OS_VERSION=$(grep '^VERSION_ID=' /etc/os-release | cut -d'=' -f2 | tr -d '"') && \ OS_ID=$(grep '^ID=' /etc/os-release | cut -d'=' -f2 | tr -d '"') && \ if [ "${OS_ID}" == "ubuntu" ] && [ "${OS_VERSION}" == "22.04" ]; then \ - python3 -m pip --upgrade pip; \ + python3 -m pip install --upgrade pip; \ python3 -m pip install 'cmake==3.21'; \ else \ python3 -m pip install --break-system-packages 'cmake==3.21'; \