From afc1d1d02a8436e1bc9dc1b6db84836d61700313 Mon Sep 17 00:00:00 2001 From: Alan Forbes Date: Thu, 19 Dec 2024 16:04:09 +0000 Subject: [PATCH 01/12] First --- .github/workflows/planned_testing.yml | 147 -------------------------- 1 file changed, 147 deletions(-) diff --git a/.github/workflows/planned_testing.yml b/.github/workflows/planned_testing.yml index 7edbefe7d..e05fb5363 100644 --- a/.github/workflows/planned_testing.yml +++ b/.github/workflows/planned_testing.yml @@ -33,99 +33,9 @@ on: 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: - 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' ) }} - if : inputs.ock - 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 ] - 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 ] strategy: matrix: target: ${{ fromJson(inputs.target_list) }} @@ -143,65 +53,8 @@ jobs: 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) }} - - runs-on: ${{ contains(matrix.target, 'windows') && 'windows-2019' || 'ubuntu-22.04' }} - 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) }} - - 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/do_build_sycl_cts - with: - target: ${{ matrix.target }} - - run_sycl_cts: - needs: [workflow_vars, create_ock_artefacts, 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 }} From 41e94d530070efb418e475d78f962984da279106 Mon Sep 17 00:00:00 2001 From: Alan Forbes Date: Thu, 19 Dec 2024 16:05:49 +0000 Subject: [PATCH 02/12] First --- .github/workflows/planned_testing_caller.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/planned_testing_caller.yml b/.github/workflows/planned_testing_caller.yml index 5e6c24b71..61f6d8af3 100644 --- a/.github/workflows/planned_testing_caller.yml +++ b/.github/workflows/planned_testing_caller.yml @@ -2,12 +2,12 @@ name: Run planned testing on: # Note: use pull_request: for localized testing only - #pull_request: - # paths: - # - '.github/workflows/planned_testing.yml' - # - '.github/workflows/planned_testing_caller.yml' - # branches: - # - main + pull_request: + paths: + - '.github/workflows/planned_testing.yml' + - '.github/workflows/planned_testing_caller.yml' + branches: + - main schedule: # Run Mon-Fri at 7pm - cron: '00 19 * * 1-5' From 60aa6d195916a79960011a5e55724f067f1b9b25 Mon Sep 17 00:00:00 2001 From: Alan Forbes Date: Thu, 19 Dec 2024 16:09:41 +0000 Subject: [PATCH 03/12] First --- .github/workflows/planned_testing.yml | 1 - .github/workflows/planned_testing_caller.yml | 5 +---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/planned_testing.yml b/.github/workflows/planned_testing.yml index e05fb5363..408c3c364 100644 --- a/.github/workflows/planned_testing.yml +++ b/.github/workflows/planned_testing.yml @@ -39,7 +39,6 @@ jobs: 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 diff --git a/.github/workflows/planned_testing_caller.yml b/.github/workflows/planned_testing_caller.yml index 61f6d8af3..cabbc3c92 100644 --- a/.github/workflows/planned_testing_caller.yml +++ b/.github/workflows/planned_testing_caller.yml @@ -19,10 +19,7 @@ jobs: if: github.repository == 'uxlfoundation/oneapi-construction-kit' || github.event_name != 'schedule' uses: ./.github/workflows/planned_testing.yml with: - target_list: '["host_x86_64_linux", "host_aarch64_linux", "host_riscv64_linux", "host_i686_linux", "host_refsi_linux", "host_x86_64_windows" ]' - ock: true - test_tornado: true - test_sycl_cts: true + target_list: '["host_aarch64_linux"]' test_opencl_cts: true # Have a pull request setting which can be used to test the flow as best as possible # in a reasonable time From b1e17611ff85d1ee494a864864edcebed96c6bcb Mon Sep 17 00:00:00 2001 From: Alan Forbes Date: Thu, 19 Dec 2024 16:11:15 +0000 Subject: [PATCH 04/12] First --- .github/actions/run_opencl_cts/action.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/actions/run_opencl_cts/action.yml b/.github/actions/run_opencl_cts/action.yml index 975a67586..94d248b2d 100644 --- a/.github/actions/run_opencl_cts/action.yml +++ b/.github/actions/run_opencl_cts/action.yml @@ -13,11 +13,6 @@ inputs: runs: using: "composite" steps: - - name: Download ock artefact - uses: actions/download-artifact@v4 - with: - name: ock_${{inputs.target}} - path: install_ock - name: Run opencl cts shell: bash @@ -32,6 +27,7 @@ runs: set -x python -u "$GITHUB_WORKSPACE/scripts/testing/run_cities.py" -v \ --color=always --timeout $CTS_TIMEOUT \ + -p qemu --qemu '/usr/bin/qemu-aarch64 -L /usr/aarch64-linux-gnu' \ -b "$GITHUB_WORKSPACE/test_conformance" \ -L "$GITHUB_WORKSPACE/install_icd/lib" \ -e "CLC_EXECUTABLE=$GITHUB_WORKSPACE/install_ock/bin/clc" \ From 19bd6cc702da4190fb99cefc7de1e417b9e93bf3 Mon Sep 17 00:00:00 2001 From: Alan Forbes Date: Thu, 19 Dec 2024 16:12:18 +0000 Subject: [PATCH 05/12] First --- .github/actions/run_opencl_cts/action.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/actions/run_opencl_cts/action.yml b/.github/actions/run_opencl_cts/action.yml index 94d248b2d..797458f90 100644 --- a/.github/actions/run_opencl_cts/action.yml +++ b/.github/actions/run_opencl_cts/action.yml @@ -22,7 +22,6 @@ runs: CTS_FILTER: cts-3.0-online-ignore-linux-host.csv CTS_TIMEOUT: 18:00:00 # OK for github? run: | - cd "$GITHUB_WORKSPACE/OpenCL-CTS" echo "Running OpenCL CTS tests with CTS file $CTS_CSV_FILE with filter $CTS_FILTER" set -x python -u "$GITHUB_WORKSPACE/scripts/testing/run_cities.py" -v \ From f1e0bd850e88d089fe29892b9814fa9c7b9302fa Mon Sep 17 00:00:00 2001 From: Alan Forbes Date: Thu, 19 Dec 2024 16:15:24 +0000 Subject: [PATCH 06/12] First --- .github/actions/run_opencl_cts/action.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/actions/run_opencl_cts/action.yml b/.github/actions/run_opencl_cts/action.yml index 797458f90..1f5a2d6ca 100644 --- a/.github/actions/run_opencl_cts/action.yml +++ b/.github/actions/run_opencl_cts/action.yml @@ -21,12 +21,13 @@ runs: # TODO: host-x86_64-linux filter - expand for other targets CTS_FILTER: cts-3.0-online-ignore-linux-host.csv CTS_TIMEOUT: 18:00:00 # OK for github? + CTS_PROFILE: -p qemu --qemu '/usr/bin/qemu-aarch64 -L /usr/aarch64-linux-gnu' run: | echo "Running OpenCL CTS tests with CTS file $CTS_CSV_FILE with filter $CTS_FILTER" set -x python -u "$GITHUB_WORKSPACE/scripts/testing/run_cities.py" -v \ --color=always --timeout $CTS_TIMEOUT \ - -p qemu --qemu '/usr/bin/qemu-aarch64 -L /usr/aarch64-linux-gnu' \ + $CTS_PROFILE \ -b "$GITHUB_WORKSPACE/test_conformance" \ -L "$GITHUB_WORKSPACE/install_icd/lib" \ -e "CLC_EXECUTABLE=$GITHUB_WORKSPACE/install_ock/bin/clc" \ From 8a872657f5025656d17fbd1e9b8913329504b02b Mon Sep 17 00:00:00 2001 From: Alan Forbes Date: Thu, 19 Dec 2024 16:26:08 +0000 Subject: [PATCH 07/12] First --- .github/actions/run_opencl_cts/action.yml | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/.github/actions/run_opencl_cts/action.yml b/.github/actions/run_opencl_cts/action.yml index 1f5a2d6ca..9161f55fc 100644 --- a/.github/actions/run_opencl_cts/action.yml +++ b/.github/actions/run_opencl_cts/action.yml @@ -17,21 +17,9 @@ runs: - name: Run opencl cts shell: bash env: - CTS_CSV_FILE: opencl_conformance_tests_${{inputs.test_type}}.csv - # TODO: host-x86_64-linux filter - expand for other targets - CTS_FILTER: cts-3.0-online-ignore-linux-host.csv - CTS_TIMEOUT: 18:00:00 # OK for github? - CTS_PROFILE: -p qemu --qemu '/usr/bin/qemu-aarch64 -L /usr/aarch64-linux-gnu' + CTS_PROFILE: -p qemu --qemu ''/usr/bin/qemu-aarch64 -L /usr/aarch64-linux-gnu'' run: | - echo "Running OpenCL CTS tests with CTS file $CTS_CSV_FILE with filter $CTS_FILTER" set -x python -u "$GITHUB_WORKSPACE/scripts/testing/run_cities.py" -v \ - --color=always --timeout $CTS_TIMEOUT \ $CTS_PROFILE \ - -b "$GITHUB_WORKSPACE/test_conformance" \ - -L "$GITHUB_WORKSPACE/install_icd/lib" \ - -e "CLC_EXECUTABLE=$GITHUB_WORKSPACE/install_ock/bin/clc" \ - -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" From c1d945a36fec9c6b6528f7d2a82908bbd364c55f Mon Sep 17 00:00:00 2001 From: Alan Forbes Date: Thu, 19 Dec 2024 16:27:14 +0000 Subject: [PATCH 08/12] First --- .github/actions/run_opencl_cts/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/run_opencl_cts/action.yml b/.github/actions/run_opencl_cts/action.yml index 9161f55fc..05d572649 100644 --- a/.github/actions/run_opencl_cts/action.yml +++ b/.github/actions/run_opencl_cts/action.yml @@ -17,7 +17,7 @@ runs: - name: Run opencl cts shell: bash env: - CTS_PROFILE: -p qemu --qemu ''/usr/bin/qemu-aarch64 -L /usr/aarch64-linux-gnu'' + CTS_PROFILE: -p qemu --qemu "/usr/bin/qemu-aarch64 -L /usr/aarch64-linux-gnu" run: | set -x python -u "$GITHUB_WORKSPACE/scripts/testing/run_cities.py" -v \ From 632691f69088d97207fb9d7c4ce81fe5c2683694 Mon Sep 17 00:00:00 2001 From: Alan Forbes Date: Thu, 19 Dec 2024 16:31:29 +0000 Subject: [PATCH 09/12] First --- .github/actions/run_opencl_cts/action.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/actions/run_opencl_cts/action.yml b/.github/actions/run_opencl_cts/action.yml index 05d572649..04f92d6f4 100644 --- a/.github/actions/run_opencl_cts/action.yml +++ b/.github/actions/run_opencl_cts/action.yml @@ -17,9 +17,10 @@ runs: - name: Run opencl cts shell: bash env: - CTS_PROFILE: -p qemu --qemu "/usr/bin/qemu-aarch64 -L /usr/aarch64-linux-gnu" + CTS_PROFILE: -p qemu --qemu '/usr/bin/qemu-aarch64 -L /usr/aarch64-linux-gnu' run: | set -x + echo CTS_PROFILE IS $CTS_PROFILE python -u "$GITHUB_WORKSPACE/scripts/testing/run_cities.py" -v \ $CTS_PROFILE \ -i "$GITHUB_WORKSPACE/source/cl/scripts/$CTS_FILTER" From 0a10490b4e0e030b2dd37e447630e841de64df5b Mon Sep 17 00:00:00 2001 From: Alan Forbes Date: Thu, 19 Dec 2024 16:32:56 +0000 Subject: [PATCH 10/12] First --- .github/actions/run_opencl_cts/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/run_opencl_cts/action.yml b/.github/actions/run_opencl_cts/action.yml index 04f92d6f4..23d5d9693 100644 --- a/.github/actions/run_opencl_cts/action.yml +++ b/.github/actions/run_opencl_cts/action.yml @@ -17,7 +17,7 @@ runs: - name: Run opencl cts shell: bash env: - CTS_PROFILE: -p qemu --qemu '/usr/bin/qemu-aarch64 -L /usr/aarch64-linux-gnu' + CTS_PROFILE: {{ -p qemu --qemu '/usr/bin/qemu-aarch64 -L /usr/aarch64-linux-gnu' }} run: | set -x echo CTS_PROFILE IS $CTS_PROFILE From 53927a0fd95c09a27ac28ea4e06b746ecac7e1a5 Mon Sep 17 00:00:00 2001 From: Alan Forbes Date: Thu, 19 Dec 2024 16:37:30 +0000 Subject: [PATCH 11/12] First --- .github/actions/run_opencl_cts/action.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/actions/run_opencl_cts/action.yml b/.github/actions/run_opencl_cts/action.yml index 23d5d9693..feb0c5da6 100644 --- a/.github/actions/run_opencl_cts/action.yml +++ b/.github/actions/run_opencl_cts/action.yml @@ -17,10 +17,6 @@ runs: - name: Run opencl cts shell: bash env: - CTS_PROFILE: {{ -p qemu --qemu '/usr/bin/qemu-aarch64 -L /usr/aarch64-linux-gnu' }} + CTS_PROFILE: -p qemu --qemu '/usr/bin/qemu-aarch64 -L /usr/aarch64-linux-gnu' run: | - set -x echo CTS_PROFILE IS $CTS_PROFILE - python -u "$GITHUB_WORKSPACE/scripts/testing/run_cities.py" -v \ - $CTS_PROFILE \ - -i "$GITHUB_WORKSPACE/source/cl/scripts/$CTS_FILTER" From 669a42a9d577c5bb584d2e6824fa502182df960f Mon Sep 17 00:00:00 2001 From: Alan Forbes Date: Thu, 19 Dec 2024 16:40:22 +0000 Subject: [PATCH 12/12] First --- .github/actions/run_opencl_cts/action.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/actions/run_opencl_cts/action.yml b/.github/actions/run_opencl_cts/action.yml index feb0c5da6..33f478273 100644 --- a/.github/actions/run_opencl_cts/action.yml +++ b/.github/actions/run_opencl_cts/action.yml @@ -20,3 +20,5 @@ runs: CTS_PROFILE: -p qemu --qemu '/usr/bin/qemu-aarch64 -L /usr/aarch64-linux-gnu' run: | echo CTS_PROFILE IS $CTS_PROFILE + set -x + echo CTS_PROFILE IS $CTS_PROFILE