-
-
Notifications
You must be signed in to change notification settings - Fork 18
Description
Describe the bug
When attempting to use cocogitto on a self-hosted windows runner, the action will fail with the following error:
D:\GitHub\actions-runner_work_temp\3d7451bb-1855-4c7f-935b-ac2973a0bff8.sh: line 1: D:GitHubactions-runner_work_actionscocogittococogitto-actionv3.5/install.sh: No such file or directory
Error: Process completed with exit code 127.
I noticed that the path to my install.sh is missing all of the directory separators ()
D:GitHubactions-runner_work_actionscocogittococogitto-actionv3.5/install.sh --> D:\GitHub\actions-runner_work_actions\cocogitto\cocogitto-action\v3.5/install.sh
I tried looking into the issue and found the following:
The error you’re encountering seems to be related to the way paths are handled in Windows. In Unix-based systems like Linux or MacOS, paths are typically defined with forward slashes (/), while in Windows, paths are typically defined with backslashes ().
The error message suggests that the backslashes () in the path are being removed, which is a common issue when scripts written for Unix-based systems are run on Windows. This is because the backslash () is an escape character in Unix-based systems, so it’s often removed or treated differently.
To Reproduce
- Create a windows-based self-hosted runner.
- In a project, have a github workflow that has the following:
runs-on:- self-hosted
- windows
- Create a workflow that you can run with at least these steps.
-
uses: actions/checkout@v3
with:
fetch-depth: 0 // aka ∞ -
name: Validate commits
uses: cocogitto/cocogitto-action@v3.5
with:
check-latest-tag-only: true
-
- Attempt to run workflow.
Expected behavior
Cocogitto runs.
Additional context
D:\GitHub\actions-runner_work_actions\cocogitto\cocogitto-action\v3.5 does exist on the self-hosted runner.
The install.sh script located there indicates that it is not targeting windows, as the cocogitto references unknown-linux.
#!/bin/sh
CUR_DIR=$(pwd)
VERSION=5.4.0
TAR="cocogitto-$VERSION-x86_64-unknown-linux-musl.tar.gz"
BIN_DIR="$HOME/.local/bin"
mkdir -p "$BIN_DIR"
cd "$BIN_DIR" || exit
curl -OL https://github.com/cocogitto/cocogitto/releases/download/"$VERSION"/"$TAR"
tar xfz $TAR
cd "$CUR_DIR" || exit
I would expect this to be cocogitto-6.0.1-x86_64-pc-windows-msvc.tar.gz if I am understanding how the install system works on self-hosted runners.