Skip to content

Debug why windows does not build #33

Debug why windows does not build

Debug why windows does not build #33

# Simple workflow for running planned testing
name: Run planned tests
on:
workflow_call:
inputs:
ock:
required: false
type: boolean
default: true
test_tornado:
required: false
type: boolean
default: true
test_sycl_cts:
required: false
type: boolean
default: true
test_opencl_cts:
required: false
type: boolean
default: true
target_list:
required: false
type: string
llvm_version:
required: false
type: string
default: 19
pull_request:
required: false
type: boolean
default: false
jobs:
# Calculate some useful variables that can be used through the workflow
# Currently this can be used to exclude all but certain targets in matrices
workflow_vars:
runs-on: ubuntu-22.04
outputs:
matrix_only_linux_x86_64_aarch64: ${{ steps.vars.outputs.matrix_only_linux_x86_64_aarch64 }}
matrix_only_linux_x86_64: ${{ steps.vars.outputs.matrix_only_linux_x86_64 }}
steps:
- id: vars
# TODO: If we expand on this, come up with a more programmatical way of doing only certain targets.
# These variables are for excluding certain targets from the total list, which is why just including
# two targets is a long list of excludes
run: |
echo matrix_only_linux_x86_64_aarch64="[ {\"target\": \"host_arm_linux\"}, {\"target\": \"host_riscv64_linux\"}, {\"target\": \"host_refsi_linux\"}, {\"target\": \"host_i686_linux\"}, {\"target\": \"host_x86_64_windows\"}]" >> $GITHUB_OUTPUT
echo matrix_only_linux_x86_64="[ {\"target\": \"host_aarch64_linux\"}, {\"target\": \"host_riscv64_linux\"}, {\"target\": \"host_arm_linux\"}, {\"target\": \"host_refsi_linux\"}, {\"target\": \"host_i686_linux\"}, {\"target\": \"host_x86_64_windows\"}]" >> $GITHUB_OUTPUT
cat $GITHUB_OUTPUT
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: Setup Windows llvm base
uses: llvm/actions/setup-windows@main
with:
arch: amd64
- 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]
if: contains(inputs.target_list, 'linux')
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 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

Check failure on line 88 in .github/workflows/planned_testing.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/planned_testing.yml

Invalid workflow file

You have an error in your yaml syntax on line 88
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: build ock artefact
uses: ./.github/actions/do_build_ock_artefact
with:
target: ${{ matrix.target }}
llvm_version: ${{ inputs.llvm_version }}
build_icd:
if: inputs.test_tornado || inputs.test_opencl_cts || inputs.test_sycl_cts
needs: [workflow_vars]
strategy:
matrix:
target: ${{ fromJson(inputs.target_list) }}
exclude: ${{ fromJson(needs.workflow_vars.outputs.matrix_only_linux_x86_64_aarch64) }}
runs-on: ubuntu-22.04
steps:
- name: clone ock platform
uses: actions/checkout@v4
with:
sparse-checkout: |
platform
.github
- name : build and upload icd ${{matrix.target}}
uses: ./.github/actions/do_build_icd
with:
target: ${{matrix.target}}
# Currently only builds and runs on x86_64 linux
build_run_tornado:
if: inputs.test_tornado
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: expand for aarch64
runs-on: ubuntu-22.04
steps:
- name: clone ock platform
uses: actions/checkout@v4
with:
sparse-checkout: |
platform
.github
# TODO: Consider separating out tornado build and run in the future
- name : build and upload tornado
uses: ./.github/actions/do_build_tornado
with:
target: ${{ matrix.target }}
- name : run tornado
uses: ./.github/actions/run_tornado
with:
target: ${{ matrix.target }}
# 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_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: 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
with:
# scripts: for run_cities.py
# source: for CTS filter.csv files
sparse-checkout: |
scripts
source
.github
# TODO: Consider separating out opencl_cts build and run in the future
- name : build and upload opencl_cts
uses: ./.github/actions/do_build_opencl_cts
with:
target: ${{ matrix.target }}
- name : run opencl_cts
uses: ./.github/actions/run_opencl_cts
with:
target: ${{ matrix.target }}
build_dpcpp_native_host:
needs: [workflow_vars]
strategy:
matrix:
target: ${{ fromJson(inputs.target_list) }}
exclude: ${{ fromJson(needs.workflow_vars.outputs.matrix_only_linux_x86_64) }}
# 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
uses: actions/checkout@v4
- name: build dpc++ artefact
uses: ./.github/actions/do_build_dpcpp
with:
target: ${{ matrix.target }}
build_sycl_cts:
needs: [workflow_vars, build_icd, build_dpcpp_native_host]
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) }}
# 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
uses: actions/checkout@v4
- name: build dpc++ artefact
uses: ./.github/actions/do_build_sycl_cts
with:
target: ${{ matrix.target }}
run_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'
if : inputs.test_sycl_cts
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: build dpc++ artefact
uses: ./.github/actions/run_sycl_cts
with:
target: ${{ matrix.target }}