name: CI - Windows on: workflow_call: inputs: artifact_group: type: string amdgpu_families: type: string build_variant_label: type: string build_variant_cmake_preset: type: string build_variant_suffix: type: string test_labels: type: string artifact_run_id: type: string test_runs_on: type: string benchmark_runs_on: type: string default: "" expect_failure: type: boolean use_prebuilt_artifacts: type: string rocm_package_version: type: string test_type: type: string sanity_check_only_for_family: type: boolean permissions: contents: read jobs: build_windows_artifacts: name: Build Artifacts if: ${{ inputs.use_prebuilt_artifacts == 'false' }} uses: ./.github/workflows/build_windows_artifacts.yml secrets: inherit with: artifact_group: ${{ inputs.artifact_group }} amdgpu_families: ${{ inputs.amdgpu_families }} build_variant_label: ${{ inputs.build_variant_label }} build_variant_cmake_preset: ${{ inputs.build_variant_cmake_preset }} build_variant_suffix: ${{ inputs.build_variant_suffix }} package_version: ${{ inputs.rocm_package_version }} expect_failure: ${{ inputs.expect_failure }} permissions: contents: read id-token: write test_windows_benchmarks: needs: [build_windows_artifacts] name: Test Windows Benchmarks # Run benchmarks if: # - Build succeeded (or using prebuilt artifacts) # - Not expecting failure # - Benchmark runner is available (benchmark_runs_on is set) if: >- ${{ !failure() && !cancelled() && ( inputs.use_prebuilt_artifacts == 'false' || inputs.use_prebuilt_artifacts == 'true' ) && inputs.expect_failure == false && inputs.benchmark_runs_on != '' }} uses: ./.github/workflows/test_benchmarks.yml secrets: inherit with: artifact_group: ${{ inputs.artifact_group }} amdgpu_families: ${{ inputs.amdgpu_families }} test_runs_on: ${{ inputs.benchmark_runs_on }} artifact_run_id: ${{ inputs.artifact_run_id }} build_windows_python_packages: needs: [build_windows_artifacts] name: Build Python # If the dependent job failed/cancelled, this job will not be run # The use_prebuilt_artifacts "or" statement ensures that tests will run if # previous build step is run or skipped.concurrency. if: >- ${{ !failure() && !cancelled() && ( inputs.use_prebuilt_artifacts == 'false' || inputs.use_prebuilt_artifacts == 'true' ) && inputs.expect_failure == false }} uses: ./.github/workflows/build_windows_python_packages.yml with: artifact_run_id: "${{ inputs.artifact_run_id != '' && inputs.artifact_run_id || github.run_id }}" artifact_group: ${{ inputs.artifact_group }} package_version: ${{ inputs.rocm_package_version }}