From 82e33edf09e058d2eeac0e6f2926ff9a3bd069d9 Mon Sep 17 00:00:00 2001 From: Eliott Date: Fri, 28 Jul 2023 14:34:58 +0900 Subject: [PATCH 01/28] [Test] Try add control aver build arch for vulkan --- .github/workflows/ci.yml | 25 +++++++++++++++++++++++++ action.yml | 8 ++++++-- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1fde6baa..f782f9cd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -160,6 +160,31 @@ jobs: $ENV:PATH="$ENV:PATH;$ENV:VULKAN_SDK/bin" tail -100 build/CMakeFiles/*.log ./build/test_vulkan + + setup-windows-with-version-powershell-x86: + if: ${{ contains(github.event.inputs.extra_tests, 'default') }} + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - uses: ./ + with: + vulkan-query-version: 1.3.204.0 + vulkan-components: Vulkan-Headers, Vulkan-Loader + vulkan-use-cache: true + arch: x86 + + - uses: seanmiddleditch/gha-setup-vsdevenv@v4 + - name: Test Vulkan SDK Install + shell: powershell + run: | + echo "Vulkan SDK Version=='$env:VULKAN_SDK_VERSION'" + if (!$env:VULKAN_SDK_VERSION) { throw "vulkan sdk install error" } + cd tests + cmake -G "Visual Studio 16 2019" -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. + cmake --build build --config release + $ENV:PATH="$ENV:PATH;$ENV:VULKAN_SDK/bin" + tail -100 build/CMakeFiles/*.log + ./build/test_vulkan # setup-macos-with-latest: if: ${{ contains(github.event.inputs.extra_tests, 'default') }} diff --git a/action.yml b/action.yml index cb979c70..695e7808 100644 --- a/action.yml +++ b/action.yml @@ -20,6 +20,10 @@ inputs: description: 'specify whether to cache VULKAN_SDK/ results between runs (using github actions/cache)' default: false required: false + arch: + description: 'Build architecture' + default: x64 + required: false runs: using: "composite" steps: @@ -90,7 +94,7 @@ runs: - name: Configure Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' - shell: vsdevenv x64 bash {0} + shell: vsdevenv "${{ inputs.cmake-arch-target }}" bash {0} run: | # cmake configure set -a @@ -108,7 +112,7 @@ runs: - name: Build Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' - shell: vsdevenv x64 bash {0} + shell: vsdevenv "${{ inputs.cmake-arch-target }}" bash {0} run: | # cmake build set -a From fa907f1ec2c36b8001270abd10245f0c67170d90 Mon Sep 17 00:00:00 2001 From: Eliott Date: Fri, 28 Jul 2023 15:11:46 +0900 Subject: [PATCH 02/28] [Fix] Windows test unit Major: - windows-latest is windows-2022 so it requires Visual Studio 17 2022 --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f782f9cd..e9ba0434 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -155,7 +155,7 @@ jobs: echo "Vulkan SDK Version=='$env:VULKAN_SDK_VERSION'" if (!$env:VULKAN_SDK_VERSION) { throw "vulkan sdk install error" } cd tests - cmake -G "Visual Studio 16 2019" -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. + cmake -G "Visual Studio 17 2022" -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. cmake --build build --config release $ENV:PATH="$ENV:PATH;$ENV:VULKAN_SDK/bin" tail -100 build/CMakeFiles/*.log @@ -180,7 +180,7 @@ jobs: echo "Vulkan SDK Version=='$env:VULKAN_SDK_VERSION'" if (!$env:VULKAN_SDK_VERSION) { throw "vulkan sdk install error" } cd tests - cmake -G "Visual Studio 16 2019" -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. + cmake -G "Visual Studio 17 2022" -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. cmake --build build --config release $ENV:PATH="$ENV:PATH;$ENV:VULKAN_SDK/bin" tail -100 build/CMakeFiles/*.log From 1b49d1fc718f1261253f5fbec893d7a46a2507d5 Mon Sep 17 00:00:00 2001 From: Eliott Date: Fri, 28 Jul 2023 15:31:05 +0900 Subject: [PATCH 03/28] [Test] Try passing arch parameter to vsdevenv --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e9ba0434..606f024b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -174,6 +174,8 @@ jobs: arch: x86 - uses: seanmiddleditch/gha-setup-vsdevenv@v4 + with: + arch: ${{ ./inputs.arch }} - name: Test Vulkan SDK Install shell: powershell run: | From 6568b74d143f8aabb2542211a6e424e25e751cbf Mon Sep 17 00:00:00 2001 From: Eliott Date: Fri, 28 Jul 2023 15:49:49 +0900 Subject: [PATCH 04/28] [Revert+Fix] Was giving wrong parameter name in action after a change Major: - reverting atempting ci test correction since it should be the issue. --- .github/workflows/ci.yml | 2 -- action.yml | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 606f024b..e9ba0434 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -174,8 +174,6 @@ jobs: arch: x86 - uses: seanmiddleditch/gha-setup-vsdevenv@v4 - with: - arch: ${{ ./inputs.arch }} - name: Test Vulkan SDK Install shell: powershell run: | diff --git a/action.yml b/action.yml index 695e7808..235f62f9 100644 --- a/action.yml +++ b/action.yml @@ -94,7 +94,7 @@ runs: - name: Configure Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' - shell: vsdevenv "${{ inputs.cmake-arch-target }}" bash {0} + shell: vsdevenv "${{ inputs.arch }}" bash {0} run: | # cmake configure set -a @@ -112,7 +112,7 @@ runs: - name: Build Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' - shell: vsdevenv "${{ inputs.cmake-arch-target }}" bash {0} + shell: vsdevenv "${{ inputs.arch }}" bash {0} run: | # cmake build set -a From a11663484ab46582689fda819aa3ed1fc67f2a66 Mon Sep 17 00:00:00 2001 From: Eliott Date: Fri, 28 Jul 2023 16:00:58 +0900 Subject: [PATCH 05/28] [Update] Cache to false for new test to make sure it's always re-run --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e9ba0434..8812ee2f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -170,7 +170,7 @@ jobs: with: vulkan-query-version: 1.3.204.0 vulkan-components: Vulkan-Headers, Vulkan-Loader - vulkan-use-cache: true + vulkan-use-cache: false arch: x86 - uses: seanmiddleditch/gha-setup-vsdevenv@v4 @@ -195,7 +195,7 @@ jobs: with: vulkan-query-version: 1.3.204.0 vulkan-components: Vulkan-Headers, Vulkan-Loader, Glslang - vulkan-use-cache: true+ + vulkan-use-cache: true - name: Test Vulkan SDK Install run: | echo "Vulkan SDK Version=='$VULKAN_SDK_VERSION'" From 6a2814d47648cec3a40fef6a623a8913bbba748e Mon Sep 17 00:00:00 2001 From: Eliott Date: Fri, 28 Jul 2023 16:21:09 +0900 Subject: [PATCH 06/28] [Fix] Quotes not needed --- action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/action.yml b/action.yml index 235f62f9..a9bc5c5b 100644 --- a/action.yml +++ b/action.yml @@ -94,7 +94,7 @@ runs: - name: Configure Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' - shell: vsdevenv "${{ inputs.arch }}" bash {0} + shell: vsdevenv ${{ inputs.arch }} bash {0} run: | # cmake configure set -a @@ -112,7 +112,7 @@ runs: - name: Build Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' - shell: vsdevenv "${{ inputs.arch }}" bash {0} + shell: vsdevenv ${{ inputs.arch }} bash {0} run: | # cmake build set -a From ef522b141539a2169e329da98c9e8ee7b3002c52 Mon Sep 17 00:00:00 2001 From: Eliott Date: Fri, 28 Jul 2023 16:36:02 +0900 Subject: [PATCH 07/28] [Test] Try adding the arch to cmake --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index a9bc5c5b..34c26e4c 100644 --- a/action.yml +++ b/action.yml @@ -103,7 +103,7 @@ runs: CC=cl.exe CXX=cl.exe fi - cmake -S $GITHUB_ACTION_PATH -B ${VULKAN_SDK_BUILD_DIR} \ + cmake -A ${{ inputs.arch }} -S $GITHUB_ACTION_PATH -B ${VULKAN_SDK_BUILD_DIR} \ -DCMAKE_BUILD_TYPE=Release \ -DVULKAN_SDK=${VULKAN_SDK} \ -DVULKAN_SDK_CONFIG="${VULKAN_SDK_CONFIG_FILE}" \ From 8f615cf0979e52d22e51da72c83488d2e82c1810 Mon Sep 17 00:00:00 2001 From: Eliott Date: Fri, 28 Jul 2023 16:50:50 +0900 Subject: [PATCH 08/28] [Add] Events parameter and try target architecture on every tests --- .github/workflows/ci.yml | 44 ++++++++++++++-------------------------- 1 file changed, 15 insertions(+), 29 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8812ee2f..48c30d3b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,6 +16,10 @@ on: description: Vulkan SDK Version required: false default: latest + arch: + description: Target architecture (x64, x86) + required: false + default: x64 jobs: setup-all-matrix: if: ${{ github.event.inputs.extra_tests == 'true' || github.event.inputs.extra_tests == 'matrix' }} @@ -34,6 +38,8 @@ jobs: vulkan-query-version: ${{ github.event.inputs.version }} vulkan-components: ${{ github.event.inputs.components }} vulkan-use-cache: true + arch: ${{ github.event.inputs.arch }} + - uses: seanmiddleditch/gha-setup-vsdevenv@v4 - name: Test Vulkan SDK Install shell: bash @@ -42,7 +48,7 @@ jobs: echo "VULKAN_SDK=='$VULKAN_SDK'" glslangValidator --version test -n "$VULKAN_SDK_VERSION" - cmake -B tests/build -S tests -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. + cmake -A ${{ github.event.inputs.arch }} -B tests/build -S tests -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. cmake --build tests/build --config release ./tests/build/test_vulkan # @@ -81,13 +87,15 @@ jobs: with: vulkan-config-file: tests/vulkan_sdk_specs/linux.json vulkan-components: Vulkan-Headers, Vulkan-Loader - vulkan-use-cache: true+ + vulkan-use-cache: true + arch: ${{ github.event.inputs.arch }} + - name: Test Vulkan SDK Install run: | echo "Vulkan SDK Version=='$VULKAN_SDK_VERSION'" echo "VULKAN_SDK=='$VULKAN_SDK'" test -n "$VULKAN_SDK_VERSION" || exit 4 - cmake -B tests/build -S tests -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. + cmake -A ${{ github.event.inputs.arch }} -B tests/build -S tests -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. cmake --build tests/build --config release -- -j2 PATH=$PATH:$VULKAN_SDK/bin ./tests/build/test_vulkan # @@ -147,40 +155,18 @@ jobs: vulkan-query-version: 1.3.204.0 vulkan-components: Vulkan-Headers, Vulkan-Loader vulkan-use-cache: true + arch: ${{ github.event.inputs.arch }} - uses: seanmiddleditch/gha-setup-vsdevenv@v4 - - name: Test Vulkan SDK Install - shell: powershell - run: | - echo "Vulkan SDK Version=='$env:VULKAN_SDK_VERSION'" - if (!$env:VULKAN_SDK_VERSION) { throw "vulkan sdk install error" } - cd tests - cmake -G "Visual Studio 17 2022" -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. - cmake --build build --config release - $ENV:PATH="$ENV:PATH;$ENV:VULKAN_SDK/bin" - tail -100 build/CMakeFiles/*.log - ./build/test_vulkan - - setup-windows-with-version-powershell-x86: - if: ${{ contains(github.event.inputs.extra_tests, 'default') }} - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - - uses: ./ with: - vulkan-query-version: 1.3.204.0 - vulkan-components: Vulkan-Headers, Vulkan-Loader - vulkan-use-cache: false - arch: x86 - - - uses: seanmiddleditch/gha-setup-vsdevenv@v4 + arch: ${{ github.event.inputs.arch }} - name: Test Vulkan SDK Install shell: powershell run: | echo "Vulkan SDK Version=='$env:VULKAN_SDK_VERSION'" if (!$env:VULKAN_SDK_VERSION) { throw "vulkan sdk install error" } cd tests - cmake -G "Visual Studio 17 2022" -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. + cmake -A ${{ github.event.inputs.arch }} -G "Visual Studio 17 2022" -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. cmake --build build --config release $ENV:PATH="$ENV:PATH;$ENV:VULKAN_SDK/bin" tail -100 build/CMakeFiles/*.log @@ -201,7 +187,7 @@ jobs: echo "Vulkan SDK Version=='$VULKAN_SDK_VERSION'" echo "VULKAN_SDK=='$VULKAN_SDK'" test -n "$VULKAN_SDK_VERSION" - cmake -B tests/build -S tests -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. + cmake -A ${{ github.event.inputs.arch }} -B tests/build -S tests -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. cmake --build tests/build --config release -- -j2 glslangValidator --version PATH=$PATH:$VULKAN_SDK/bin ./tests/build/test_vulkan From 55db76c78b578ab8070cded4ea0fed5ce999ff9f Mon Sep 17 00:00:00 2001 From: Eliott Date: Fri, 28 Jul 2023 17:07:33 +0900 Subject: [PATCH 09/28] [Test] Revert plat def for Unix + try Win32 when x86 is set for Windows --- .github/workflows/ci.yml | 7 +++---- action.yml | 8 +++++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 48c30d3b..049accc6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,7 +48,7 @@ jobs: echo "VULKAN_SDK=='$VULKAN_SDK'" glslangValidator --version test -n "$VULKAN_SDK_VERSION" - cmake -A ${{ github.event.inputs.arch }} -B tests/build -S tests -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. + cmake -B tests/build -S tests -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. cmake --build tests/build --config release ./tests/build/test_vulkan # @@ -88,14 +88,13 @@ jobs: vulkan-config-file: tests/vulkan_sdk_specs/linux.json vulkan-components: Vulkan-Headers, Vulkan-Loader vulkan-use-cache: true - arch: ${{ github.event.inputs.arch }} - name: Test Vulkan SDK Install run: | echo "Vulkan SDK Version=='$VULKAN_SDK_VERSION'" echo "VULKAN_SDK=='$VULKAN_SDK'" test -n "$VULKAN_SDK_VERSION" || exit 4 - cmake -A ${{ github.event.inputs.arch }} -B tests/build -S tests -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. + cmake -B tests/build -S tests -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. cmake --build tests/build --config release -- -j2 PATH=$PATH:$VULKAN_SDK/bin ./tests/build/test_vulkan # @@ -187,7 +186,7 @@ jobs: echo "Vulkan SDK Version=='$VULKAN_SDK_VERSION'" echo "VULKAN_SDK=='$VULKAN_SDK'" test -n "$VULKAN_SDK_VERSION" - cmake -A ${{ github.event.inputs.arch }} -B tests/build -S tests -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. + cmake -B tests/build -S tests -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. cmake --build tests/build --config release -- -j2 glslangValidator --version PATH=$PATH:$VULKAN_SDK/bin ./tests/build/test_vulkan diff --git a/action.yml b/action.yml index 34c26e4c..4a0ce9eb 100644 --- a/action.yml +++ b/action.yml @@ -103,7 +103,13 @@ runs: CC=cl.exe CXX=cl.exe fi - cmake -A ${{ inputs.arch }} -S $GITHUB_ACTION_PATH -B ${VULKAN_SDK_BUILD_DIR} \ + + arch=x64 + if ${{ inputs.arch }}==x86 ; then + arch=Win32 + fi + + cmake -A $arch -S $GITHUB_ACTION_PATH -B ${VULKAN_SDK_BUILD_DIR} \ -DCMAKE_BUILD_TYPE=Release \ -DVULKAN_SDK=${VULKAN_SDK} \ -DVULKAN_SDK_CONFIG="${VULKAN_SDK_CONFIG_FILE}" \ From bf480f610fa502266a74aec6ed9b6e0a8e668c87 Mon Sep 17 00:00:00 2001 From: Eliott Date: Fri, 28 Jul 2023 17:16:52 +0900 Subject: [PATCH 10/28] [Update] Don't use cache for tests --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 049accc6..70fdd59c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -87,7 +87,7 @@ jobs: with: vulkan-config-file: tests/vulkan_sdk_specs/linux.json vulkan-components: Vulkan-Headers, Vulkan-Loader - vulkan-use-cache: true + vulkan-use-cache: false - name: Test Vulkan SDK Install run: | @@ -153,7 +153,7 @@ jobs: with: vulkan-query-version: 1.3.204.0 vulkan-components: Vulkan-Headers, Vulkan-Loader - vulkan-use-cache: true + vulkan-use-cache: false arch: ${{ github.event.inputs.arch }} - uses: seanmiddleditch/gha-setup-vsdevenv@v4 @@ -180,7 +180,7 @@ jobs: with: vulkan-query-version: 1.3.204.0 vulkan-components: Vulkan-Headers, Vulkan-Loader, Glslang - vulkan-use-cache: true + vulkan-use-cache: false - name: Test Vulkan SDK Install run: | echo "Vulkan SDK Version=='$VULKAN_SDK_VERSION'" From 06ac096f6a0cc21b89ca9f6eb6960e94ea07101e Mon Sep 17 00:00:00 2001 From: Eliott Date: Fri, 28 Jul 2023 17:36:18 +0900 Subject: [PATCH 11/28] [Test] Try to apply platform def only to Win + [Fix] Test Vulkan Install --- .github/workflows/ci.yml | 8 +++++++- action.yml | 27 ++++++++++++++++----------- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 70fdd59c..5a355e7f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -165,7 +165,13 @@ jobs: echo "Vulkan SDK Version=='$env:VULKAN_SDK_VERSION'" if (!$env:VULKAN_SDK_VERSION) { throw "vulkan sdk install error" } cd tests - cmake -A ${{ github.event.inputs.arch }} -G "Visual Studio 17 2022" -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. + + arch=x64 + if ${{ inputs.arch }}==x86 ; then + arch=Win32 + fi + + cmake -A $arch -G "Visual Studio 17 2022" -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. cmake --build build --config release $ENV:PATH="$ENV:PATH;$ENV:VULKAN_SDK/bin" tail -100 build/CMakeFiles/*.log diff --git a/action.yml b/action.yml index 4a0ce9eb..0c98aad9 100644 --- a/action.yml +++ b/action.yml @@ -97,24 +97,29 @@ runs: shell: vsdevenv ${{ inputs.arch }} bash {0} run: | # cmake configure + + arch=x64 + if ${{ inputs.arch }}==x86 ; then + arch=Win32 + fi + set -a . $PWD/_vulkan_build/env + + param="-S $GITHUB_ACTION_PATH -B ${VULKAN_SDK_BUILD_DIR} \ + -DCMAKE_BUILD_TYPE=Release \ + -DVULKAN_SDK=${VULKAN_SDK} \ + -DVULKAN_SDK_CONFIG="${VULKAN_SDK_CONFIG_FILE}" \ + -DVULKAN_SDK_COMPONENTS="${VULKAN_SDK_COMPONENTS}" \ + || { cat _vulkan_build/CMakeFiles/*.log ; exit 4 ; }" + if [[ $RUNNER_OS == 'Windows' ]] ; then CC=cl.exe CXX=cl.exe - fi - - arch=x64 - if ${{ inputs.arch }}==x86 ; then - arch=Win32 + param=-A $arch $param fi - cmake -A $arch -S $GITHUB_ACTION_PATH -B ${VULKAN_SDK_BUILD_DIR} \ - -DCMAKE_BUILD_TYPE=Release \ - -DVULKAN_SDK=${VULKAN_SDK} \ - -DVULKAN_SDK_CONFIG="${VULKAN_SDK_CONFIG_FILE}" \ - -DVULKAN_SDK_COMPONENTS="${VULKAN_SDK_COMPONENTS}" \ - || { cat _vulkan_build/CMakeFiles/*.log ; exit 4 ; } + cmake $param - name: Build Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' From fb000e0b9451b6df8dcdbc1f6198bc93cc07799c Mon Sep 17 00:00:00 2001 From: Eliott Date: Fri, 28 Jul 2023 17:45:00 +0900 Subject: [PATCH 12/28] [Test] Another way to build the arch definition for windows only Minor: - Fixed if statement parenthesis --- .github/workflows/ci.yml | 2 +- action.yml | 31 +++++++++++++++---------------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5a355e7f..6bf279cc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -167,7 +167,7 @@ jobs: cd tests arch=x64 - if ${{ inputs.arch }}==x86 ; then + if [[ ${{ inputs.arch }}==x86 ]] ; then arch=Win32 fi diff --git a/action.yml b/action.yml index 0c98aad9..16f07b63 100644 --- a/action.yml +++ b/action.yml @@ -97,29 +97,28 @@ runs: shell: vsdevenv ${{ inputs.arch }} bash {0} run: | # cmake configure - - arch=x64 - if ${{ inputs.arch }}==x86 ; then - arch=Win32 - fi - set -a . $PWD/_vulkan_build/env - param="-S $GITHUB_ACTION_PATH -B ${VULKAN_SDK_BUILD_DIR} \ - -DCMAKE_BUILD_TYPE=Release \ - -DVULKAN_SDK=${VULKAN_SDK} \ - -DVULKAN_SDK_CONFIG="${VULKAN_SDK_CONFIG_FILE}" \ - -DVULKAN_SDK_COMPONENTS="${VULKAN_SDK_COMPONENTS}" \ - || { cat _vulkan_build/CMakeFiles/*.log ; exit 4 ; }" - + archParam="" if [[ $RUNNER_OS == 'Windows' ]] ; then CC=cl.exe CXX=cl.exe - param=-A $arch $param + + arch=x64 + if [[ ${{ inputs.arch }}==x86 ]] ; then + arch=Win32 + fi + archParam="-A ${arch}" fi - - cmake $param + + echo $archParam + cmake ${archParam} -S $GITHUB_ACTION_PATH -B ${VULKAN_SDK_BUILD_DIR} \ + -DCMAKE_BUILD_TYPE=Release \ + -DVULKAN_SDK=${VULKAN_SDK} \ + -DVULKAN_SDK_CONFIG="${VULKAN_SDK_CONFIG_FILE}" \ + -DVULKAN_SDK_COMPONENTS="${VULKAN_SDK_COMPONENTS}" \ + || { cat _vulkan_build/CMakeFiles/*.log ; exit 4 ; } - name: Build Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' From 3f5e54f35da5b9a7586dd1a1a56be56c3a067a29 Mon Sep 17 00:00:00 2001 From: Eliott Date: Fri, 28 Jul 2023 18:25:14 +0900 Subject: [PATCH 13/28] [Fix] Powershell if syntax --- .github/workflows/ci.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6bf279cc..42a2db70 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -167,10 +167,9 @@ jobs: cd tests arch=x64 - if [[ ${{ inputs.arch }}==x86 ]] ; then + if ("${{ inputs.arch }}" -eq "x86"){ arch=Win32 - fi - + } cmake -A $arch -G "Visual Studio 17 2022" -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. cmake --build build --config release $ENV:PATH="$ENV:PATH;$ENV:VULKAN_SDK/bin" From 3babe9f6239b5d68b68527e762f7a4aa46fe2b72 Mon Sep 17 00:00:00 2001 From: Eliott Date: Fri, 28 Jul 2023 18:36:22 +0900 Subject: [PATCH 14/28] [Test] Switch to bash --- .github/workflows/ci.yml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 42a2db70..7b2aae8a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -160,20 +160,24 @@ jobs: with: arch: ${{ github.event.inputs.arch }} - name: Test Vulkan SDK Install - shell: powershell + shell: bash run: | - echo "Vulkan SDK Version=='$env:VULKAN_SDK_VERSION'" - if (!$env:VULKAN_SDK_VERSION) { throw "vulkan sdk install error" } + echo "Vulkan SDK Version==$VULKAN_SDK_VERSION" + if [[ -z "$VULKAN_SDK_VERSION" ]] ; then + echo "vulkan sdk install error" + exit 1 + fi + cd tests arch=x64 - if ("${{ inputs.arch }}" -eq "x86"){ + if [[ ${{ inputs.arch }}==x86 ]] ; then arch=Win32 - } + fi + cmake -A $arch -G "Visual Studio 17 2022" -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. cmake --build build --config release - $ENV:PATH="$ENV:PATH;$ENV:VULKAN_SDK/bin" - tail -100 build/CMakeFiles/*.log + PATH="$PATH:$VULKAN_SDK/bin" ./build/test_vulkan # setup-macos-with-latest: From d4d144bcb42a31fb780e638b6476048a8f8b4698 Mon Sep 17 00:00:00 2001 From: Jacopin Eliott Date: Sat, 29 Jul 2023 16:41:19 +0900 Subject: [PATCH 15/28] [Test] Reversing to use Win32 instead of x86 That's because Win32 is the default value we will use in Windows systems arch matrix in other github actions --- .github/workflows/ci.yml | 16 ++++++++-------- action.yml | 19 +++++++++++-------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7b2aae8a..bdda2b96 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -155,10 +155,15 @@ jobs: vulkan-components: Vulkan-Headers, Vulkan-Loader vulkan-use-cache: false arch: ${{ github.event.inputs.arch }} - + - uses: seanmiddleditch/gha-setup-vsdevenv@v4 + if: ${{ contains(github.event.inputs.arch, 'x64') }} with: - arch: ${{ github.event.inputs.arch }} + -arch: x64 + if: ${{ contains(github.event.inputs.arch, 'Win32') }} + with: + -arch: x86 + - name: Test Vulkan SDK Install shell: bash run: | @@ -170,12 +175,7 @@ jobs: cd tests - arch=x64 - if [[ ${{ inputs.arch }}==x86 ]] ; then - arch=Win32 - fi - - cmake -A $arch -G "Visual Studio 17 2022" -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. + cmake -A ${{ inputs.arch }} -G "Visual Studio 17 2022" -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. cmake --build build --config release PATH="$PATH:$VULKAN_SDK/bin" ./build/test_vulkan diff --git a/action.yml b/action.yml index 16f07b63..df5550f3 100644 --- a/action.yml +++ b/action.yml @@ -94,7 +94,11 @@ runs: - name: Configure Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' - shell: vsdevenv ${{ inputs.arch }} bash {0} + shell: | + arch=x64 + if [[ ${{ inputs.arch }}==Win32 ]] ; then + arch=x86 + fi | vsdevenv $arch bash {0} run: | # cmake configure set -a @@ -104,12 +108,7 @@ runs: if [[ $RUNNER_OS == 'Windows' ]] ; then CC=cl.exe CXX=cl.exe - - arch=x64 - if [[ ${{ inputs.arch }}==x86 ]] ; then - arch=Win32 - fi - archParam="-A ${arch}" + archParam="-A ${{ inputs.arch }}" fi echo $archParam @@ -122,7 +121,11 @@ runs: - name: Build Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' - shell: vsdevenv ${{ inputs.arch }} bash {0} + shell: | + arch=x64 + if [[ ${{ inputs.arch }}==Win32 ]] ; then + arch=x86 + fi | vsdevenv $arch bash {0} run: | # cmake build set -a From d85ab36363a80904e26d52d0d5f53971080b883d Mon Sep 17 00:00:00 2001 From: Jacopin Eliott Date: Sat, 29 Jul 2023 16:53:10 +0900 Subject: [PATCH 16/28] [Fix] Try fixing the if statement syntax in test + misc --- .github/workflows/ci.yml | 6 ++---- action.yml | 5 +++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bdda2b96..bd58491a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ on: required: false default: latest arch: - description: Target architecture (x64, x86) + description: Target architecture, Windows only (x64 or Win32) required: false default: x64 jobs: @@ -157,11 +157,9 @@ jobs: arch: ${{ github.event.inputs.arch }} - uses: seanmiddleditch/gha-setup-vsdevenv@v4 - if: ${{ contains(github.event.inputs.arch, 'x64') }} with: -arch: x64 - if: ${{ contains(github.event.inputs.arch, 'Win32') }} - with: + if: ${{ github.event.inputs.arch=='Win32' }} -arch: x86 - name: Test Vulkan SDK Install diff --git a/action.yml b/action.yml index df5550f3..0d0d9a65 100644 --- a/action.yml +++ b/action.yml @@ -21,7 +21,7 @@ inputs: default: false required: false arch: - description: 'Build architecture' + description: 'Build architecture, Windows only (x64 or Win32)' default: x64 required: false runs: @@ -98,7 +98,8 @@ runs: arch=x64 if [[ ${{ inputs.arch }}==Win32 ]] ; then arch=x86 - fi | vsdevenv $arch bash {0} + fi + vsdevenv $arch bash {0} run: | # cmake configure set -a From c28f6e129686827b01e867610eda44374a48bb2f Mon Sep 17 00:00:00 2001 From: Jacopin Eliott Date: Sat, 29 Jul 2023 16:56:18 +0900 Subject: [PATCH 17/28] [Fix] Try get if statement ouside of with to not redefine arch --- .github/workflows/ci.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bd58491a..bddf22a3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -144,7 +144,7 @@ jobs: # cmake --build tests/build --config release # PATH=$PATH:$VULKAN_SDK/bin ./tests/build/test_vulkan # - setup-windows-with-version-powershell: + setup-windows-with-arch: if: ${{ contains(github.event.inputs.extra_tests, 'default') }} runs-on: windows-latest steps: @@ -156,11 +156,16 @@ jobs: vulkan-use-cache: false arch: ${{ github.event.inputs.arch }} + env: + resolvedArch: x64 + + - name: resolve arch Win32 --> x86 + if: github.event.inputs.arch=='Win32' + run: $env.resolvedArch='x86' + - uses: seanmiddleditch/gha-setup-vsdevenv@v4 with: - -arch: x64 - if: ${{ github.event.inputs.arch=='Win32' }} - -arch: x86 + -arch: $env.resolvedArch - name: Test Vulkan SDK Install shell: bash From 259ffbf88f9d5584b4051a06bd0be00579f38d19 Mon Sep 17 00:00:00 2001 From: Jacopin Eliott Date: Sat, 29 Jul 2023 17:40:33 +0900 Subject: [PATCH 18/28] [Test] Fix arch resolve in action too --- action.yml | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/action.yml b/action.yml index 0d0d9a65..45989abf 100644 --- a/action.yml +++ b/action.yml @@ -92,14 +92,16 @@ runs: cat $VULKAN_SDK_BUILD_DIR/env echo "--------------------------------------------------------------" + env: + resolvedArch: x64 + + - name: resolve arch Win32 --> x86 + if: github.event.inputs.arch=='Win32' + run: $env.resolvedArch='x86' + - name: Configure Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' - shell: | - arch=x64 - if [[ ${{ inputs.arch }}==Win32 ]] ; then - arch=x86 - fi - vsdevenv $arch bash {0} + shell: vsdevenv $resolvedArch bash {0} run: | # cmake configure set -a @@ -122,11 +124,7 @@ runs: - name: Build Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' - shell: | - arch=x64 - if [[ ${{ inputs.arch }}==Win32 ]] ; then - arch=x86 - fi | vsdevenv $arch bash {0} + shell: vsdevenv $resolvedArch bash {0} run: | # cmake build set -a From 3090d219244b378ec82104ab87fe857832963ef5 Mon Sep 17 00:00:00 2001 From: Jacopin Eliott Date: Sat, 29 Jul 2023 17:57:53 +0900 Subject: [PATCH 19/28] [Test] Try fix indentation level of env var in action --- action.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/action.yml b/action.yml index 45989abf..06c2015d 100644 --- a/action.yml +++ b/action.yml @@ -26,6 +26,7 @@ inputs: required: false runs: using: "composite" + steps: - uses: humbletim/vsdevenv-shell@e87fcf2359929606ba32db358baef5ede4737aed @@ -92,12 +93,11 @@ runs: cat $VULKAN_SDK_BUILD_DIR/env echo "--------------------------------------------------------------" - env: - resolvedArch: x64 - - name: resolve arch Win32 --> x86 + env: + resolvedArch: x64 if: github.event.inputs.arch=='Win32' - run: $env.resolvedArch='x86' + run: $resolvedArch='x86' - name: Configure Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' From d633b90a39dd3831bf374fc7407e403305ffef0b Mon Sep 17 00:00:00 2001 From: Jacopin Eliott Date: Sat, 29 Jul 2023 18:09:40 +0900 Subject: [PATCH 20/28] [Fix] Template requires shell --- action.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 06c2015d..deb96d2b 100644 --- a/action.yml +++ b/action.yml @@ -94,10 +94,11 @@ runs: echo "--------------------------------------------------------------" - name: resolve arch Win32 --> x86 + shell: bash env: resolvedArch: x64 if: github.event.inputs.arch=='Win32' - run: $resolvedArch='x86' + run: $resolvedArch="x86" - name: Configure Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' From fa6dcdc424ee60eefeecd13e3edb8bb40e51026d Mon Sep 17 00:00:00 2001 From: Jacopin Eliott Date: Sat, 29 Jul 2023 18:22:58 +0900 Subject: [PATCH 21/28] [Test] Try fixing assignment syntax + changed default ci tests values --- .github/workflows/ci.yml | 4 ++-- action.yml | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bddf22a3..ce60a84d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,7 +6,7 @@ on: extra_tests: description: 'Enable additional CI tests' required: false - default: false + default: "default" components: description: Vulkan SDK Components required: false @@ -19,7 +19,7 @@ on: arch: description: Target architecture, Windows only (x64 or Win32) required: false - default: x64 + default: Win32 jobs: setup-all-matrix: if: ${{ github.event.inputs.extra_tests == 'true' || github.event.inputs.extra_tests == 'matrix' }} diff --git a/action.yml b/action.yml index deb96d2b..da910f6a 100644 --- a/action.yml +++ b/action.yml @@ -98,7 +98,11 @@ runs: env: resolvedArch: x64 if: github.event.inputs.arch=='Win32' - run: $resolvedArch="x86" + run: | + # resolve arch Win32 --> x86 + echo "resolvedArch before: ${resolvedArch}" + resolvedArch="x86" + echo "resolvedArch after: ${resolvedArch}" - name: Configure Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' From 303bfa8033fad409ef4ca731e0bc09c452fadf2d Mon Sep 17 00:00:00 2001 From: Jacopin Eliott Date: Sat, 29 Jul 2023 18:41:13 +0900 Subject: [PATCH 22/28] [Fix] Restrict arch resolve to windows in action --- .github/workflows/ci.yml | 11 ++++++----- action.yml | 11 ++++++++--- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ce60a84d..34b52515 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -155,17 +155,18 @@ jobs: vulkan-components: Vulkan-Headers, Vulkan-Loader vulkan-use-cache: false arch: ${{ github.event.inputs.arch }} - - env: - resolvedArch: x64 - name: resolve arch Win32 --> x86 + id: archSolver + shell: bash + env: + resolvedArch: x64 if: github.event.inputs.arch=='Win32' - run: $env.resolvedArch='x86' + run: resolvedArch='x86' - uses: seanmiddleditch/gha-setup-vsdevenv@v4 with: - -arch: $env.resolvedArch + arch: $archSolver.resolvedArch - name: Test Vulkan SDK Install shell: bash diff --git a/action.yml b/action.yml index da910f6a..5d8f7a26 100644 --- a/action.yml +++ b/action.yml @@ -93,13 +93,18 @@ runs: cat $VULKAN_SDK_BUILD_DIR/env echo "--------------------------------------------------------------" - - name: resolve arch Win32 --> x86 + - name: resolve arch shell: bash env: resolvedArch: x64 - if: github.event.inputs.arch=='Win32' + if: runner.os == 'Windows' && github.event.inputs.arch == 'Win32' run: | - # resolve arch Win32 --> x86 + # resolve arch for vsdenv when cmake arch is Win32 (WINDOWS ONLY) + if [[ $RUNNER_OS == 'Windows' ]] ; then + echo "Is Windows: true" + else + echo "Is Windows: true" + fi echo "resolvedArch before: ${resolvedArch}" resolvedArch="x86" echo "resolvedArch after: ${resolvedArch}" From 5893775a4b217fefaecbc0a7dc727655b8f22f8d Mon Sep 17 00:00:00 2001 From: Jacopin Eliott Date: Sat, 29 Jul 2023 19:21:37 +0900 Subject: [PATCH 23/28] [Test] Try fix to use id of step to retrieve archResolved value --- action.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/action.yml b/action.yml index 5d8f7a26..b6a9578f 100644 --- a/action.yml +++ b/action.yml @@ -94,6 +94,7 @@ runs: echo "--------------------------------------------------------------" - name: resolve arch + id: archSolver shell: bash env: resolvedArch: x64 @@ -111,7 +112,7 @@ runs: - name: Configure Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' - shell: vsdevenv $resolvedArch bash {0} + shell: vsdevenv ${{ steps[archSolver].resolvedArch }} bash {0} run: | # cmake configure set -a @@ -134,7 +135,7 @@ runs: - name: Build Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' - shell: vsdevenv $resolvedArch bash {0} + shell: vsdevenv ${{ archSolver.resolvedArch }} bash {0} run: | # cmake build set -a From 03ae95d8fd31fcd54964eeb2c957e099a84c2e71 Mon Sep 17 00:00:00 2001 From: Jacopin Eliott Date: Sat, 29 Jul 2023 19:45:11 +0900 Subject: [PATCH 24/28] [Test] Try using the GITHUB_ENV instead --- action.yml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/action.yml b/action.yml index b6a9578f..a07e4c5c 100644 --- a/action.yml +++ b/action.yml @@ -96,23 +96,21 @@ runs: - name: resolve arch id: archSolver shell: bash - env: - resolvedArch: x64 - if: runner.os == 'Windows' && github.event.inputs.arch == 'Win32' run: | # resolve arch for vsdenv when cmake arch is Win32 (WINDOWS ONLY) + if [[ $RUNNER_OS == 'Windows' ]] ; then echo "Is Windows: true" + if [[ ${{ github.event.inputs.arch }} == 'Win32' ]] ; then + echo "resolvedArch=x86" >> $GITHUB_ENV + fi else - echo "Is Windows: true" + echo "resolvedArch=x64" >> $GITHUB_ENV fi - echo "resolvedArch before: ${resolvedArch}" - resolvedArch="x86" - echo "resolvedArch after: ${resolvedArch}" - name: Configure Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' - shell: vsdevenv ${{ steps[archSolver].resolvedArch }} bash {0} + shell: vsdevenv ${{ env.resolvedArch }} bash {0} run: | # cmake configure set -a @@ -135,7 +133,7 @@ runs: - name: Build Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' - shell: vsdevenv ${{ archSolver.resolvedArch }} bash {0} + shell: vsdevenv ${{ env.resolvedArch }} bash {0} run: | # cmake build set -a From 3c9bc24c2e1d04e7aefba6b6c02ecc808afaee3c Mon Sep 17 00:00:00 2001 From: Jacopin Eliott Date: Sat, 29 Jul 2023 20:04:18 +0900 Subject: [PATCH 25/28] [Update] Unification of setting archResolved in test --- .github/workflows/ci.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 34b52515..54a03d5b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -157,16 +157,18 @@ jobs: arch: ${{ github.event.inputs.arch }} - name: resolve arch Win32 --> x86 - id: archSolver shell: bash - env: - resolvedArch: x64 - if: github.event.inputs.arch=='Win32' - run: resolvedArch='x86' + if: github.event.inputs.arch == 'Win32' + run: | + if [[ ${{ github.event.inputs.arch }} == 'Win32' ]] ; then + echo "resolvedArch=x86" >> $GITHUB_ENV + else + echo "resolvedArch=x64" >> $GITHUB_ENV + fi - uses: seanmiddleditch/gha-setup-vsdevenv@v4 with: - arch: $archSolver.resolvedArch + arch: ${{ env.resolvedArch }} - name: Test Vulkan SDK Install shell: bash From f455ea2e7e4c57c9ee4bc8c7872c558c0fc90339 Mon Sep 17 00:00:00 2001 From: Jacopin Eliott Date: Sat, 29 Jul 2023 20:15:17 +0900 Subject: [PATCH 26/28] [Fix] Wrongly used the github input instead of action input --- .github/workflows/ci.yml | 5 ++--- action.yml | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 54a03d5b..e44eba32 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -156,11 +156,10 @@ jobs: vulkan-use-cache: false arch: ${{ github.event.inputs.arch }} - - name: resolve arch Win32 --> x86 + - name: resolve arch Win32 --> x86 if needed shell: bash - if: github.event.inputs.arch == 'Win32' run: | - if [[ ${{ github.event.inputs.arch }} == 'Win32' ]] ; then + if [[ ${{ inputs.arch }} == 'Win32' ]] ; then echo "resolvedArch=x86" >> $GITHUB_ENV else echo "resolvedArch=x64" >> $GITHUB_ENV diff --git a/action.yml b/action.yml index a07e4c5c..ab4c3417 100644 --- a/action.yml +++ b/action.yml @@ -101,7 +101,7 @@ runs: if [[ $RUNNER_OS == 'Windows' ]] ; then echo "Is Windows: true" - if [[ ${{ github.event.inputs.arch }} == 'Win32' ]] ; then + if [[ ${{ inputs.arch }} == 'Win32' ]] ; then echo "resolvedArch=x86" >> $GITHUB_ENV fi else From 85ad824daa2af2e079f156036df5e16fa5b5bdfd Mon Sep 17 00:00:00 2001 From: Jacopin Eliott Date: Sat, 29 Jul 2023 20:26:50 +0900 Subject: [PATCH 27/28] [Fix] Forgot to handle the case of x64 Windows... --- action.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/action.yml b/action.yml index ab4c3417..15ae3ea3 100644 --- a/action.yml +++ b/action.yml @@ -103,6 +103,8 @@ runs: echo "Is Windows: true" if [[ ${{ inputs.arch }} == 'Win32' ]] ; then echo "resolvedArch=x86" >> $GITHUB_ENV + else + echo "resolvedArch=x64" >> $GITHUB_ENV fi else echo "resolvedArch=x64" >> $GITHUB_ENV From a373e91567018809b6b22fa0dfe105908d97408d Mon Sep 17 00:00:00 2001 From: Jacopin Eliott Date: Sun, 30 Jul 2023 15:25:25 +0900 Subject: [PATCH 28/28] [Update] Default test values + comments/descriptions --- .github/workflows/ci.yml | 13 ++++--------- action.yml | 16 +++++++--------- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e44eba32..0f0bb582 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,7 +6,7 @@ on: extra_tests: description: 'Enable additional CI tests' required: false - default: "default" + default: false components: description: Vulkan SDK Components required: false @@ -17,7 +17,7 @@ on: required: false default: latest arch: - description: Target architecture, Windows only (x64 or Win32) + description: Windows only, Target architecture (x64 or Win32) required: false default: Win32 jobs: @@ -38,8 +38,6 @@ jobs: vulkan-query-version: ${{ github.event.inputs.version }} vulkan-components: ${{ github.event.inputs.components }} vulkan-use-cache: true - arch: ${{ github.event.inputs.arch }} - - uses: seanmiddleditch/gha-setup-vsdevenv@v4 - name: Test Vulkan SDK Install shell: bash @@ -87,8 +85,7 @@ jobs: with: vulkan-config-file: tests/vulkan_sdk_specs/linux.json vulkan-components: Vulkan-Headers, Vulkan-Loader - vulkan-use-cache: false - + vulkan-use-cache: true - name: Test Vulkan SDK Install run: | echo "Vulkan SDK Version=='$VULKAN_SDK_VERSION'" @@ -177,9 +174,7 @@ jobs: echo "vulkan sdk install error" exit 1 fi - cd tests - cmake -A ${{ inputs.arch }} -G "Visual Studio 17 2022" -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. cmake --build build --config release PATH="$PATH:$VULKAN_SDK/bin" @@ -194,7 +189,7 @@ jobs: with: vulkan-query-version: 1.3.204.0 vulkan-components: Vulkan-Headers, Vulkan-Loader, Glslang - vulkan-use-cache: false + vulkan-use-cache: true - name: Test Vulkan SDK Install run: | echo "Vulkan SDK Version=='$VULKAN_SDK_VERSION'" diff --git a/action.yml b/action.yml index 15ae3ea3..18061d45 100644 --- a/action.yml +++ b/action.yml @@ -94,10 +94,9 @@ runs: echo "--------------------------------------------------------------" - name: resolve arch - id: archSolver shell: bash run: | - # resolve arch for vsdenv when cmake arch is Win32 (WINDOWS ONLY) + # resolve arch to x86 for vsdenv when cmake arch target is Win32 (WINDOWS ONLY); x64 for everything else if [[ $RUNNER_OS == 'Windows' ]] ; then echo "Is Windows: true" @@ -124,14 +123,13 @@ runs: CXX=cl.exe archParam="-A ${{ inputs.arch }}" fi - - echo $archParam + cmake ${archParam} -S $GITHUB_ACTION_PATH -B ${VULKAN_SDK_BUILD_DIR} \ - -DCMAKE_BUILD_TYPE=Release \ - -DVULKAN_SDK=${VULKAN_SDK} \ - -DVULKAN_SDK_CONFIG="${VULKAN_SDK_CONFIG_FILE}" \ - -DVULKAN_SDK_COMPONENTS="${VULKAN_SDK_COMPONENTS}" \ - || { cat _vulkan_build/CMakeFiles/*.log ; exit 4 ; } + -DCMAKE_BUILD_TYPE=Release \ + -DVULKAN_SDK=${VULKAN_SDK} \ + -DVULKAN_SDK_CONFIG="${VULKAN_SDK_CONFIG_FILE}" \ + -DVULKAN_SDK_COMPONENTS="${VULKAN_SDK_COMPONENTS}" \ + || { cat _vulkan_build/CMakeFiles/*.log ; exit 4 ; } - name: Build Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true'