Skip to content

Commit

Permalink
TBD
Browse files Browse the repository at this point in the history
  • Loading branch information
coldav committed Nov 20, 2024
1 parent 7441b2f commit 8df2278
Show file tree
Hide file tree
Showing 6 changed files with 359 additions and 223 deletions.
38 changes: 38 additions & 0 deletions .github/actions/calc_vars/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: calc vars
description: calc vars

inputs:
target:
description: 'TBD'
default: host_x86

outputs:
arch:
value: ${{ steps.calc_vars_action.outputs.arch }}
toolchain:
value: ${{ steps.calc_vars_action.outputs.toolchain }}
runs:
# We don't want a new docker just a list of steps, so mark as composite
using: "composite"
steps:
# -
- shell: bash
id: calc_vars_action
run: |
if [[ "${{inputs.target}}" = "host_x86_64_linux" ]]; then
echo "arch=x86_64" >> $GITHUB_OUTPUT
echo "toolchain=" >> $GITHUB_OUTPUT
elif [[ "${{inputs.target}}" = "host_x86_64_windows" ]]; then
echo "arch=x86_64" >> $GITHUB_OUTPUT
echo "toolchain=" >> $GITHUB_OUTPUT
elif [[ "${{inputs.target}}" = "host_aarch64_linux" ]]; then
echo "arch=aarch64" >> $GITHUB_OUTPUT;
echo "toolchain=$GITHUB_WORKSPACE/platform/arm-linux/aarch64-toolchain.cmake" >> $GITHUB_OUTPUT
elif [[ "${{inputs.target}}" = "host_riscv64_linux" ]]; then
echo "arch=riscv64" >> $GITHUB_OUTPUT;
echo "toolchain=$GITHUB_WORKSPACE/platform/riscv64-linux/riscv64-toolchain.cmake" >> $GITHUB_OUTPUT
else
echo Unknown target ${{inputs.target}}
exit 1
fi
cat $GITHUB_OUTPUT
74 changes: 74 additions & 0 deletions .github/actions/do_build_ock_artefact/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: build-ock-artefacts
description: Action to build the oneapi-construction-kit as an artefact

inputs:
artefact_name:
description: 'TBD'
llvm_version:
description: 'TBD'
default: '19'

# TODO: This has not been tested yet on windows so would likely need some updating.
runs:
# We don't want a new docker just a list of steps, so mark as composite
using: "composite"
steps:
- name: calc vars
id: calc_vars
uses: ./.github/actions/calc_vars
with:
target: ${{ inputs.target }}

- name: print vars
shell: bash
run: |
echo arch = ${{steps.calc_vars.outputs.arch}}
echo toolchain = ${{steps.calc_vars.outputs.toolchain}}
# installs tools, ninja, installs llvm and sets up sccache
- name: setup
uses: ./.github/actions/setup_build
with:
llvm_version: 19
llvm_build_type: RelAssert
cross_arch: ${{ steps.calc_vars.outputs.arch == 'x86_64' && '' || steps.calc_vars.outputs.arch }}
native_llvm_arch: ${{ steps.calc_vars.outputs.arch == 'x86_64' && '' || 'x86_64' }}

- name: build ock x86
if: steps.calc_vars.outputs.arch == 'x86_64'
uses: ./.github/actions/do_build_ock
with:
build_targets: install
offline_kernel_tests: OFF

- name: build ock other ${{ matrix.target }}
if: steps.calc_vars.outputs.arch != 'x86_64'
uses: ./.github/actions/do_build_ock
with:
build_targets: install
# Todo : target does not directly equate to arch here
toolchain_file: ${{ steps.calc_vars.outputs.toolchain }}
extra_flags: -DCA_BUILTINS_TOOLS_DIR=${{ github.workspace }}/llvm_install_native/bin
# Do we need the offline kernel as an artefact? If so currently this requires an external clc or qemu to be installed.
offline_kernel_tests: OFF
host_fp16: ON

# Prune it as there is too much things in there we don't want to use
# We may want to extend this a bit as time goes on such as clc or UnitCL
- name: prune ock artefact
shell: bash
run: |
# delete all but city runner and the python associated file under bin
find install/bin -maxdepth 1 -type f ! -name "*.py" -delete
rm -rf install/share
- name: upload ock artefact
uses: actions/upload-artifact@v4
with:
name: ock_${{ inputs.target }}
path: install
retention-days: 1

# Some of these are riscv or host target specific, but it does not harm at present to
# overset cmake values
# inputs:
14 changes: 14 additions & 0 deletions .github/actions/setup_build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ inputs:
cross_arch:
description: 'Cross compilation architecture from: x86, arm, aarch64, riscv64. Default: "" (no cross compile)'
default: ""
native_llvm_arch:
description: 'Native llvm architecture if needed from: x86_64 (currently). Default: "" (no additional llvm needed)'
default: ""
# Note: runner architectures from: x86_64 (aka runner.arch: X64), aarch64 (aka runner.arch: ARM64)

runs:
Expand Down Expand Up @@ -93,6 +96,17 @@ runs:
echo "key_version=$KEY_VERSION"
echo "key_arch=$KEY_ARCH"
- name: load llvm native
if: inputs.native_llvm_arch != ''
uses: actions/cache/restore@v4
with:
path: llvm_install/**
key: llvm-${{ inputs.os }}-${{ steps.set_llvm_key.outputs.key_version }}-${{ inputs.native_llvm_arch }}-v${{ inputs.llvm_version }}-${{ inputs.llvm_build_type }}
fail-on-cache-miss: true
- shell: bash
if: inputs.native_llvm_arch != ''
run: mv llvm_install llvm_install_native

- name: load llvm
uses: actions/cache/restore@v4
with:
Expand Down
28 changes: 14 additions & 14 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,20 @@ on:
push:
branches:
- main
pull_request:
branches:
- main
paths:
- 'source/**'
- 'clik/**'
- 'modules/**'
- 'examples/**'
- 'cmake/**'
- 'hal/**'
- '.github/actions/do_build_ock/**'
- '.github/actions/setup_build/**'
- '.github/workflows/codeql.yml'
- 'CMakeLists.txt'
# pull_request:
# branches:
# - main
# paths:
# - 'source/**'
# - 'clik/**'
# - 'modules/**'
# - 'examples/**'
# - 'cmake/**'
# - 'hal/**'
# - '.github/actions/do_build_ock/**'
# - '.github/actions/setup_build/**'
# - '.github/workflows/codeql.yml'
# - 'CMakeLists.txt'
schedule:
- cron: '19 9 * * 3'

Expand Down
Loading

0 comments on commit 8df2278

Please sign in to comment.