Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update build wheels job to test the wheels #56

Merged
merged 43 commits into from
Jan 21, 2025
Merged
Changes from 1 commit
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
abed843
Update build wheels job to test the wheels
bmhowe23 Jan 17, 2025
d6a35cd
Skip more steps if prior run was provided
bmhowe23 Jan 17, 2025
7eb2907
Update wheel name used by test script
bmhowe23 Jan 17, 2025
9bdbde7
Fix path
bmhowe23 Jan 17, 2025
63e8b93
Build wheels for appropriate Python version
bmhowe23 Jan 17, 2025
58ec167
Remove Python installation into manylinux
bmhowe23 Jan 17, 2025
3bfe9a1
Remove continue-on-error
bmhowe23 Jan 17, 2025
c2c2c9a
Add qec-lib-plugins
bmhowe23 Jan 17, 2025
84e696c
Use getCUDAQLibraryPath instead of DECODER_PLUGIN_DIR
bmhowe23 Jan 17, 2025
58b6f99
Try again
bmhowe23 Jan 17, 2025
9f6790d
Update and use getCUDAQXLibraryPath
bmhowe23 Jan 18, 2025
35c14df
Rename variable
bmhowe23 Jan 18, 2025
3545bdb
Be more precise with lib names
bmhowe23 Jan 18, 2025
f5317df
Formatting
bmhowe23 Jan 18, 2025
0e3e87a
Add Debug
bmhowe23 Jan 18, 2025
b7c9ad6
More debug
bmhowe23 Jan 18, 2025
7070990
Fix RPATH problem that was causing bad auditwheel grafting
bmhowe23 Jan 18, 2025
bb7b874
Cleanup
bmhowe23 Jan 18, 2025
5bbd9fc
Use unique_ptr and use more namespaces
bmhowe23 Jan 18, 2025
1eac4ae
More cleanup
bmhowe23 Jan 18, 2025
a39f31c
Restore Python cleanup
bmhowe23 Jan 18, 2025
7d43a3b
Build CUDA-Q wheels from source (needed to test CUDA-QX wheels)
bmhowe23 Jan 18, 2025
4b50c6c
Fix duplicate artifact upload error
bmhowe23 Jan 18, 2025
2f52cb8
Update test script to use custom-built CUDA-Q wheels
bmhowe23 Jan 18, 2025
ea34239
artifacts_from_run updates
bmhowe23 Jan 18, 2025
629920b
artifacts_from_run updates
bmhowe23 Jan 18, 2025
7ae5056
artifacts_from_run: provide token
bmhowe23 Jan 18, 2025
00a8297
More tokens
bmhowe23 Jan 18, 2025
a36a515
Token debug
bmhowe23 Jan 18, 2025
1200ad3
test_wheels debug
bmhowe23 Jan 18, 2025
e56c0c0
Fix test_wheels wheel name
bmhowe23 Jan 18, 2025
2143901
Update dependency on cuda-quantum for wheel
bmhowe23 Jan 18, 2025
2aefae0
Fix download
bmhowe23 Jan 18, 2025
5309859
Update conditional logic
bmhowe23 Jan 18, 2025
323ac49
Update conditional logic - 2
bmhowe23 Jan 18, 2025
9841a11
Update conditional logic - 3
bmhowe23 Jan 18, 2025
537dcc8
Add retention-days
bmhowe23 Jan 19, 2025
0346bad
Use smaller runners to be more resource friendly
bmhowe23 Jan 19, 2025
8a83f43
Cleanup
bmhowe23 Jan 19, 2025
366c021
Remove commented out / unneeded code
bmhowe23 Jan 19, 2025
9bb4b6c
Add option to use released CUDA-Q wheels instead of building
bmhowe23 Jan 19, 2025
6f24503
Update runs-on
bmhowe23 Jan 19, 2025
74837ea
Address PR comments
bmhowe23 Jan 21, 2025
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
Prev Previous commit
Next Next commit
Update conditional logic
Signed-off-by: Ben Howe <[email protected]>
bmhowe23 committed Jan 18, 2025
commit 53098595600908ad8fbf4c236b8e11cdafda4cc4
14 changes: 4 additions & 10 deletions .github/workflows/build_wheels.yaml
Original file line number Diff line number Diff line change
@@ -23,6 +23,7 @@ concurrency:
jobs:
build-cudaqx-wheels:
name: Build CUDA-QX wheels
if: ${{ !inputs.artifacts_from_run }}
runs-on: linux-${{ matrix.platform }}-cpu8
# CUDAQ requires a highly specialized environment to build. Thus, it is much
# easier to rely on their's devdeps images to do the building.
@@ -45,18 +46,15 @@ jobs:

steps:
- name: Get code
if: ${{ !inputs.artifacts_from_run }}
uses: actions/checkout@v4
with:
set-safe-directory: true

- name: Get required CUDAQ version
if: ${{ !inputs.artifacts_from_run }}
id: get-cudaq-version
uses: ./.github/actions/get-cudaq-version

- name: Get CUDAQ code
if: ${{ !inputs.artifacts_from_run }}
uses: actions/checkout@v4
with:
repository: ${{ steps.get-cudaq-version.outputs.repo }}
@@ -65,20 +63,17 @@ jobs:
set-safe-directory: true

- name: Build CUDAQ toolchain
if: ${{ !inputs.artifacts_from_run }}
run: |
.github/workflows/scripts/build_cudaq.sh ${{ matrix.python }}

- name: Build wheels
if: ${{ !inputs.artifacts_from_run }}
run: |
.github/workflows/scripts/build_wheels.sh \
--cudaq-prefix $HOME/.cudaq \
--build-type ${{ inputs.build_type }} \
--python-version ${{ matrix.python }}

- name: Upload artifact
if: ${{ !inputs.artifacts_from_run }}
uses: actions/upload-artifact@v4
with:
name: wheels-py${{ matrix.python }}-${{ matrix.platform }}
@@ -88,6 +83,7 @@ jobs:
# this is a separate job.
build-cudaq-wheels:
name: Build CUDA-Q wheels
if: ${{ !inputs.artifacts_from_run }}
strategy:
fail-fast: false
matrix:
@@ -99,18 +95,15 @@ jobs:
pull-requests: read
steps:
- name: Get code
if: ${{ !inputs.artifacts_from_run }}
uses: actions/checkout@v4
with:
set-safe-directory: true

- name: Get required CUDAQ version
if: ${{ !inputs.artifacts_from_run }}
id: get-cudaq-version
uses: ./.github/actions/get-cudaq-version

- name: Get CUDAQ wheels
if: ${{ !inputs.artifacts_from_run }}
uses: ./.github/actions/get-cudaq-wheels
with:
repo: ${{ steps.get-cudaq-version.outputs.repo }}
@@ -120,7 +113,6 @@ jobs:
platform: ${{ matrix.platform }}

- name: Upload CUDAQ wheels
if: ${{ !inputs.artifacts_from_run }}
uses: actions/upload-artifact@v4
with:
name: cudaq-wheels-${{ matrix.platform }}
@@ -131,6 +123,7 @@ jobs:
test-cudaqx-wheels:
name: Test CUDA-QX wheels (CPU)
needs: [build-cudaqx-wheels, build-cudaq-wheels]
if: ${{ !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
runs-on: linux-${{ matrix.platform }}-cpu4
container: ubuntu:22.04
permissions:
@@ -182,6 +175,7 @@ jobs:
test-wheels-gpu:
name: Test CUDA-QX wheels (GPU)
needs: [build-cudaqx-wheels, build-cudaq-wheels]
if: ${{ !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
runs-on: linux-${{ matrix.runner.arch }}-gpu-${{ matrix.runner.gpu }}-latest-1
container:
image: nvidia/cuda:12.0.0-base-ubuntu22.04