Add first windows pull-request job #1477
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Simple workflow for running non-documentation PR testing | |
name: Run ock tests for PR testing | |
on: | |
pull_request: | |
paths: | |
- 'source/**' | |
- 'clik/**' | |
- 'modules/**' | |
- 'examples/**' | |
- 'cmake/**' | |
- 'hal/**' | |
- '.github/actions/do_build_ock/**' | |
- '.github/actions/setup_ubuntu_build/**' | |
- '.github/workflows/run_pr_tests.yml' | |
- 'CMakeLists.txt' | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
permissions: {} | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
# build and run host x86_64, execute UnitCL and lit tests and build and run offline | |
run_host_x86_64: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
# installs tools, ninja, installs llvm and sets up sccahe | |
- name: setup-ubuntu | |
uses: ./.github/actions/setup_ubuntu_build | |
with: | |
llvm_version: 18 | |
llvm_build_type: RelAssert | |
# These need to match the configurations of build_pr_cache to use the cache effectively | |
- name: build host x86_64 online release | |
uses: ./.github/actions/do_build_ock | |
with: | |
build_type: Release | |
- name: run just online lit | |
run: | |
ninja -C build check-ock-all-lit | |
- name: run host online check | |
run: | |
ninja -C build check-ock-UnitCL | |
# use the previous build for online to get clc | |
- name: build host x86_64 offline release | |
uses: ./.github/actions/do_build_ock | |
with: | |
build_type: Release | |
extra_flags: -DCA_RUNTIME_COMPILER_ENABLED=OFF -DCA_EXTERNAL_CLC=${{ github.workspace }}/build/bin/clc | |
build_dir: build_offline | |
build_targets: UnitCL | |
assemble_spirv_ll_lit_test_offline: ON | |
- name: run host x86_64 offline | |
run: | |
ninja -C build_offline check-ock-UnitCL | |
# build and run riscv m1, execute UnitCL and lit tests | |
run_riscv_m1: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
# installs tools, ninja, installs llvm and sets up sccahe | |
- name: setup-ubuntu | |
uses: ./.github/actions/setup_ubuntu_build | |
with: | |
llvm_version: 18 | |
llvm_build_type: RelAssert | |
- name: build riscv M1 | |
uses: ./.github/actions/do_build_ock/do_build_m1 | |
- name: run riscv M1 lit | |
run: | |
ninja -C build check-ock-all-lit | |
- name: run riscv M1 UnitCL tests | |
run: | |
ninja -C build check-ock-UnitCL | |
# run clang-format-diff on the repo | |
run_clang_format: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: setup-ubuntu-clang-format | |
run: | |
pip install clang-format==19.1.0 | |
- name: run clang-format | |
run: | | |
# we've installed clang-format-16 in the docker via pip, which just installs it as clang-format, | |
# so just use clang-format-diff and -b clang-format directly | |
git fetch origin ${{ github.base_ref }} | |
git diff --no-color origin/${{ github.base_ref }} | \ | |
clang-format-diff.py -p1 -regex \ | |
"^(?!(.+\\/)*(external|cookie)\\/).*\\.(c|cc|cxx|cpp|h|hh|hxx|hpp)$" -b clang-format \ | |
> clang-format.diff | |
if [ `wc -l < clang-format.diff` = 0 ]; then | |
echo 'success: clang-format did not generate a diff' | |
exit 0 | |
fi | |
cat clang-format.diff | |
exit 1 |