Skip to content

Commit

Permalink
Switch over planned testing to use cp-ubuntu-24.04 for ock/OpenCL
Browse files Browse the repository at this point in the history
Switch ock artefact building and OpenCL building/running over to
cp-ubuntu-24.04.
  • Loading branch information
coldav committed Jan 9, 2025
1 parent 63e281b commit 8f135f7
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 11 deletions.
1 change: 1 addition & 0 deletions .github/actions/do_build_ock_artefact/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ runs:
llvm_version: ${{ inputs.llvm_version }}
llvm_build_type: RelAssert
cross_arch: ${{ steps.calc_vars.outputs.arch == 'x86_64' && 'none' || steps.calc_vars.outputs.arch }}
os: ${{ 'windows' && contains(inputs.target, 'windows') || 'ubuntu' }}

- name: build ock x86
if: steps.calc_vars.outputs.arch == 'x86_64'
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/setup_build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ runs:
using: "composite"
steps:
- name: Install ubuntu prerequisites
if: ${{ inputs.os == 'ubuntu' }}
if: ${{ contains(inputs.os,'ubuntu') }}
shell: bash
run: |
# required for virtualenv running in docker
Expand Down
54 changes: 44 additions & 10 deletions .github/workflows/planned_testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,17 +51,35 @@ jobs:
cat $GITHUB_OUTPUT
create_ock_artefacts:
create_ock_artefacts_windows:
needs: [workflow_vars]
# Currently there is only one windows target so we don't bother with the
# matrix, just check if it's enabled
runs-on: windows-2019
if : inputs.ock && contains(inputs.target_list, 'host_x86_64_windows')
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: build ock artefact
uses: ./.github/actions/do_build_ock_artefact
with:
target: host_x86_64_windows
llvm_version: ${{ inputs.llvm_version }}

create_ock_artefacts_ubuntu:
needs: [workflow_vars]
strategy:
matrix:
target: ${{ fromJson(inputs.target_list) }}
exclude: ${{ fromJson(needs.workflow_vars.outputs.matrix_only_linux_x86_64_aarch64) }}

# risc-v needs ubuntu 24.04 so we get the latest qemu as well as how we
# build llvm. Otherwise we choose windows or ubuntu-22.04 depending on the
# target.
runs-on: ${{ (contains(matrix.target, 'host_riscv') && 'ubuntu-24.04') || (contains(matrix.target, 'windows') && 'windows-2019' || 'ubuntu-22.04' ) }}
# build llvm. Otherwise we choose ubuntu-22.04 (use a container for both for consistency).
runs-on: cp-ubuntu-24.04
container:
image: ${{ contains(matrix.target, 'host_riscv') && 'ghcr.io/intel/llvm/ubuntu2404_base:latest' || 'ghcr.io/intel/llvm/ubuntu2204_base:latest' }}
volumes:
- ${{github.workspace}}:${{github.workspace}}
if : inputs.ock
steps:
- name: Checkout repo
Expand Down Expand Up @@ -97,7 +115,7 @@ jobs:
# Currently only builds and runs on x86_64 linux
build_run_tornado:
if: inputs.test_tornado
needs: [ workflow_vars, build_icd, create_ock_artefacts ]
needs: [ workflow_vars, build_icd, create_ock_artefacts_ubuntu ]
strategy:
matrix:
target: ${{ fromJson(inputs.target_list) }}
Expand Down Expand Up @@ -125,14 +143,18 @@ jobs:
# Currently only builds and runs (default: quick) on x86_64 linux
build_run_opencl_cts:
if: inputs.test_opencl_cts
needs: [ workflow_vars, build_icd, create_ock_artefacts ]
needs: [ workflow_vars, build_icd, create_ock_artefacts_ubuntu ]
strategy:
matrix:
target: ${{ fromJson(inputs.target_list) }}
exclude: ${{ fromJson(needs.workflow_vars.outputs.matrix_only_linux_x86_64) }}

# TODO: host-x86_64-linux only - expand for other targets
runs-on: ubuntu-22.04
runs-on: cp-ubuntu-24.04
container:
image: ${{ contains(matrix.target, 'host_riscv') && 'ghcr.io/intel/llvm/ubuntu2404_base:latest' || 'ghcr.io/intel/llvm/ubuntu2204_base:latest' }}
volumes:
- ${{github.workspace}}:${{github.workspace}}
steps:
- name: clone ock
uses: actions/checkout@v4
Expand Down Expand Up @@ -160,7 +182,13 @@ jobs:
target: ${{ fromJson(inputs.target_list) }}
exclude: ${{ fromJson(needs.workflow_vars.outputs.matrix_only_linux_x86_64) }}

runs-on: ${{ contains(matrix.target, 'windows') && 'windows-2019' || 'ubuntu-22.04' }}
# TODO: Extend if we decide to enable for windows or build natively on another target
runs-on: cp-ubuntu-24.04
container:
image: ghcr.io/intel/llvm/ubuntu2204_base:latest
volumes:
- ${{github.workspace}}:${{github.workspace}}

if : inputs.test_sycl_cts
steps:
- name: Checkout repo
Expand All @@ -178,7 +206,13 @@ jobs:
# TODO: For now just linux x86_64
exclude: ${{ fromJson(needs.workflow_vars.outputs.matrix_only_linux_x86_64) }}

runs-on: 'ubuntu-22.04'
# TODO: Extend if we decide to enable for windows or build natively on another target
runs-on: cp-ubuntu-24.04
container:
image: ghcr.io/intel/llvm/ubuntu2204_base:latest
volumes:
- ${{github.workspace}}:${{github.workspace}}

if : inputs.test_sycl_cts
steps:
- name: Checkout repo
Expand All @@ -189,7 +223,7 @@ jobs:
target: ${{ matrix.target }}

run_sycl_cts:
needs: [workflow_vars, create_ock_artefacts, build_dpcpp_native_host, build_sycl_cts]
needs: [workflow_vars, create_ock_artefacts_ubuntu, build_dpcpp_native_host, build_sycl_cts]
strategy:
matrix:
target: ${{ fromJson(inputs.target_list) }}
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/planned_testing_caller.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ on:
# Run Mon-Fri at 7pm
- cron: '00 19 * * 1-5'

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
call_planned:
# This makes the diagram too big if we post much here so S_ for scheduled.
Expand Down

0 comments on commit 8f135f7

Please sign in to comment.