Repository: ROCm/TheRock
Pull request #608: Adding windows s3 upload
Author: login: geomin12
Created: 2025-05-13T20:28:21Z | Merged: 2025-05-14T00:45:38Z

This PR is only responsible for uploading s3 windows artifacts

Changes:
- Adding windows s3 upload

Progress on #541 



Diff:
diff --git a/.github/workflows/build_windows_packages.yml b/.github/workflows/build_windows_packages.yml
index 28f9fab2997..39e2f6695e2 100644
--- a/.github/workflows/build_windows_packages.yml
+++ b/.github/workflows/build_windows_packages.yml
@@ -39,6 +39,7 @@ jobs:
       CCACHE_DIR: "${{github.workspace}}/.cache/ccache"
       CCACHE_MAXSIZE: "4000M"
       TEATIME_FORCE_INTERACTIVE: 0
+      AMDGPU_FAMILIES: ${{ inputs.amdgpu_families }}
     steps:
       - name: "Create build dir"
         shell: powershell
@@ -71,6 +72,8 @@ jobs:
           choco install --no-progress -y ninja
           choco install --no-progress -y strawberryperl
           echo "$PATH;C:\Strawberry\c\bin" >> $GITHUB_PATH
+          choco install --no-progress -y awscli
+          echo "$PATH;C:\Program Files\Amazon\AWSCLIV2" >> $GITHUB_PATH
 
       # After other installs, so MSVC get priority in the PATH.
       - name: Configure MSVC
@@ -155,7 +158,7 @@ jobs:
             ${extra_cmake_options}
 
       - name: Build Projects
-        run: cmake --build "${{ env.BUILD_DIR_BASH }}" -j $(nproc --all)
+        run: cmake --build "${{ env.BUILD_DIR_BASH }}" -j $(nproc --all) --target therock-archives therock-dist
 
       - name: Report
         if: ${{ !cancelled() }}
@@ -163,6 +166,12 @@ jobs:
           echo "Build dir:"
           echo "------------"
           ls -lh "${{ env.BUILD_DIR_BASH }}"
+          echo "Artifact Archives:"
+          echo "------------------"
+          ls -lh "${{ env.BUILD_DIR_BASH }}"/artifacts/*.tar.xz
+          echo "Artifacts:"
+          echo "----------"
+          du -h -d 1 "${{ env.BUILD_DIR_BASH }}"/artifacts
           echo "CCache Stats:"
           echo "-------------"
           ccache -s
@@ -176,9 +185,53 @@ jobs:
 
       - name: "Build size report"
         if: always()
+        shell: powershell
         run: |
           $fs = Get-PSDrive -PSProvider "FileSystem"
           $fsout = $fs | Select-Object -Property Name,Used,Free,Root
           $fsout | % {$_.Used/=1GB;$_.Free/=1GB;$_} | Write-Host
           get-disk | Select-object @{Name="Size(GB)";Expression={$_.Size/1GB}} | Write-Host
+
+      - name: Configure AWS Credentials
+        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-artifacts
+
+      # TODO: Move to script
+      - name: Create Index Files
+        run: |
+          curl --silent --fail --show-error --location \
+            https://raw.githubusercontent.com/joshbrunty/Indexer/6d8cbfd15d3853b482e6a49f2d875ded9188b721/indexer.py \
+            --output ${{ env.BUILD_DIR_BASH }}/indexer.py
+          python ${{ env.BUILD_DIR_BASH }}/indexer.py -f '*.tar.xz*' ${{ env.BUILD_DIR_BASH }}/artifacts/
+          python ${{ env.BUILD_DIR_BASH }}/indexer.py -f '*.log' ${{ env.BUILD_DIR_BASH }}/logs/
+          sed -i 's,a href="..",a href="../../index-${{env.AMDGPU_FAMILIES}}.html",g' ${{ env.BUILD_DIR_BASH }}/logs/index.html
+
+      # TODO: Move to script
+      - name: Upload Artifacts
         shell: powershell
+        run: |
+          $Env:PATH += ";C:\Program Files\Amazon\AWSCLIV2"
+          aws s3 cp ${{ env.BASE_BUILD_DIR_POWERSHELL }}\artifacts s3://therock-artifacts/${{github.run_id}}-windows/ `
+            --recursive --no-follow-symlinks `
+            --exclude "*" `
+            --include "*.tar.xz*"
+          aws s3 cp ${{ env.BASE_BUILD_DIR_POWERSHELL }}\artifacts\index.html s3://therock-artifacts/${{github.run_id}}-windows/index-${{env.AMDGPU_FAMILIES}}.html
+
+      # TODO: Move to script
+      - name: Upload Logs
+        shell: powershell
+        run: |
+          $Env:PATH += ";C:\Program Files\Amazon\AWSCLIV2"
+          aws s3 cp ${{ env.BASE_BUILD_DIR_POWERSHELL }}\logs s3://therock-artifacts/${{github.run_id}}-windows/logs/${{env.AMDGPU_FAMILIES}}/ `
+            --recursive `
+            --content-type="text/plain" `
+            --exclude "*" `
+            --include "*.log"
+          aws s3 cp ${{ env.BASE_BUILD_DIR_POWERSHELL }}\logs\index.html s3://therock-artifacts/${{github.run_id}}-windows/logs/${{env.AMDGPU_FAMILIES}}/
+
+      - name: Add Links to Job Summary
+        run: |
+          echo '* [Artifacts](https://therock-artifacts.s3.us-east-2.amazonaws.com/${{github.run_id}}-windows/index-${{env.AMDGPU_FAMILIES}}.html)' >> $GITHUB_STEP_SUMMARY
+          echo '* [Build logs](https://therock-artifacts.s3.us-east-2.amazonaws.com/${{github.run_id}}-windows/logs/${{env.AMDGPU_FAMILIES}}/index.html)' >> $GITHUB_STEP_SUMMARY
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 513abfd1683..a8de27c6d12 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -92,14 +92,12 @@ jobs:
       fail-fast: false
       matrix:
         families: ${{ fromJSON(needs.setup.outputs.windows_amdgpu_families) }}
-        extra_cmake_options:
-          - "-DBUILD_TESTING=ON"
-          - "-DBUILD_TESTING=OFF"
     uses: ./.github/workflows/ci_windows.yml
     with:
       amdgpu_families: ${{ matrix.families.family }}
-      windows_use_prebuilt_artifacts: ${{ inputs.windows_use_prebuilt_artifacts == 'true' && 'true' || 'false' }}
-      extra_cmake_options: ${{ matrix.extra_cmake_options }}
+      windows_use_prebuilt_artifacts: ${{ inputs.windows_use_prebuilt_artifacts == true && 'true' || 'false' }}
+    permissions:
+      id-token: write
 
   # build_python_packages:
   #   name: Build Python Packages
diff --git a/.github/workflows/ci_windows.yml b/.github/workflows/ci_windows.yml
index 14bd0d737be..46b0b1f3a15 100644
--- a/.github/workflows/ci_windows.yml
+++ b/.github/workflows/ci_windows.yml
@@ -23,3 +23,5 @@ jobs:
     with:
       amdgpu_families: ${{ inputs.amdgpu_families }}
       extra_cmake_options: ${{ inputs.extra_cmake_options }}
+    permissions:
+      id-token: write


Reviews:
user: login: marbre
body: If the bucket name changes, I think `build_tools/install_rocm_from_artifacts.py` as well as `build_tools/fetch_artifacts.py` need to be adjust accordingly?
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-13T20:51:38Z
user: login: ScottTodd
body: Nice, thanks!
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-13T21:03:34Z
user: login: marbre
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-13T22:33:09Z
user: login: ScottTodd
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-13T22:36:55Z
user: login: marbre
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-13T23:06:52Z
user: login: geomin12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-13T23:13:33Z
user: login: geomin12
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-13T23:14:37Z
user: login: marbre
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-13T23:50:59Z
user: login: marbre
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-13T23:52:29Z
user: login: ScottTodd
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-14T00:08:04Z
user: login: ScottTodd
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-14T00:11:21Z
user: login: marbre
state: APPROVED
author_association: MEMBER
submitted_at: 2025-05-14T00:14:51Z

Review comments:
diff_hunk: @@ -123,28 +123,28 @@ jobs:
             --output build/indexer.py
           python build/indexer.py -f '*.tar.xz*' build/artifacts/
           python build/indexer.py -f '*.log' build/logs/
-          sed -i 's,a href="..",a href="../../index-${{env.AMDGPU_FAMILIES}}.html",g' build/logs/index.html
+          sed -i 's,a href="..",a href="../../index-${{env.AMDGPU_FAMILIES}}-linux.html",g' build/logs/index.html
 
       # TODO: Move to script
       - name: Upload Artifacts
         run: |
-          aws s3 cp build/artifacts/ s3://therock-artifacts/${{github.run_id}}/ \
+          aws s3 cp build/artifacts/ s3://therock-artifacts/${{github.run_id}}-linux/ \
             --recursive --no-follow-symlinks \
             --exclude "*" \
             --include "*.tar.xz*"
-          aws s3 cp build/artifacts/index.html s3://therock-artifacts/${{github.run_id}}/index-${{env.AMDGPU_FAMILIES}}.html
+          aws s3 cp build/artifacts/index.html s3://therock-artifacts/${{github.run_id}}-linux/index-${{env.AMDGPU_FAMILIES}}-linux.html
path: .github/workflows/build_linux_packages.yml
user: login: marbre
body: If the OS name is already in the path, I think it does not need to be added to the filename of the index file?
created_at: 2025-05-13T20:49:27Z
author_association: MEMBER
diff_hunk: @@ -182,3 +191,47 @@ jobs:
           $fsout | % {$_.Used/=1GB;$_.Free/=1GB;$_} | Write-Host
           get-disk | Select-object @{Name="Size(GB)";Expression={$_.Size/1GB}} | Write-Host
         shell: powershell
+
+      - name: Configure AWS Credentials
+        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-artifacts
+
+      # TODO: Move to script
+      - name: Create Index Files
+        run: |
+          curl --silent --fail --show-error --location \
+            https://raw.githubusercontent.com/joshbrunty/Indexer/6d8cbfd15d3853b482e6a49f2d875ded9188b721/indexer.py \
+            --output ${{ env.BUILD_DIR_BASH }}/indexer.py
+          python ${{ env.BUILD_DIR_BASH }}/indexer.py -f '*.tar.xz*' ${{ env.BUILD_DIR_BASH }}/artifacts/
+          python ${{ env.BUILD_DIR_BASH }}/indexer.py -f '*.log' ${{ env.BUILD_DIR_BASH }}/logs/
+          sed -i 's,a href="..",a href="../../index-${{env.AMDGPU_FAMILIES}}-windows.html",g' ${{ env.BUILD_DIR_BASH }}/logs/index.html
+
+      # TODO: Move to script
+      - name: Upload Artifacts
path: .github/workflows/build_windows_packages.yml
user: login: ScottTodd
body: Please tag associated issues in PR descriptions. Here the tracking issue is https://github.com/ROCm/TheRock/issues/541.
created_at: 2025-05-13T20:56:33Z
author_association: MEMBER
diff_hunk: @@ -182,3 +191,47 @@ jobs:
           $fsout | % {$_.Used/=1GB;$_.Free/=1GB;$_} | Write-Host
           get-disk | Select-object @{Name="Size(GB)";Expression={$_.Size/1GB}} | Write-Host
         shell: powershell
+
+      - name: Configure AWS Credentials
+        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-artifacts
+
+      # TODO: Move to script
+      - name: Create Index Files
+        run: |
+          curl --silent --fail --show-error --location \
+            https://raw.githubusercontent.com/joshbrunty/Indexer/6d8cbfd15d3853b482e6a49f2d875ded9188b721/indexer.py \
+            --output ${{ env.BUILD_DIR_BASH }}/indexer.py
+          python ${{ env.BUILD_DIR_BASH }}/indexer.py -f '*.tar.xz*' ${{ env.BUILD_DIR_BASH }}/artifacts/
+          python ${{ env.BUILD_DIR_BASH }}/indexer.py -f '*.log' ${{ env.BUILD_DIR_BASH }}/logs/
+          sed -i 's,a href="..",a href="../../index-${{env.AMDGPU_FAMILIES}}-windows.html",g' ${{ env.BUILD_DIR_BASH }}/logs/index.html
+
+      # TODO: Move to script
+      - name: Upload Artifacts
+        shell: powershell
+        run: |
+          $Env:PATH += ";C:\Program Files\Amazon\AWSCLIV2"
path: .github/workflows/build_windows_packages.yml
user: login: ScottTodd
body: ew :P fine for now, but if this moves to a Python script that uses the AWS Python SDK, maybe we won't need a native tool install and any path manipulation at all
created_at: 2025-05-13T20:59:35Z
author_association: MEMBER
diff_hunk: @@ -182,3 +191,47 @@ jobs:
           $fsout | % {$_.Used/=1GB;$_.Free/=1GB;$_} | Write-Host
           get-disk | Select-object @{Name="Size(GB)";Expression={$_.Size/1GB}} | Write-Host
         shell: powershell
+
+      - name: Configure AWS Credentials
+        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-artifacts
+
+      # TODO: Move to script
+      - name: Create Index Files
+        run: |
+          curl --silent --fail --show-error --location \
+            https://raw.githubusercontent.com/joshbrunty/Indexer/6d8cbfd15d3853b482e6a49f2d875ded9188b721/indexer.py \
+            --output ${{ env.BUILD_DIR_BASH }}/indexer.py
+          python ${{ env.BUILD_DIR_BASH }}/indexer.py -f '*.tar.xz*' ${{ env.BUILD_DIR_BASH }}/artifacts/
+          python ${{ env.BUILD_DIR_BASH }}/indexer.py -f '*.log' ${{ env.BUILD_DIR_BASH }}/logs/
+          sed -i 's,a href="..",a href="../../index-${{env.AMDGPU_FAMILIES}}-windows.html",g' ${{ env.BUILD_DIR_BASH }}/logs/index.html
+
+      # TODO: Move to script
+      - name: Upload Artifacts
+        shell: powershell
+        run: |
+          $Env:PATH += ";C:\Program Files\Amazon\AWSCLIV2"
+          aws s3 cp ${{ env.BASE_BUILD_DIR_POWERSHELL }}\artifacts s3://therock-artifacts/${{github.run_id}}-windows/ `
+            --recursive --no-follow-symlinks `
+            --exclude "*" `
+            --include "*.tar.xz*"
+          aws s3 cp ${{ env.BASE_BUILD_DIR_POWERSHELL }}\artifacts\index.html s3://therock-artifacts/${{github.run_id}}-windows/index-${{env.AMDGPU_FAMILIES}}-windows.html
path: .github/workflows/build_windows_packages.yml
user: login: ScottTodd
body: > * linux buckets are `{run-id}-linux`, windows buckets are `{run-id}-windows` like [this windows example](https://therock-artifacts.s3.us-east-2.amazonaws.com/15004622096-windows/index-gfx110X-dgpu-windows.html)

FYI I fixed the URL in the PR description, it was some broken markdown before. I'm also pulling down some of the files to check them out.
created_at: 2025-05-13T21:03:28Z
author_association: MEMBER
diff_hunk: @@ -115,7 +115,7 @@ jobs:
           aws-region: us-east-2
           role-to-assume: arn:aws:iam::692859939525:role/therock-artifacts
 
-      # TODO: Move to script
+      # TODO (#541): Move to script
path: .github/workflows/build_linux_packages.yml
user: login: marbre
body: I think #541 should be in the PR description but it is not the appropriate reference here.
created_at: 2025-05-13T22:31:24Z
author_association: MEMBER
diff_hunk: @@ -182,3 +191,47 @@ jobs:
           $fsout | % {$_.Used/=1GB;$_.Free/=1GB;$_} | Write-Host
           get-disk | Select-object @{Name="Size(GB)";Expression={$_.Size/1GB}} | Write-Host
         shell: powershell
+
+      - name: Configure AWS Credentials
+        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-artifacts
+
+      # TODO (#541): Move to script
+      - name: Create Index Files
+        run: |
+          curl --silent --fail --show-error --location \
+            https://raw.githubusercontent.com/joshbrunty/Indexer/6d8cbfd15d3853b482e6a49f2d875ded9188b721/indexer.py \
+            --output ${{ env.BUILD_DIR_BASH }}/indexer.py
+          python ${{ env.BUILD_DIR_BASH }}/indexer.py -f '*.tar.xz*' ${{ env.BUILD_DIR_BASH }}/artifacts/
+          python ${{ env.BUILD_DIR_BASH }}/indexer.py -f '*.log' ${{ env.BUILD_DIR_BASH }}/logs/
+          sed -i 's,a href="..",a href="../../index-${{env.AMDGPU_FAMILIES}}-windows.html",g' ${{ env.BUILD_DIR_BASH }}/logs/index.html
+
+      # TODO (#541): Move to script
+      - name: Upload Artifacts
+        shell: powershell
+        run: |
+          $Env:PATH += ";C:\Program Files\Amazon\AWSCLIV2"
+          aws s3 cp ${{ env.BASE_BUILD_DIR_POWERSHELL }}\artifacts s3://therock-artifacts/${{github.run_id}}-windows/ `
+            --recursive --no-follow-symlinks `
+            --exclude "*" `
+            --include "*.tar.xz*"
+          aws s3 cp ${{ env.BASE_BUILD_DIR_POWERSHELL }}\artifacts\index.html s3://therock-artifacts/${{github.run_id}}-windows/index-${{env.AMDGPU_FAMILIES}}-windows.html
path: .github/workflows/build_windows_packages.yml
user: login: marbre
body: ```suggestion
          aws s3 cp ${{ env.BASE_BUILD_DIR_POWERSHELL }}\artifacts\index.html s3://therock-artifacts/${{github.run_id}}-windows/index-${{env.AMDGPU_FAMILIES}}.html
```
want to drop `-windows` here as well?
created_at: 2025-05-13T22:32:09Z
author_association: MEMBER
diff_hunk: @@ -182,3 +191,47 @@ jobs:
           $fsout | % {$_.Used/=1GB;$_.Free/=1GB;$_} | Write-Host
           get-disk | Select-object @{Name="Size(GB)";Expression={$_.Size/1GB}} | Write-Host
         shell: powershell
+
+      - name: Configure AWS Credentials
+        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-artifacts
+
+      # TODO (#541): Move to script
+      - name: Create Index Files
+        run: |
+          curl --silent --fail --show-error --location \
+            https://raw.githubusercontent.com/joshbrunty/Indexer/6d8cbfd15d3853b482e6a49f2d875ded9188b721/indexer.py \
+            --output ${{ env.BUILD_DIR_BASH }}/indexer.py
+          python ${{ env.BUILD_DIR_BASH }}/indexer.py -f '*.tar.xz*' ${{ env.BUILD_DIR_BASH }}/artifacts/
+          python ${{ env.BUILD_DIR_BASH }}/indexer.py -f '*.log' ${{ env.BUILD_DIR_BASH }}/logs/
+          sed -i 's,a href="..",a href="../../index-${{env.AMDGPU_FAMILIES}}-windows.html",g' ${{ env.BUILD_DIR_BASH }}/logs/index.html
+
+      # TODO (#541): Move to script
+      - name: Upload Artifacts
+        shell: powershell
+        run: |
+          $Env:PATH += ";C:\Program Files\Amazon\AWSCLIV2"
+          aws s3 cp ${{ env.BASE_BUILD_DIR_POWERSHELL }}\artifacts s3://therock-artifacts/${{github.run_id}}-windows/ `
+            --recursive --no-follow-symlinks `
+            --exclude "*" `
+            --include "*.tar.xz*"
+          aws s3 cp ${{ env.BASE_BUILD_DIR_POWERSHELL }}\artifacts\index.html s3://therock-artifacts/${{github.run_id}}-windows/index-${{env.AMDGPU_FAMILIES}}-windows.html
+
+      # TODO (#541): Move to script
+      - name: Upload Logs
+        shell: powershell
+        run: |
+          $Env:PATH += ";C:\Program Files\Amazon\AWSCLIV2"
+          aws s3 cp ${{ env.BASE_BUILD_DIR_POWERSHELL }}\logs s3://therock-artifacts/${{github.run_id}}-windows/logs/${{env.AMDGPU_FAMILIES}}/ `
+            --recursive `
+            --content-type="text/plain" `
+            --exclude "*" `
+            --include "*.log"
+          aws s3 cp ${{ env.BASE_BUILD_DIR_POWERSHELL }}\logs\index.html s3://therock-artifacts/${{github.run_id}}-windows/logs/${{env.AMDGPU_FAMILIES}}/
+
+      - name: Add Links to Job Summary
+        run: |
+          echo '* [Artifacts](https://therock-artifacts.s3.us-east-2.amazonaws.com/${{github.run_id}}-windows/index-${{env.AMDGPU_FAMILIES}}-windows.html)' >> $GITHUB_STEP_SUMMARY
path: .github/workflows/build_windows_packages.yml
user: login: marbre
body: ```suggestion
          echo '* [Artifacts](https://therock-artifacts.s3.us-east-2.amazonaws.com/${{github.run_id}}-windows/index-${{env.AMDGPU_FAMILIES}}.html)' >> $GITHUB_STEP_SUMMARY
```
created_at: 2025-05-13T22:32:32Z
author_association: MEMBER
diff_hunk: @@ -115,7 +115,7 @@ jobs:
           aws-region: us-east-2
           role-to-assume: arn:aws:iam::692859939525:role/therock-artifacts
 
-      # TODO: Move to script
+      # TODO (#541): Move to script
path: .github/workflows/build_linux_packages.yml
user: login: ScottTodd
body: Yeah. `Progress on https://github.com/ROCm/TheRock/issues/541`, or `Fixes https://github.com/ROCm/TheRock/issues/541` in the PR description.

https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue
created_at: 2025-05-13T22:36:55Z
author_association: MEMBER
diff_hunk: @@ -182,3 +191,47 @@ jobs:
           $fsout | % {$_.Used/=1GB;$_.Free/=1GB;$_} | Write-Host
           get-disk | Select-object @{Name="Size(GB)";Expression={$_.Size/1GB}} | Write-Host
         shell: powershell
+
+      - name: Configure AWS Credentials
+        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-artifacts
+
+      # TODO: Move to script
+      - name: Create Index Files
+        run: |
+          curl --silent --fail --show-error --location \
path: .github/workflows/build_windows_packages.yml
user: login: marbre
body: I guess this should run in bash? Maybe be explicit here if using different shells in different steps.
created_at: 2025-05-13T22:59:28Z
author_association: MEMBER
diff_hunk: @@ -182,3 +191,47 @@ jobs:
           $fsout | % {$_.Used/=1GB;$_.Free/=1GB;$_} | Write-Host
           get-disk | Select-object @{Name="Size(GB)";Expression={$_.Size/1GB}} | Write-Host
         shell: powershell
path: .github/workflows/build_windows_packages.yml
user: login: marbre
body: NIT: Move before `run` to be consistent with other steps.
created_at: 2025-05-13T23:04:53Z
author_association: MEMBER
diff_hunk: @@ -92,14 +92,12 @@ jobs:
       fail-fast: false
       matrix:
         families: ${{ fromJSON(needs.setup.outputs.windows_amdgpu_families) }}
-        extra_cmake_options:
-          - "-DBUILD_TESTING=ON"
-          - "-DBUILD_TESTING=OFF"
path: .github/workflows/ci.yml
user: login: marbre
body: Are we still building with and without testing to get an early signal?
created_at: 2025-05-13T23:06:31Z
author_association: MEMBER
diff_hunk: @@ -182,3 +191,47 @@ jobs:
           $fsout | % {$_.Used/=1GB;$_.Free/=1GB;$_} | Write-Host
           get-disk | Select-object @{Name="Size(GB)";Expression={$_.Size/1GB}} | Write-Host
         shell: powershell
+
+      - name: Configure AWS Credentials
+        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-artifacts
+
+      # TODO: Move to script
+      - name: Create Index Files
+        run: |
+          curl --silent --fail --show-error --location \
path: .github/workflows/build_windows_packages.yml
user: login: geomin12
body: This [default bash](https://github.com/ROCm/TheRock/blob/3add305f41a8ce32b43e67c739daffe9e3d5f984/.github/workflows/build_windows_packages.yml#L31-L33) will actually run everything in bash! 
created_at: 2025-05-13T23:13:33Z
author_association: CONTRIBUTOR
diff_hunk: @@ -92,14 +92,12 @@ jobs:
       fail-fast: false
       matrix:
         families: ${{ fromJSON(needs.setup.outputs.windows_amdgpu_families) }}
-        extra_cmake_options:
-          - "-DBUILD_TESTING=ON"
-          - "-DBUILD_TESTING=OFF"
path: .github/workflows/ci.yml
user: login: geomin12
body: We are deciding to just enable tests, and keeping the `extra_cmake_option` available in case someone wants to build with an option
created_at: 2025-05-13T23:14:37Z
author_association: CONTRIBUTOR
diff_hunk: @@ -182,3 +191,47 @@ jobs:
           $fsout | % {$_.Used/=1GB;$_.Free/=1GB;$_} | Write-Host
           get-disk | Select-object @{Name="Size(GB)";Expression={$_.Size/1GB}} | Write-Host
         shell: powershell
+
+      - name: Configure AWS Credentials
+        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-artifacts
+
+      # TODO: Move to script
+      - name: Create Index Files
+        run: |
+          curl --silent --fail --show-error --location \
path: .github/workflows/build_windows_packages.yml
user: login: marbre
body: Ah, missed that. Thanks.
created_at: 2025-05-13T23:50:59Z
author_association: MEMBER
diff_hunk: @@ -92,14 +92,12 @@ jobs:
       fail-fast: false
       matrix:
         families: ${{ fromJSON(needs.setup.outputs.windows_amdgpu_families) }}
-        extra_cmake_options:
-          - "-DBUILD_TESTING=ON"
-          - "-DBUILD_TESTING=OFF"
path: .github/workflows/ci.yml
user: login: marbre
body: I thought we decided to keep `extra_cmake_option` and move building with and without tests to a separate option to allow more easily if there will be something to test or not. But I might be wrong and leave this to @ScottTodd then.
created_at: 2025-05-13T23:52:29Z
author_association: MEMBER
diff_hunk: @@ -92,14 +92,12 @@ jobs:
       fail-fast: false
       matrix:
         families: ${{ fromJSON(needs.setup.outputs.windows_amdgpu_families) }}
-        extra_cmake_options:
-          - "-DBUILD_TESTING=ON"
-          - "-DBUILD_TESTING=OFF"
path: .github/workflows/ci.yml
user: login: ScottTodd
body: It's still there in the workflow that gets called:

```yml
      extra_cmake_options:
        type: string
        default: "-DBUILD_TESTING=ON"
```

Just no longer adding a matrix job for ON/OFF here in the caller.
created_at: 2025-05-14T00:08:04Z
author_association: MEMBER
diff_hunk: @@ -92,14 +92,12 @@ jobs:
       fail-fast: false
       matrix:
         families: ${{ fromJSON(needs.setup.outputs.windows_amdgpu_families) }}
-        extra_cmake_options:
-          - "-DBUILD_TESTING=ON"
-          - "-DBUILD_TESTING=OFF"
path: .github/workflows/ci.yml
user: login: ScottTodd
body: (That is what I want for now, we can later add back testing on/off with an explicit option)
created_at: 2025-05-14T00:11:21Z
author_association: MEMBER

PR comments:
user: login: geomin12
created_at: 2025-05-13T20:53:22Z
body: > If the bucket name changes, I think `build_tools/install_rocm_from_artifacts.py` as well as `build_tools/fetch_artifacts.py` need to be adjust accordingly?

yep! that's my next PR! updated the PR description
author_association: CONTRIBUTOR
user: login: ScottTodd
created_at: 2025-05-13T20:58:31Z
body: > > If the bucket name changes, I think `build_tools/install_rocm_from_artifacts.py` as well as `build_tools/fetch_artifacts.py` need to be adjust accordingly?
> 
> yep! that's my next PR! updated the PR description

Will the docs be incorrect between when this PR is merged and when that second PR lands? Maybe you could send a PR first that renames the Linux artifacts and updates the docs/scripts, then have this PR add the new `-windows` files?
author_association: MEMBER
user: login: geomin12
created_at: 2025-05-13T21:44:23Z
body: > > > If the bucket name changes, I think `build_tools/install_rocm_from_artifacts.py` as well as `build_tools/fetch_artifacts.py` need to be adjust accordingly?
> > 
> > 
> > yep! that's my next PR! updated the PR description
> 
> Will the docs be incorrect between when this PR is merged and when that second PR lands? Maybe you could send a PR first that renames the Linux artifacts and updates the docs/scripts, then have this PR add the new `-windows` files?

good idea, here: https://github.com/ROCm/TheRock/pull/611
author_association: CONTRIBUTOR