Skip to content

Commit

Permalink
Add resusable workflow so we can run the PR testing in different ways
Browse files Browse the repository at this point in the history
We had duplicate ways of doing the same thing, this unifies the building
of the PR cache and the running of tests for PRs. This will be expanded
in the future to allow more flexibility.

Also brought pull_request.yml into the same file as run_pr_tests.yml
  • Loading branch information
coldav committed Oct 18, 2024
1 parent 0566643 commit 7d3a07b
Show file tree
Hide file tree
Showing 5 changed files with 85 additions and 123 deletions.
6 changes: 6 additions & 0 deletions .github/actions/setup_build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,12 @@ runs:
if: ${{ inputs.os == 'ubuntu' }}
shell: bash
run: |
echo llvm_build_type "${{ inputs.llvm_build_type }}"
echo llvm_version "${{ inputs.llvm_version }}"
echo ubuntu_version "${{ inputs.ubuntu_version }}"
echo llvm_build_type "${{ inputs.llvm_build_type }}"
echo save "${{ inputs.save }}"
echo arch "${{ inputs.arch }}"
pip install lit clang-format==19.1.0 virtualenv
if [ "${{ inputs.arch }}" = "x86" ]; then sudo dpkg --add-architecture i386 ; fi
wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
Expand Down
61 changes: 0 additions & 61 deletions .github/workflows/build_pr_cache.yml

This file was deleted.

49 changes: 0 additions & 49 deletions .github/workflows/pull_request.yml

This file was deleted.

57 changes: 44 additions & 13 deletions .github/workflows/run_pr_tests.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
# 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_build/**'
- '.github/workflows/run_pr_tests.yml'
- 'CMakeLists.txt'
workflow_call:
inputs:
update_cache:
required: false
type: boolean
default: false

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

inputs:
update_cache:
required: false
default: false
type: boolean

permissions: {}

concurrency:
Expand All @@ -39,6 +38,7 @@ jobs:
with:
llvm_version: 18
llvm_build_type: RelAssert
save: ${{ inputs.update_cache }}

# These need to match the configurations of build_pr_cache to use the cache effectively
- name: build host x86_64 online release
Expand Down Expand Up @@ -83,6 +83,7 @@ jobs:
with:
llvm_version: 18
llvm_build_type: RelAssert
save: ${{ inputs.update_cache }}

- name: build riscv M1
uses: ./.github/actions/do_build_ock/do_build_m1
Expand Down Expand Up @@ -163,3 +164,33 @@ jobs:
build_dir: ${{ github.workspace }}/build_offline
c_compiler: 'cl.exe'
cxx_compiler: 'cl.exe'

############### JOB mr-ubuntu-gcc-x86_64-riscv-fp16-cl3-0-unitcl_vecz:

mr-ubuntu-gcc-x86_64-riscv-fp16-cl3-0-unitcl_vecz:
runs-on: ubuntu-22.04
timeout-minutes: 60
steps:
- name: Checkout repo
uses: actions/[email protected]
- name: setup-ubuntu
uses: ./.github/actions/setup_build
with:
llvm_version: '18'
llvm_build_type: RelAssert
os: ubuntu
- run: echo WORKSPACE is $GITHUB_WORKSPACE && echo PWD is `pwd` && ls -al
- name: build ock
uses: ./.github/actions/do_build_ock
with:
build_targets: check-ock-UnitCL-group-vecz
mux_targets_enable: riscv
mux_compilers_enable: riscv
riscv_enabled: ON
enable_rvv_scalable_vecz_check: ON
enable_rvv_scalable_vp_vecz_check: ON
use_linker: gold
hal_description: RV64GCV_Zfh
hal_refsi_soc: G1
hal_refsi_thread_mode: WG
debug_support: ON
35 changes: 35 additions & 0 deletions .github/workflows/run_pr_tests_caller.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Calling workflow for running PR style tests
name: Run ock tests for PR style testing
on:
pull_request:
paths:
- 'source/**'
- 'clik/**'
- 'modules/**'
- 'examples/**'
- 'cmake/**'
- 'hal/**'
- '.github/actions/do_build_ock/**'
- '.github/actions/setup_build/**'
- '.github/workflows/run_pr_tests.yml'
- 'CMakeLists.txt'
schedule:
- cron: '00 19 * * 1-5'

jobs:
run-with-pull:
name: Call PR testing on pull request
if: ${{ github.event_name == 'pull_request' }}
uses: ./.github/workflows/run_pr_tests.yml
with:
update_cache: false

# Could have multiple here
run-with-cron:
name: Call PR testing on schedule
if: ${{ github.event_name == 'schedule' }}
uses: ./.github/workflows/run_pr_tests.yml
with:
update_cache: true

# additional ones here for cron and/or push to main - also can be in different file.

0 comments on commit 7d3a07b

Please sign in to comment.