diff options
| author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2025-05-13 18:56:10 +0900 |
|---|---|---|
| committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2025-05-15 15:08:43 +0900 |
| commit | a5da3682ef45fbfc54621ab90506bc94dd7baf97 (patch) | |
| tree | 4668d683fe8d678ce0c56d1b933448a865dc5675 | |
| parent | a4ce8639d95838e55208a2cf348e3ba0099b41b8 (diff) | |
CI: Refine setup on Windows
Get rid of hardcoded paths
| -rw-r--r-- | .github/workflows/windows.yml | 48 |
1 files changed, 23 insertions, 25 deletions
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index e21a73bdd9..dfc11c4348 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -22,7 +22,6 @@ permissions: jobs: make: - continue-on-error: ${{ matrix.os == 2025 }} strategy: matrix: include: @@ -60,7 +59,6 @@ jobs: env: GITPULLOPTIONS: --no-tags origin ${{ github.ref }} VCPKG_DEFAULT_TRIPLET: ${{ matrix.target || 'x64' }}-windows - RUBY_OPT_DIR: ${{ matrix.os == '11-arm' && 'C' || 'D' }}:/a/ruby/ruby/src/vcpkg_installed/%VCPKG_DEFAULT_TRIPLET% steps: - run: md build @@ -69,7 +67,7 @@ jobs: - uses: ruby/setup-ruby@e34163cd15f4bb403dcd72d98e295997e6a55798 # v1.238.0 with: # windows-11-arm has only 3.4.1, 3.4.2, 3.4.3, head - ruby-version: ${{ matrix.os != '11-arm' && '3.1' || '3.4' }} + ruby-version: ${{ !endsWith(matrix.os, 'arm') && '3.1' || '3.4' }} bundler: none windows-toolchain: none @@ -99,19 +97,17 @@ jobs: ::- Set up VC ${{ matrix.vc }} set vswhere="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" for /f "delims=;" %%I in ('%vswhere% -latest -property installationPath') do ( - set VCVARS="%%I\VC\Auxiliary\Build\vcvars64.bat" - ) - if "${{ matrix.os }}" == "11-arm" ( - set VCVARS="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsarm64.bat" + set VCVARS="%%I\VC\Auxiliary\Build\vcvarsall.bat" ) set VCVARS set | uutils sort > old.env - call %VCVARS% ${{ matrix.vcvars || '' }} + call %VCVARS% ${{ matrix.target || 'amd64' }} ${{ matrix.vcvars || '' }} nmake -f nul set TMP=%USERPROFILE%\AppData\Local\Temp set TEMP=%USERPROFILE%\AppData\Local\Temp set MAKEFLAGS=l set /a TEST_JOBS=(15 * %NUMBER_OF_PROCESSORS% / 10) > nul + set RUBY_OPT_DIR=%GITHUB_WORKSPACE:\=/%/src/vcpkg_installed/%VCPKG_DEFAULT_TRIPLET% set | uutils sort > new.env uutils comm -13 old.env new.env >> %GITHUB_ENV% del *.env @@ -158,26 +154,28 @@ jobs: # windows-11-arm runner cannot run `ruby tool/file2lastrev.rb --revision.h --output=revision.h` - name: make revision.h run: | - for /f "tokens=1-3" %%I in ('git log -1 "--date=format-local:%%F %%T" "--format=%%H %%cd" @') do ( - set rev=%%I - set dt=%%J - set tm=%%K + if not exist revision.h ( + for /f "tokens=1-3" %%I in ('git log -1 "--date=format-local:%%F %%T" "--format=%%H %%cd" @') do ( + set rev=%%I + set dt=%%J + set tm=%%K + ) + set yy=%dt:~0,4% + set /a mm=100%dt:~5,2% %% 100 + set /a dd=100%dt:~8,2% %% 100 + ( + echo #define RUBY_REVISION "%rev:~,10%" + echo #define RUBY_FULL_REVISION "%rev%" + echo #define RUBY_BRANCH_NAME "%GITHUB_REF%" + echo #define RUBY_RELEASE_DATETIME "%dt%T%tm%" + echo #define RUBY_RELEASE_YEAR %yy% + echo #define RUBY_RELEASE_MONTH %mm% + echo #define RUBY_RELEASE_DAY %dd% + ) > revision.h + copy /y NUL .revision.time ) - set yy=%dt:~0,4% - set /a mm=100%dt:~5,2% %% 100 - set /a dd=100%dt:~8,2% %% 100 - ( - echo #define RUBY_REVISION "%rev:~,10%" - echo #define RUBY_FULL_REVISION "%rev%" - echo #define RUBY_BRANCH_NAME "%GITHUB_REF%" - echo #define RUBY_RELEASE_DATETIME "%dt%T%tm%" - echo #define RUBY_RELEASE_YEAR %yy% - echo #define RUBY_RELEASE_MONTH %mm% - echo #define RUBY_RELEASE_DAY %dd% - ) > revision.h env: TZ: UTC - if: ${{ matrix.os == '11-arm' }} - run: nmake |
