humbletim / setup-vulkan-sdk Goto Github PK
View Code? Open in Web Editor NEWgithub action that provisions the Vulkan SDK and configures VULKAN_SDK environment variable
License: MIT License
github action that provisions the Vulkan SDK and configures VULKAN_SDK environment variable
License: MIT License
Hello, I've been using this action in my repository and it seems to have started failing, making all builds and PRs fail.
I have tried deleting the Github Actions cache and rerunning the jobs but they're still failing.
All our workflows use the action like this:
- name: Setup Vulkan SDK
uses: humbletim/[email protected]
with:
vulkan-query-version: latest
vulkan-use-cache: true
vulkan-components: Vulkan-Headers, Vulkan-Loader, Glslang
Our relevant Github workflows can be found here: https://github.com/wheremyfoodat/Panda3DS/tree/master/.github/workflows
I've also attached the log generated by the vulkan setup action here:
setup_vulkan_log.txt
If you'd prefer to see the full CI log for this particular run then you can find it here: https://github.com/wheremyfoodat/Panda3DS/actions/runs/6631468473/job/18015376439?pr=328
The current way the VULKAN_SDK
is resolved on Windows causes a cmake find_package
to fail when using this action. It is seemingly resolving a windows path into a linux-style path for my vkfetch
project.
So it is resolving into /d/a/vkfetch/vkfetch/VULKAN_SDK
rather than D:/a/vkfetch/vkfetch/VULKAN_SDK
https://github.com/Wunkolo/vkfetch/runs/3226556501?check_suite_focus=true#step:3:191
causing find_package( Vulkan)
to fail later on, since it cannot resolve these folders:
https://github.com/Wunkolo/vkfetch/runs/3226556501?check_suite_focus=true#step:4:20
This seems to be due to the $PWD
command on Windows resolving windows paths in this way.
setup-vulkan-sdk/install_vulkan_sdk.sh
Lines 87 to 90 in 7e109d4
$ echo $PWD
/c/Users/wunk
The fix would be that on Windows, the additional -W
flag must be used.
$ echo $(pwd -W)
C:/Users/wunk
While currently only affecting local CI tests, there is a remaining node.js deprecation warning that could potentially become an error message later and halt workflows.
However, the component in question -- seanmiddleditch/gha-setup-vsdevenv -- seems stuck at v4 and the maintainer appears inactive. It also looks like it is more complex in that node.js native action case than just bumping a project reference (actual javascript changes appear needed). It's possible one of the other PRs there attempted something while proposing migration to a later core API version previously.
References:
Possible alternatives could include migrating to a different action, manually patching the action, or contributing to the upstream project.
Current workaround being used locally just clones the repo manually and triggers installation in a way that absorbed the unwanted (and in this case unused) ::set-output
action output. This is of course unideal.
setup-vulkan-sdk/.github/workflows/ci.yml
Lines 38 to 51 in 523828e
Hello,
First of all, thanks for the action that we Vulkan Developers have been longing for :)
Problem:
After running the workflow, I am hit with the following error: Error: Process completed with exit code 1
The preceding code from the workflow it was executing before it gave the error is:
Run humbletim/[email protected]
Run humbletim/vsdevenv-shell@e87fcf2359929[6](https://github.com/nepp95/EppoEngine/actions/runs/6751417874/job/18355538753#step:5:7)06ba32db358baef5ede4[7](https://github.com/nepp95/EppoEngine/actions/runs/6751417874/job/18355538753#step:5:9)37aed
Run if [[ $RUNNER_OS == 'Windows' ]] ; then
C:\actions-runner\_work\_actions\humbletim\vsdevenv-shell\e87fcf23599[29](https://github.com/nepp95/EppoEngine/actions/runs/6751417874/job/18355538753#step:5:31)606ba32db358baef5ede4737aed/bin
Run # resolve_vulkan_sdk_environment
# resolve_vulkan_sdk_environment
. $GITHUB_ACTION_PATH/action_helpers.sh
resolve_vulkan_sdk_environment \
"1.3.261.1" \
"" \
"Vulkan-Headers, Vulkan-Loader"
shell: C:\Program Files\Git\usr\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
mkdir: created directory '/c/actions-runner/_work/EppoEngine/EppoEngine/_vulkan_build'
mkdir: created directory '/c/actions-runner/_work/EppoEngine/EppoEngine/VULKAN_SDK'
Error: Process completed with exit code 1.
Context: Self hosted windows runner running within a docker container based on a self created image (https://hub.docker.com/r/nepp95/runner - tag: windowsv2 which is being uploaded as we speak)
Workflow:
name: EppoEngine CI
on:
workflow_dispatch:
push:
branches: [ master, develop ]
pull_request:
branches: [ master, develop ]
jobs:
build-debug:
name: "Build"
runs-on: [ self-hosted, windows ]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup Premake
uses: abel0b/[email protected]
with:
version: "5.0.0-beta2"
path: Vendor/Premake/Bin
- name: Setup MSBuild
uses: microsoft/[email protected]
- name: Setup VulkanSDK
uses: humbletim/[email protected]
with:
vulkan-query-version: 1.3.261.1
vulkan-use-cache: true
- name: Run Premake
working-directory: ${{env.GITHUB_WORKSPACE}}
run: Vendor/Premake/Bin/Premake5.exe vs2022
- name: Build (Debug)
run: msbuild /m /p:Configuration=Debug EppoEngine.sln
- name: Build (Release)
run: msbuild /m /p:Configuration=Release EppoEngine.sln
- name: Build (Dist)
run: msbuild /m /p:Configuration=Dist EppoEngine.sln
While bash is ofcourse a shell we are able to use within WSL and thus also github's hosted runners, since that enables WSL, I have not yet figured out how to do such thing myself. I am using git bash which comes with git which gets added to path. This might be relevant since before I did that, I encountered the "Bash, command not found" error coming from this action so it inevitably needs bash.
I have tried to trace where this is coming from but can only find an exit code 9 within the function being called.
Kind regards,
Niels
(New to self hosted runners, which is probably also the cause of this problem)
I'm trying to use this action on this repo, however, the CI is failing because it logs that BRANCH=null
. I've tried specifying and not specifying the version, but neither one fixed the issue.
Links to the CI Logs:
Windows without specifying the version
Linux without specifying the version
Windows with specifying the version
Linux with specifying the version
This action throws deprecation notice related to actions/cache
due to Node.js 12 being deprecated.
I use the GLSL-to-SPIR-V compiler glslangValidator
from KhronosGroup/glslang as part of my build process. I would greatly appreciate it if you'd consider adding an option to install it with this action.
This action has been working fine for me until yesterday, but now I can't get it to succeed anymore. It fails with the following error:
2022-10-26T07:23:34.7120775Z parse error: Invalid numeric literal at line 1, column 7
Here is the entire log:
2022-10-26T07:23:27.1469329Z Requested labels: ubuntu-latest
2022-10-26T07:23:27.1469369Z Job defined at: Silverlan/test_github_action_vulkan/.github/workflows/pragma-linux-ci.yml@refs/heads/main
2022-10-26T07:23:27.1469394Z Waiting for a runner to pick up this job...
2022-10-26T07:23:27.2779776Z Job is waiting for a hosted runner to come online.
2022-10-26T07:23:30.8678961Z Job is about to start running on the hosted runner: Hosted Agent (hosted)
2022-10-26T07:23:32.8176623Z Current runner version: '2.298.2'
2022-10-26T07:23:32.8202076Z ##[group]Operating System
2022-10-26T07:23:32.8202632Z Ubuntu
2022-10-26T07:23:32.8202880Z 20.04.5
2022-10-26T07:23:32.8203258Z LTS
2022-10-26T07:23:32.8203559Z ##[endgroup]
2022-10-26T07:23:32.8203836Z ##[group]Runner Image
2022-10-26T07:23:32.8204212Z Image: ubuntu-20.04
2022-10-26T07:23:32.8204575Z Version: 20221018.2
2022-10-26T07:23:32.8205092Z Included Software: https://github.com/actions/runner-images/blob/ubuntu20/20221018.2/images/linux/Ubuntu2004-Readme.md
2022-10-26T07:23:32.8205691Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu20%2F20221018.2
2022-10-26T07:23:32.8206142Z ##[endgroup]
2022-10-26T07:23:32.8206486Z ##[group]Runner Image Provisioner
2022-10-26T07:23:32.8206812Z 2.0.91.1
2022-10-26T07:23:32.8207109Z ##[endgroup]
2022-10-26T07:23:32.8208056Z ##[group]GITHUB_TOKEN Permissions
2022-10-26T07:23:32.8208714Z Actions: write
2022-10-26T07:23:32.8209025Z Checks: write
2022-10-26T07:23:32.8209552Z Contents: write
2022-10-26T07:23:32.8209900Z Deployments: write
2022-10-26T07:23:32.8210219Z Discussions: write
2022-10-26T07:23:32.8210575Z Issues: write
2022-10-26T07:23:32.8210896Z Metadata: read
2022-10-26T07:23:32.8211166Z Packages: write
2022-10-26T07:23:32.8211483Z Pages: write
2022-10-26T07:23:32.8211843Z PullRequests: write
2022-10-26T07:23:32.8212159Z RepositoryProjects: write
2022-10-26T07:23:32.8212535Z SecurityEvents: write
2022-10-26T07:23:32.8212867Z Statuses: write
2022-10-26T07:23:32.8213138Z ##[endgroup]
2022-10-26T07:23:32.8216779Z Secret source: Actions
2022-10-26T07:23:32.8217312Z Prepare workflow directory
2022-10-26T07:23:32.9044582Z Prepare all required actions
2022-10-26T07:23:32.9227282Z Getting action download info
2022-10-26T07:23:33.0966280Z Download action repository 'humbletim/[email protected]' (SHA:72eed4b9dbeac5de168f83da8e30b1d0f8ac7f14)
2022-10-26T07:23:33.5657948Z Getting action download info
2022-10-26T07:23:33.8163778Z Download action repository 'humbletim/vsdevenv-shell@e87fcf2359929606ba32db358baef5ede4737aed' (SHA:e87fcf2359929606ba32db358baef5ede4737aed)
2022-10-26T07:23:34.0446020Z Download action repository 'actions/cache@v2' (SHA:937d24475381cd9c75ae6db12cb4e79714b926ed)
2022-10-26T07:23:34.4023858Z ##[group]Run humbletim/[email protected]
2022-10-26T07:23:34.4024196Z with:
2022-10-26T07:23:34.4024422Z vulkan-query-version: 1.3.211.0
2022-10-26T07:23:34.4024745Z vulkan-components: Vulkan-Headers, Vulkan-Loader, Glslang
2022-10-26T07:23:34.4025043Z vulkan-use-cache: true
2022-10-26T07:23:34.4025257Z ##[endgroup]
2022-10-26T07:23:34.4253117Z ##[group]Run humbletim/vsdevenv-shell@e87fcf2359929606ba32db358baef5ede4737aed
2022-10-26T07:23:34.4253453Z ##[endgroup]
2022-10-26T07:23:34.4303009Z ##[group]Run if [[ $RUNNER_OS == 'Windows' ]] ; then
2022-10-26T07:23:34.4303424Z �[36;1mif [[ $RUNNER_OS == 'Windows' ]] ; then�[0m
2022-10-26T07:23:34.4303718Z �[36;1m echo $GITHUB_ACTION_PATH/bin | tee -a $GITHUB_PATH�[0m
2022-10-26T07:23:34.4303996Z �[36;1melse�[0m
2022-10-26T07:23:34.4304366Z �[36;1m echo "NOTE: emulating vsdevenv-shell integration (since RUNNER_OS is $RUNNER_OS, not Windows)"�[0m
2022-10-26T07:23:34.4304790Z �[36;1m echo $GITHUB_ACTION_PATH/bin | tee -a $GITHUB_PATH�[0m
2022-10-26T07:23:34.4305097Z �[36;1m cat<<-'EOF' > $GITHUB_ACTION_PATH/bin/vsdevenv�[0m
2022-10-26T07:23:34.4305356Z �[36;1m#!/bin/bash�[0m
2022-10-26T07:23:34.4305566Z �[36;1mset -e�[0m
2022-10-26T07:23:34.4305759Z �[36;1mshift # x86�[0m
2022-10-26T07:23:34.4305974Z �[36;1msubshell=$1�[0m
2022-10-26T07:23:34.4306198Z �[36;1mshift # subshell�[0m
2022-10-26T07:23:34.4306416Z �[36;1mcase $subshell in�[0m
2022-10-26T07:23:34.4306700Z �[36;1m bash) bash --noprofile --norc -e -o pipefail "$1" ;;�[0m
2022-10-26T07:23:34.4307243Z �[36;1m pwsh|powershell) pwsh -command "\$ErrorActionPreference = 'stop' ; get-content '$1' | Invoke-Expression ; if ((Test-Path -LiteralPath variable:\\LASTEXITCODE)) { exit \$LASTEXITCODE }" ;;�[0m
2022-10-26T07:23:34.4307768Z �[36;1m *) echo "skipping subshell=$subshell on $RUNNER_OS" ; exit 0 ;;�[0m
2022-10-26T07:23:34.4308267Z �[36;1mesac�[0m
2022-10-26T07:23:34.4308467Z �[36;1mEOF�[0m
2022-10-26T07:23:34.4308725Z �[36;1m chmod a+x $GITHUB_ACTION_PATH/bin/vsdevenv�[0m
2022-10-26T07:23:34.4309023Z �[36;1m cat $GITHUB_ACTION_PATH/bin/vsdevenv�[0m
2022-10-26T07:23:34.4309305Z �[36;1mfi�[0m
2022-10-26T07:23:34.4368488Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2022-10-26T07:23:34.4368804Z ##[endgroup]
2022-10-26T07:23:34.4632588Z NOTE: emulating vsdevenv-shell integration (since RUNNER_OS is Linux, not Windows)
2022-10-26T07:23:34.4633933Z /home/runner/work/_actions/humbletim/vsdevenv-shell/e87fcf2359929606ba32db358baef5ede4737aed/bin
2022-10-26T07:23:34.4663817Z #!/bin/bash
2022-10-26T07:23:34.4666151Z set -e
2022-10-26T07:23:34.4675042Z shift # x86
2022-10-26T07:23:34.4676653Z subshell=$1
2022-10-26T07:23:34.4676924Z shift # subshell
2022-10-26T07:23:34.4677127Z case $subshell in
2022-10-26T07:23:34.4677569Z bash) bash --noprofile --norc -e -o pipefail "$1" ;;
2022-10-26T07:23:34.4678337Z pwsh|powershell) pwsh -command "\$ErrorActionPreference = 'stop' ; get-content '$1' | Invoke-Expression ; if ((Test-Path -LiteralPath variable:\\LASTEXITCODE)) { exit \$LASTEXITCODE }" ;;
2022-10-26T07:23:34.4678854Z *) echo "skipping subshell=$subshell on $RUNNER_OS" ; exit 0 ;;
2022-10-26T07:23:34.4679118Z esac
2022-10-26T07:23:34.4916168Z ##[group]Run # resolve_vulkan_sdk_environment
2022-10-26T07:23:34.4916509Z �[36;1m# resolve_vulkan_sdk_environment�[0m
2022-10-26T07:23:34.4916799Z �[36;1m. $GITHUB_ACTION_PATH/action_helpers.sh�[0m
2022-10-26T07:23:34.4917072Z �[36;1mresolve_vulkan_sdk_environment \�[0m
2022-10-26T07:23:34.4917315Z �[36;1m "1.3.211.0" \�[0m
2022-10-26T07:23:34.4917514Z �[36;1m "" \�[0m
2022-10-26T07:23:34.4917761Z �[36;1m "Vulkan-Headers, Vulkan-Loader, Glslang"�[0m
2022-10-26T07:23:34.4972700Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2022-10-26T07:23:34.4972981Z ##[endgroup]
2022-10-26T07:23:34.5117252Z mkdir: created directory '/home/runner/work/test_github_action_vulkan/test_github_action_vulkan/_vulkan_build'
2022-10-26T07:23:34.5130760Z mkdir: created directory '/home/runner/work/test_github_action_vulkan/test_github_action_vulkan/VULKAN_SDK'
2022-10-26T07:23:34.7120775Z parse error: Invalid numeric literal at line 1, column 7
2022-10-26T07:23:34.7144907Z ##[error]Process completed with exit code 4.
2022-10-26T07:23:34.7273563Z Post job cleanup.
2022-10-26T07:23:34.7391164Z Cleaning up orphan processes
My test workflow is very basic and just looks like this:
name: Build Linux
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
concurrency:
group: environment-lin-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: Build - ${{ matrix.config.os }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- os: ubuntu-latest
name: "Ubuntu GCC-11"
artifact: "ubuntu_gcc.7z"
archiver: "7z a"
generators: "Unix Makefiles"
build_dir: 'build'
steps:
- name: Prepare Vulkan SDK
uses: humbletim/[email protected]
with:
vulkan-query-version: 1.3.211.0
vulkan-components: Vulkan-Headers, Vulkan-Loader, Glslang
vulkan-use-cache: true
Hi everyone!
There seems to be a recent issue building SPIRV-Tools on macOS. While unrelated to this PR, I typically run a final "CI build" on different platforms before releasing. Unfortunately, Mac builds are failing for all but the the latest SDK version, apparent due to sprintf
-related warnings being promoted into errors by compile flags somewhere. Which for older releases should not have changed... but could have for example on LunarG webservices config.json
side of the equation.
To understand the scope of the problem, I'd appreciate it if anyone using the SDK on Mac could share:
I'm planning to merge this PR to "main" later tonight after one final non-mac-legacy CI test, but am thinking to hold off on stamping an official release tag until I have a clearer picture of the Mac issue. Once I gather more information, I plan to file an issue report and potentially involve relevant teams for a resolution.
Thanks for your input!
Originally posted by @humbletim in #12 (comment)
Hi, since yesterday I'm getting the following error in my GitHub Action workflow:
Checking Build System
Creating directories for 'Vulkan-Headers'
Building Custom Rule D:/a/_actions/humbletim/setup-vulkan-sdk/v1.2.0/CMakeLists.txt
Performing download step (git clone) for 'Vulkan-Headers'
Cloning into 'Vulkan-Headers'...
fatal: invalid reference: test-SDK-integration
CMake Error at D:/a/TRAP/TRAP/_vulkan_build/Vulkan-Headers-prefix/tmp/Vulkan-Headers-gitclone.cmake:49 (message):
Failed to checkout tag: 'test-SDK-integration'
Happens when using:
Run humbletim/[email protected]
with:
vulkan-query-version: latest
vulkan-components: Vulkan-Headers, Vulkan-Loader
vulkan-use-cache: true
Runner information:
Current runner version: '2.304.0'
Operating System
Microsoft Windows Server 2022
10.0.20348
Datacenter
Runner Image
Image: windows-2022
Version: 20230502.2
Included Software: https://github.com/actions/runner-images/blob/win22/20230502.2/images/win/Windows2022-Readme.md
Image Release: https://github.com/actions/runner-images/releases/tag/win22%2F20230502.2
Runner Image Provisioner
2.0.171.1
Here is a link to the full run: https://github.com/GamesTrap/TRAP/actions/runs/4899434642/jobs/8754400607
It seems setup-vulkan-sdk v1.2.0 still uses cache@v2 and I still get these annoying warnings on all my CI.
Can you please let me know when will a release be available with this warning fix?
currently waiting to see what upstream does; see: seanmiddleditch/gha-setup-vsdevenv#15
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.