| # Copyright 2023 The IREE Authors | |
| # | |
| # Licensed under the Apache License v2.0 with LLVM Exceptions. | |
| # See https://llvm.org/LICENSE.txt for license information. | |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| name: PkgCI | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| # Experimental branches can also get packages and tests automatically. | |
| - exppkg-* | |
| # Short term feature branches: | |
| - sdxl | |
| concurrency: | |
| # A PR number if a pull request and otherwise the commit hash. This cancels | |
| # queued and in-progress runs for the same PR (presubmit) or commit | |
| # (postsubmit). The workflow name is prepended to avoid conflicts between | |
| # different workflows. | |
| group: ${{ github.workflow }}-${{ github.event.number || github.sha }} | |
| cancel-in-progress: true | |
| jobs: | |
| setup: | |
| uses: ./.github/workflows/setup.yml | |
| build_packages: | |
| name: Build Packages | |
| needs: setup | |
| if: contains(fromJson(needs.setup.outputs.enabled-jobs), 'build_packages') | |
| uses: ./.github/workflows/pkgci_build_packages.yml | |
| with: | |
| package_version: 0.dev1 | |
| regression_test_cpu: | |
| name: Regression Test CPU | |
| needs: [setup, build_packages] | |
| if: contains(fromJson(needs.setup.outputs.enabled-jobs), 'regression_test_cpu') | |
| uses: ./.github/workflows/pkgci_regression_test_cpu.yml | |
| regression_test_amdgpu_vulkan: | |
| name: Regression Test AMDGPU-Vulkan | |
| needs: [setup, build_packages] | |
| if: contains(fromJson(needs.setup.outputs.enabled-jobs), 'regression_test_amdgpu_vulkan') | |
| uses: ./.github/workflows/pkgci_regression_test_amdgpu_vulkan.yml | |
| regression_test_amdgpu_rocm: | |
| name: Regression Test AMDGPU-ROCm | |
| needs: [setup, build_packages] | |
| if: contains(fromJson(needs.setup.outputs.enabled-jobs), 'regression_test_amdgpu_rocm') | |
| uses: ./.github/workflows/pkgci_regression_test_amdgpu_rocm.yml | |
| regression_test_nvidiagpu_vulkan: | |
| name: Regression Test NVIDIAGPU-Vulkan | |
| needs: [setup, build_packages] | |
| if: contains(fromJson(needs.setup.outputs.enabled-jobs), 'regression_test_nvidiagpu_vulkan') | |
| uses: ./.github/workflows/pkgci_regression_test_nvidiagpu_vulkan.yml | |
| regression_test_nvidiagpu_cuda: | |
| name: Regression Test NVIDIAGPU-CUDA | |
| needs: [setup, build_packages] | |
| if: contains(fromJson(needs.setup.outputs.enabled-jobs), 'regression_test_nvidiagpu_cuda') | |
| uses: ./.github/workflows/pkgci_regression_test_nvidiagpu_cuda.yml | |
| test_tensorflow_cpu: | |
| name: Test TensorFlow CPU | |
| needs: [setup, build_packages] | |
| if: contains(fromJson(needs.setup.outputs.enabled-jobs), 'test_tensorflow_cpu') | |
| uses: ./.github/workflows/pkgci_test_tensorflow_cpu.yml |