@@ -36,14 +36,23 @@ jobs:
3636 WINDOWS_ARM64_SUPPORTED : ${{ steps.get-vars.outputs.windows_arm64_supported }}
3737 WINDOWS_ARM64_SINGLE_CUDA_MAJOR : ${{ steps.get-vars.outputs.windows_arm64_single_cuda_major }}
3838 PYTHON_SUPPORTED : ${{ steps.get-vars.outputs.python_supported }}
39+ BINDINGS_CONFIG : ${{ steps.get-vars.outputs.bindings_config }}
3940 steps :
4041 - name : Checkout repository
4142 uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
4243 with :
4344 fetch-depth : 1
45+ - name : Set up Python for CI tools
46+ uses : ./.github/actions/setup-hardened-python
47+ with :
48+ python-version : " 3.12"
49+ - name : Install CI tool dependencies
50+ run : python -m pip install -e ./ci
4451 - name : Get CUDA build versions
4552 id : get-vars
4653 run : |
54+ bindings_config=$(python -m ci.tools.bindings_config)
55+ echo "bindings_config=$bindings_config" >> "$GITHUB_OUTPUT"
4756 cuda_build_ver=$(yq '.cuda.build.version' ci/versions.yml)
4857 echo "cuda_build_ver=$cuda_build_ver" >> $GITHUB_OUTPUT
4958
@@ -623,6 +632,86 @@ jobs:
623632 nruns : ${{ (github.event_name == 'schedule' && 5) || 1}}
624633 workplan : ${{ needs.detect-changes.outputs.workplan }}
625634
635+ test-maintenance-bindings-linux-64 :
636+ name : Maintenance bindings (linux-64)
637+ if : ${{ github.repository_owner == 'nvidia' &&
638+ !fromJSON(needs.should-skip.outputs.skip) &&
639+ !fromJSON(needs.should-skip.outputs.doc-only) &&
640+ fromJSON(needs.detect-changes.outputs.workplan).modules.bindings.needs_test &&
641+ fromJSON(needs.detect-changes.outputs.workplan).jobs.platforms.linux }}
642+ permissions :
643+ actions : read
644+ contents : read
645+ needs :
646+ - ci-vars
647+ - should-skip
648+ - detect-changes
649+ - build-linux-64
650+ secrets : inherit
651+ uses : ./.github/workflows/test-wheel-linux.yml
652+ with :
653+ build-type : ${{ startsWith(github.ref_name, 'pull-request/') && 'pull-request' || (github.event_name == 'schedule' && 'nightly' || 'branch') }}
654+ host-platform : linux-64
655+ build-ctk-ver : ${{ needs.ci-vars.outputs.CUDA_PREV_BUILD_VER }}
656+ bindings-config : ${{ needs.ci-vars.outputs.BINDINGS_CONFIG }}
657+ bindings-only : true
658+ nruns : ${{ (github.event_name == 'schedule' && 5) || 1 }}
659+ workplan : ${{ needs.detect-changes.outputs.workplan }}
660+
661+ test-maintenance-bindings-linux-aarch64 :
662+ name : Maintenance bindings (linux-aarch64)
663+ if : ${{ github.repository_owner == 'nvidia' &&
664+ !fromJSON(needs.should-skip.outputs.skip) &&
665+ !fromJSON(needs.should-skip.outputs.doc-only) &&
666+ fromJSON(needs.detect-changes.outputs.workplan).modules.bindings.needs_test &&
667+ fromJSON(needs.detect-changes.outputs.workplan).jobs.platforms.linux }}
668+ permissions :
669+ actions : read
670+ contents : read
671+ needs :
672+ - ci-vars
673+ - should-skip
674+ - detect-changes
675+ - build-linux-64
676+ - build-linux-aarch64
677+ secrets : inherit
678+ uses : ./.github/workflows/test-wheel-linux.yml
679+ with :
680+ build-type : ${{ startsWith(github.ref_name, 'pull-request/') && 'pull-request' || (github.event_name == 'schedule' && 'nightly' || 'branch') }}
681+ host-platform : linux-aarch64
682+ build-ctk-ver : ${{ needs.ci-vars.outputs.CUDA_PREV_BUILD_VER }}
683+ bindings-config : ${{ needs.ci-vars.outputs.BINDINGS_CONFIG }}
684+ bindings-only : true
685+ nruns : ${{ (github.event_name == 'schedule' && 5) || 1 }}
686+ workplan : ${{ needs.detect-changes.outputs.workplan }}
687+
688+ test-maintenance-bindings-windows :
689+ name : Maintenance bindings (win-64)
690+ if : ${{ github.repository_owner == 'nvidia' &&
691+ !fromJSON(needs.should-skip.outputs.skip) &&
692+ !fromJSON(needs.should-skip.outputs.doc-only) &&
693+ fromJSON(needs.detect-changes.outputs.workplan).modules.bindings.needs_test &&
694+ fromJSON(needs.detect-changes.outputs.workplan).jobs.platforms.windows }}
695+ permissions :
696+ actions : read
697+ contents : read
698+ needs :
699+ - ci-vars
700+ - should-skip
701+ - detect-changes
702+ - build-linux-64
703+ - build-windows
704+ secrets : inherit
705+ uses : ./.github/workflows/test-wheel-windows.yml
706+ with :
707+ build-type : ${{ startsWith(github.ref_name, 'pull-request/') && 'pull-request' || (github.event_name == 'schedule' && 'nightly' || 'branch') }}
708+ host-platform : win-64
709+ build-ctk-ver : ${{ needs.ci-vars.outputs.CUDA_PREV_BUILD_VER }}
710+ bindings-config : ${{ needs.ci-vars.outputs.BINDINGS_CONFIG }}
711+ bindings-only : true
712+ nruns : ${{ (github.event_name == 'schedule' && 5) || 1 }}
713+ workplan : ${{ needs.detect-changes.outputs.workplan }}
714+
626715 doc :
627716 name : Docs
628717 if : ${{ github.repository_owner == 'nvidia' }}
@@ -657,6 +746,9 @@ jobs:
657746 - test-linux-64
658747 - test-linux-aarch64
659748 - test-windows
749+ - test-maintenance-bindings-linux-64
750+ - test-maintenance-bindings-linux-aarch64
751+ - test-maintenance-bindings-windows
660752 - api-check-core-vs-release
661753 - api-check-core-vs-base
662754 - doc
@@ -684,6 +776,7 @@ jobs:
684776 windows_selected="${{ needs.detect-changes.outputs.workplan && fromJSON(needs.detect-changes.outputs.workplan).jobs.platforms.windows || false }}"
685777 windows_arm64_supported="${{ needs.ci-vars.outputs.WINDOWS_ARM64_SUPPORTED }}"
686778 build_selected="${{ needs.detect-changes.outputs.workplan && fromJSON(needs.detect-changes.outputs.workplan).jobs.sdist_tests || false }}"
779+ maintenance_bindings_selected="${{ needs.detect-changes.outputs.workplan && fromJSON(needs.detect-changes.outputs.workplan).modules.bindings.needs_test || false }}"
687780 run_core_api_check="${{ needs.detect-changes.outputs.workplan && fromJSON(needs.detect-changes.outputs.workplan).jobs.core_api_checks || false }}"
688781 is_pr="${{ startsWith(github.ref_name, 'pull-request/') }}"
689782 status="success"
@@ -734,6 +827,16 @@ jobs:
734827 check_result "test-linux-aarch64" "$linux_expected"
735828 check_result "test-windows" "$windows_expected"
736829
830+ maintenance_linux_expected="skipped"
831+ maintenance_windows_expected="skipped"
832+ if [[ "$maintenance_bindings_selected" == "true" ]]; then
833+ maintenance_linux_expected="$linux_expected"
834+ maintenance_windows_expected="$windows_expected"
835+ fi
836+ check_result "test-maintenance-bindings-linux-64" "$maintenance_linux_expected"
837+ check_result "test-maintenance-bindings-linux-aarch64" "$maintenance_linux_expected"
838+ check_result "test-maintenance-bindings-windows" "$maintenance_windows_expected"
839+
737840 # API compatibility checks run for cuda_core source changes and for
738841 # conservative full runs when reusable base artifacts are unavailable.
739842 expected="skipped"
0 commit comments