Skip to content

Commit

Permalink
Fix and improve CI Testing of database shader (#245)
Browse files Browse the repository at this point in the history
  • Loading branch information
spencer-lunarg authored Jan 11, 2024
1 parent 2f7460f commit f162d0d
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 6 deletions.
12 changes: 6 additions & 6 deletions .github/workflows/linux-cmake-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,19 +40,19 @@ jobs:
git clone https://github.com/LunarG/SPIRV-Database.git build/SPIRV-Database
- name: Test - SaschaWillemsVulkan
run: |
for spv in $(find build/SPIRV-Database/vulkan/SaschaWillemsVulkan/ -type f); do bin/spirv-reflect $spv -ci; done
python tests/ci_database.py --dir build/SPIRV-Database/vulkan/SaschaWillemsVulkan/
- name: Test - clspv
run: |
for spv in $(find build/SPIRV-Database/vulkan/clspv/ -type f); do bin/spirv-reflect $spv -ci; done
python tests/ci_database.py --dir build/SPIRV-Database/vulkan/clspv/
- name: Test - dawn
run: |
for spv in $(find build/SPIRV-Database/vulkan/dawn/ -type f); do bin/spirv-reflect $spv -ci; done
python tests/ci_database.py --dir build/SPIRV-Database/vulkan/dawn/
- name: Test - gl_cts
run: |
for spv in $(find build/SPIRV-Database/vulkan/gl_cts/ -type f); do bin/spirv-reflect $spv -ci; done
python tests/ci_database.py --dir build/SPIRV-Database/vulkan/gl_cts/
- name: Test - naga
run: |
for spv in $(find build/SPIRV-Database/vulkan/naga/remaps/ -type f); do bin/spirv-reflect $spv -ci; done
python tests/ci_database.py --dir build/SPIRV-Database/vulkan/naga/remaps/
- name: Test - tint
run: |
for spv in $(find build/SPIRV-Database/vulkan/tint/ -type f); do bin/spirv-reflect $spv -ci; done
python tests/ci_database.py --dir build/SPIRV-Database/vulkan/tint/
22 changes: 22 additions & 0 deletions tests/ci_database.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import os
import sys
import argparse
import subprocess

if __name__ == '__main__':
parser = argparse.ArgumentParser(description='run SPIRV-Database in CI')
# Main reason for passing dir in is so GitHub Actions can group things, otherwise logs get VERY long for a single action
parser.add_argument('--dir', action='store', required=True, type=str, help='path to SPIR-V files')
args = parser.parse_args()

root_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
exe_path = os.path.join(root_dir, 'bin/spirv-reflect')

for currentpath, folders, files in os.walk(args.dir):
for file in files:
spirv_file = os.path.join(currentpath, file)
command = f'{exe_path} {spirv_file} -ci'
exit_code = subprocess.call(command.split())
if exit_code != 0:
print(f'ERROR for {spirv_file}')
sys.exit(1)

0 comments on commit f162d0d

Please sign in to comment.