Open11
GitHub Actions を Windows でも動くようにする
シェルが違うため、 linux 向けに書かれたものがそのまま動かない。
aqua-registry の CI が動かないので修正する。
Run ci-info run | sed -E "s/^export //" >> "$GITHUB_ENV"
ci-info run | sed -E "s/^export //" >> "$GITHUB_ENV"
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
AQUA_CONFIG: aqua-ci.yaml
GITHUB_TOKEN: ***
Error: Process completed with exit code 127.
127 はコマンドが見つからないときの exit code
ci-info はインストールされているし、シンボリックリンクも作られていて PATH も通っているはず?
ci-info run で 127 が返ってきていた
Run ls -lh ~/.local/share/aquaproj-aqua/bin
total 15M
lrwxrwxrwx 1 runneradmin 197121 107 Jun 14 07:06 aqua-proxy -> ../pkgs/github_release/github.com/aquaproj/aqua-proxy/v1.1.2/aqua-proxy_windows_amd64.tar.gz/aqua-proxy.exe
-rwxr-xr-x 1 runneradmin 197121 15M Jun 14 03:42 aqua.exe
lrwxrwxrwx 1 runneradmin 197121 10 Jun 14 07:06 ci-info -> aqua-proxy
0s
Run which ci-info || :
/c/Users/runneradmin/.local/share/aquaproj-aqua/bin/ci-info
0s
Run aqua which ci-info || :
C:\Users\runneradmin\.local\share\aquaproj-aqua\pkgs\github_release\github.com\suzuki-shunsuke\ci-info\v2.0.3\ci-info_2.0.3_windows_amd64.tar.gz\ci-info.exe
Run ls -lh "$(aqua which ci-info)"
ls -lh "$(aqua which ci-info)"
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
ls: cannot access 'C:\Users\runneradmin\.local\share\aquaproj-aqua\pkgs\github_release\github.com\suzuki-shunsuke\ci-info\v2.0.3\ci-info_2.0.3_windows_amd64.tar.gz\ci-info.exe': No such file or directory
ファイルはまだない。でも実行時に lazy install されるはず。
aqua exec では lazy install は動いている。
もしかしてシンボリックリンク経由だと実行できない?
シンボリックリンクにはなってそうだけど
aqua が実行できているということは GITHUB_PATH は機能している
test
ci-info run の結果を pipe で渡すと失敗する
もしかして改行文字の扱いが違うのか?
\n
だと pipe で処理できないとか?
Amazon Workspaces で Git Bash 使って確認したところ、特に問題なかった。
$ ci-info run --owner suzuki-shunsuke --repo test-github-action --pr 101 | sed -E "s/^export //"
CI_INFO_IS_PR=true
CI_INFO_HAS_ASSOCIATED_PR=true
CI_INFO_PR_NUMBER=101
CI_INFO_BASE_REF=main
CI_INFO_HEAD_REF=windows
CI_INFO_PR_AUTHOR=suzuki-shunsuke
CI_INFO_PR_MERGED=false
CI_INFO_TEMP_DIR=D:\Users\shunsukesuzuki\AppData\Local\Temp\ci-info1666645283
CI_INFO_REPO_OWNER=suzuki-shunsuke
CI_INFO_REPO_NAME=test-github-action
$ echo $?
0
目を通したが、特に関係ありそうなことは書いていない。