summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Leino <aleino@nvidia.com>2024-12-19 21:11:13 +0200
committerGitHub <noreply@github.com>2024-12-19 19:11:13 +0000
commit2e9605e79c64315ecad7ae8297d996ae2ed4687b (patch)
treecd820196981aa49ad6a48c9790082ae534d59e9d
parent237af82f7e9ed1dd5d97a981939fc23aec2008b3 (diff)
Enable more examples in CI (#5915)
* CI: examples: Add support for filtering on platform * Add platform field to example run IDs - Remove the reflection-api entry for Windows. - Add 'aarch64' as platform for all 'macos' entries. - Add 'x86_64' as platform for all other entries. - This will implicitly enable all aarch64 tests for Linux. This helps to address issue #5520.
-rwxr-xr-x.github/workflows/ci-examples.sh25
-rw-r--r--.github/workflows/ci.yml1
-rw-r--r--tests/expected-example-failure-github.txt33
3 files changed, 38 insertions, 21 deletions
diff --git a/.github/workflows/ci-examples.sh b/.github/workflows/ci-examples.sh
index 4164b0ece..7372d70a7 100755
--- a/.github/workflows/ci-examples.sh
+++ b/.github/workflows/ci-examples.sh
@@ -20,16 +20,19 @@ Options:
--config <config> Build configuration.
Valid <config> values: 'debug', 'release'.
+ --platform <platform> Target platform.
+ Valid <platform> values: 'x86_64', 'aarch64'.
+
Skip file:
The skip patterns are regexp patterns on the following format:
- <os>:<config>:<sample> # Some comment describing why test is disabled
+ <os>:<platform>:<config>:<sample> # Some comment describing why test is disabled
For example:
# Bug 123: foo-example fails (both debug and release)
- windows:(debug|release):foo-example
+ windows:x86_64(debug|release):foo-example
# Bug 456: bar-example fails in release mode on Linux
- linux:release:bar-example
+ linux:aarch64:release:bar-example
EOF
}
@@ -78,6 +81,16 @@ while [[ "$#" -gt 0 ]]; do
config="$2"
shift
;;
+ --platform)
+ case $2 in
+ x86_64 | aarch64) ;;
+ *)
+ user_error "Unrecognized platform: '$2'"
+ ;;
+ esac
+ platform="$2"
+ shift
+ ;;
*)
user_error "Unrecognized argument: '$1'"
;;
@@ -101,6 +114,10 @@ if [[ "$skip_file" == "" ]]; then
user_error "No skip file specified."
fi
+if [[ "$platform" == "" ]]; then
+ user_error "No platform specified."
+fi
+
if [[ ! -f "$skip_file" ]]; then
user_error "Skip file '$skip_file' does not exist."
fi
@@ -142,7 +159,7 @@ function run_sample {
args=("$@")
sample_count=$((sample_count + 1))
summary=("${summary[@]}" "$sample: ")
- if skip "$os:$config:$sample"; then
+ if skip "$os:$platform:$config:$sample"; then
echo "Skipping $sample..."
summary=("${summary[@]}" " skipped")
skip_count=$((skip_count + 1))
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 6289d291f..e31b3b34d 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -182,6 +182,7 @@ jobs:
.github/workflows/ci-examples.sh \
--bin-dir "$bin_dir" \
--os "${{matrix.os}}" \
+ --platform "${{matrix.platform}}" \
--config "${{matrix.config}}" \
--skip-file tests/expected-example-failure-github.txt
- name: Test Slang via glsl
diff --git a/tests/expected-example-failure-github.txt b/tests/expected-example-failure-github.txt
index 625440007..ee3ad2fa1 100644
--- a/tests/expected-example-failure-github.txt
+++ b/tests/expected-example-failure-github.txt
@@ -1,17 +1,16 @@
-linux:(debug|release):gpu-printing # See issue 5520
-linux:(debug|release):hello-world # See issue 5520
-linux:(debug|release):model-viewer # See issue 5520
-linux:(debug|release):platform-test # See issue 5520
-linux:(debug|release):ray-tracing # See issue 5520
-linux:(debug|release):ray-tracing-pipeline # See issue 5520
-linux:(debug|release):shader-object # See issue 5520
-linux:(debug|release):shader-toy # See issue 5520
-linux:(debug|release):triangle # See issue 5520
-macos:(debug|release):hello-world # See issue 5520
-macos:(debug|release):model-viewer # See issue 5520
-macos:(debug|release):ray-tracing # See issue 5520
-macos:(debug|release):ray-tracing-pipeline # See issue 5520
-windows:debug:ray-tracing # See issue 5520
-windows:debug:ray-tracing-pipeline # See issue 5520
-windows:debug:reflection-api # See issue 5520
-windows:debug:hello-world # See issue 5520
+linux:x86_64:(debug|release):gpu-printing # See issue 5520
+linux:x86_64:(debug|release):hello-world # See issue 5520
+linux:x86_64:(debug|release):model-viewer # See issue 5520
+linux:x86_64:(debug|release):platform-test # See issue 5520
+linux:x86_64:(debug|release):ray-tracing # See issue 5520
+linux:x86_64:(debug|release):ray-tracing-pipeline # See issue 5520
+linux:x86_64:(debug|release):shader-object # See issue 5520
+linux:x86_64:(debug|release):shader-toy # See issue 5520
+linux:x86_64:(debug|release):triangle # See issue 5520
+macos:aarch64:(debug|release):hello-world # See issue 5520
+macos:aarch64:(debug|release):model-viewer # See issue 5520
+macos:aarch64:(debug|release):ray-tracing # See issue 5520
+macos:aarch64:(debug|release):ray-tracing-pipeline # See issue 5520
+windows:x86_64:debug:hello-world # See issue 5520
+windows:x86_64:debug:ray-tracing # See issue 5520
+windows:x86_64:debug:ray-tracing-pipeline # See issue 5520