1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
|
---
name: Smoke
permissions: read-all
on:
# Run on pull requests
pull_request:
# Run on user request
workflow_dispatch:
concurrency:
# Cancel any existing jobs related to the target branch
group: draft-ci-${{ github.ref || github.run_id }}
cancel-in-progress: true
jobs:
lint:
if: 'github.event.pull_request.draft'
uses: ./.github/workflows/lint.yml
hadolint:
if: 'github.event.pull_request.draft'
uses: ./.github/workflows/hadolint.yml
with:
output_prefix: tools-
trivy:
if: 'github.event.pull_request.draft'
uses: ./.github/workflows/trivy.yml
with:
output_prefix: tools-
# This job configures variables that are useful for other jobs. Other jobs
# that depend on this one can access the variables via
# needs.setup-variables.outputs.<variable-name>
setup-variables:
if: 'github.event.pull_request.draft'
uses: ./.github/workflows/setup-variables.yml
secrets: inherit
linux-build:
if: 'github.event.pull_request.draft'
needs: setup-variables
uses: ./.github/workflows/cmake.yml
with:
os: linux
build_type: release
artifact_name: linux-release-build
run_tests: false
no_artifacts: false
repository: ${{ vars.DISP_REPO }}
ref: ${{ needs.setup-variables.outputs.lib_ref }}
secrets:
token: ${{ secrets.DISP_REPO_TOKEN }}
windows-build:
if: 'github.event.pull_request.draft'
needs: setup-variables
uses: ./.github/workflows/cmake.yml
with:
os: windows
build_type: release
artifact_name: windows-release-build
run_tests: false
no_artifacts: false
repository: ${{ vars.DISP_REPO }}
ref: ${{ needs.setup-variables.outputs.lib_ref }}
secrets:
token: ${{ secrets.DISP_REPO_TOKEN }}
linux-tools-build:
if: 'github.event.pull_request.draft'
needs: [linux-build]
uses: ./.github/workflows/cmake.yml
with:
os: linux
build_type: release
artifact_name: linux-tools-build
run_tests: true
no_artifacts: false
dependent_artifact: linux-release-build
windows-tools-build:
if: 'github.event.pull_request.draft'
needs: [windows-build]
uses: ./.github/workflows/cmake.yml
with:
os: windows
build_type: release
artifact_name: windows-tools-build
run_tests: true
no_artifacts: false
dependent_artifact: windows-release-build
windows-acceptance:
if: 'github.event.pull_request.draft'
needs: [windows-build, windows-tools-build, setup-variables]
strategy:
fail-fast: true
matrix:
gpu:
- gen12.5
config:
- release
os:
- windows
uses: ./.github/workflows/acceptance.yml
secrets: inherit
with:
os: ${{ matrix.os }}
build_type: ${{ matrix.config }}
lib_artifact: ${{ matrix.os }}-${{ matrix.config }}-build
tools_artifact: windows-tools-build
gpu: ${{ matrix.gpu }}
distro_family: windows
distro_version: 11
test_ref: ${{ needs.setup-variables.outputs.test_ref }}
linux-acceptance:
if: 'github.event.pull_request.draft'
needs: [linux-build, linux-tools-build, setup-variables]
strategy:
fail-fast: true
matrix:
gpu:
- gen12.5
distro:
- family: ubuntu
version: 24.04
config:
- release
os:
- linux
uses: ./.github/workflows/acceptance.yml
secrets: inherit
with:
os: ${{ matrix.os }}
build_type: ${{ matrix.config }}
lib_artifact: ${{ matrix.os }}-${{ matrix.config }}-build
tools_artifact: linux-tools-build
gpu: ${{ matrix.gpu }}
distro_family: ${{ matrix.distro.family }}
distro_version: ${{ matrix.distro.version }}
test_ref: ${{ needs.setup-variables.outputs.test_ref }}
|