Skip to content

Commit

Permalink
Switch over planned testing to use cp-ubuntu-24.04 where it helps
Browse files Browse the repository at this point in the history
  • Loading branch information
coldav committed Jan 8, 2025
1 parent 7e7f0c1 commit 2e59aba
Show file tree
Hide file tree
Showing 5 changed files with 73 additions and 27 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 }}
save: true

- name: build ock x86
if: steps.calc_vars.outputs.arch == 'x86_64'
Expand Down
30 changes: 15 additions & 15 deletions .github/actions/do_build_sycl_cts/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,21 +49,21 @@ runs:
path: SYCL-CTS.src
submodules: true

- name: expand runner swap
# Needed to allow building - else current default memory restrictions lead to the runner being killed
shell: bash
run: |
set -x
df -h
sudo swapon --show
sudo swapoff -a
sudo fallocate -l 8G /mnt/swapfilenew
sudo chmod 600 /mnt/swapfilenew
sudo mkswap /mnt/swapfilenew
sudo swapon /mnt/swapfilenew
sudo swapon --show
df -h
set +x
# - name: expand runner swap
# # Needed to allow building - else current default memory restrictions lead to the runner being killed
# shell: bash
# run: |
# set -x
# df -h
# sudo swapon --show
# sudo swapoff -a
# sudo fallocate -l 8G /mnt/swapfilenew
# sudo chmod 600 /mnt/swapfilenew
# sudo mkswap /mnt/swapfilenew
# sudo swapon /mnt/swapfilenew
# sudo swapon --show
# df -h
# set +x

- name: build SYCL CTS
shell: bash
Expand Down
3 changes: 2 additions & 1 deletion .github/actions/run_opencl_cts/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,5 @@ runs:
-e "OCL_ICD_FILENAMES=$GITHUB_WORKSPACE/install_ock/lib/libCL.so" \
-e "CL_PLATFORM_INDEX=0" \
-s "$GITHUB_WORKSPACE/test_conformance/$CTS_CSV_FILE" \
-i "$GITHUB_WORKSPACE/source/cl/scripts/$CTS_FILTER"
-i "$GITHUB_WORKSPACE/source/cl/scripts/$CTS_FILTER" \
-j 8
62 changes: 51 additions & 11 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,14 +223,20 @@ 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) }}
# 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 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 2e59aba

Please sign in to comment.