diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9e66f95..7f8a9ae 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out code. - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: fetch-depth: 0 - name: 'Get Changed Files' @@ -47,7 +47,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out code. - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Install poetry run: pip install poetry - name: Set up Python @@ -71,7 +71,7 @@ jobs: name: 'Test with Pytest' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 with: submodules: recursive - name: Install poetry @@ -96,7 +96,7 @@ jobs: name: 'Test with Bats' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 with: submodules: recursive - name: Setup Bats @@ -120,7 +120,7 @@ jobs: runs-on: ${{ matrix.platform }} steps: - name: Check out code. - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Linux Install if: matrix.platform == 'ubuntu-latest' run: sudo apt-get install -y bsdmainutils diff --git a/install.cmd b/install.cmd index 502939d..df60d90 100644 --- a/install.cmd +++ b/install.cmd @@ -39,13 +39,34 @@ goto :defaultpath rem remove the last slash SET bindir=%bindir:~0,-1% for %%G in ("%bindir%") do set installdir=%%~dpG -set PREFIX=%installdir%mingw64 +rem strip a trailing slash so we can inspect the leaf directory name +if "%installdir:~-1%"=="\" set installdir=%installdir:~0,-1% +rem git.exe found under \mingw64\bin or \clangarm64\bin +rem means installdir already is the architecture directory itself +for %%G in ("%installdir%") do set archdir=%%~nxG +if /I "%archdir%"=="mingw64" ( + set PREFIX=%installdir% +) else if /I "%archdir%"=="clangarm64" ( + set PREFIX=%installdir% +) else if exist "%installdir%\mingw64" ( + set PREFIX=%installdir%\mingw64 +) else if exist "%installdir%\clangarm64" ( + set PREFIX=%installdir%\clangarm64 +) else ( + set PREFIX=%installdir%\mingw64 +) goto :foundprefix :defaultpath :: default for Git for Windows 2.x if exist "%ProgramFiles%\Git" ( - set PREFIX=%ProgramFiles%\Git\mingw64 + if exist "%ProgramFiles%\Git\mingw64" ( + set PREFIX=%ProgramFiles%\Git\mingw64 + ) else if exist "%ProgramFiles%\Git\clangarm64" ( + set PREFIX=%ProgramFiles%\Git\clangarm64 + ) else ( + set PREFIX=%ProgramFiles%\Git\mingw64 + ) ) :foundprefix @@ -55,9 +76,11 @@ IF NOT "%~1"=="" ( REM just supplying the git dir is enough... if exist "%~1\mingw64" ( set PREFIX=%~1\mingw64 + ) else if exist "%~1\clangarm64" ( + set PREFIX=%~1\clangarm64 ) else ( echo Using git install path "%~1" as PREFIX, please make sure it's really a - echo path to the mingw64 directory... + echo path to the mingw64 or clangarm64 directory... echo. SET PREFIX=%~1 ) @@ -72,12 +95,14 @@ set GIT_INSTALL_DIR=!GIT_INSTALL_DIR:"=! IF %GIT_INSTALL_DIR:~-1%==\ SET GIT_INSTALL_DIR=%GIT_INSTALL_DIR:~0,-1% if not exist "%GIT_INSTALL_DIR%\mingw64" ( - echo No mingw64 folder found in %GIT_INSTALL_DIR%. - echo. - echo Please supply a proper "Git for Windows 2.x" install path: - echo "install.cmd c:\[git-install-path]" - set ERROR=1 - goto :exit + if not exist "%GIT_INSTALL_DIR%\clangarm64" ( + echo No mingw64 or clangarm64 folder found in %GIT_INSTALL_DIR%. + echo. + echo Please supply a proper "Git for Windows 2.x" install path: + echo "install.cmd c:\[git-install-path]" + set ERROR=1 + goto :exit + ) ) echo Installing to %PREFIX% @@ -116,7 +141,7 @@ FOR /R "%GITEXTRAS%\bin" %%i in (*.*) DO ( TYPE "%GITEXTRAS%\helper\reset-env" >> "%PREFIX%\bin\%%~ni" TYPE "%GITEXTRAS%\helper\git-extra-utility" >> "%PREFIX%\bin\%%~ni" TYPE "%GITEXTRAS%\helper\is-git-repo" >> "%PREFIX%\bin\%%~ni" - + REM Added /E option for installation fix on Windows 10.0.17134 and higher MORE /E +2 "%GITEXTRAS%\bin\%%~ni" >> "%PREFIX%\bin\%%~ni" ) @@ -127,7 +152,7 @@ FOR %%i in (%COMMANDS_WITHOUT_REPO%) DO ( ECHO #^^!/usr/bin/env bash > "%PREFIX%\bin\%%i" TYPE "%GITEXTRAS%\helper\reset-env" >> "%PREFIX%\bin\%%i" TYPE "%GITEXTRAS%\helper\git-extra-utility" >> "%PREFIX%\bin\%%i" - + REM Added /E option for installation fix on Windows 10.0.17134 and higher MORE /E +2 "%GITEXTRAS%\bin\%%i" >> "%PREFIX%\bin\%%i" )