humbletim / setup-vulkan-sdk

github action that provisions the Vulkan SDK and configures VULKAN_SDK environment variable
MIT License
48 stars 12 forks source link

Process completed with exit code 1 using self hosted runner #18

Open nepp95 opened 1 year ago

nepp95 commented 1 year ago

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/setup-vulkan-sdk@v1.2.0
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/setup-premake@v2.3
        with:
          version: "5.0.0-beta2"
          path: Vendor/Premake/Bin

      - name: Setup MSBuild
        uses: microsoft/setup-msbuild@v1.3.1

      - name: Setup VulkanSDK
        uses: humbletim/setup-vulkan-sdk@v1.2.0
        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)