OSDN Git Service

AppVeyor での Pull Request のビルド時に SOURCE_DATE_EPOCH が正しい時刻にならない問題を修正
authorKimura Youichi <kim.upsilon@bucyou.net>
Sat, 1 Oct 2022 08:58:34 +0000 (17:58 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Sat, 1 Oct 2022 10:13:13 +0000 (19:13 +0900)
appveyor.yml
tools/build-zip-archive.ps1

index 6f05681..e2d8f48 100644 (file)
@@ -83,6 +83,11 @@ after_test:
       } else {
         $destPath = 'OpenTween_dev-' + $env:APPVEYOR_BUILD_NUMBER + '.zip'
       }
-      .\tools\build-zip-archive.ps1 -BinDir $binDir -ObjDir $objDir -AssemblyInfo $assemblyInfo -DestPath $destPath
+      if ($env:APPVEYOR_PULL_REQUEST_HEAD_COMMIT -ne $null) {
+        $headCommit = $env:APPVEYOR_PULL_REQUEST_HEAD_COMMIT
+      } else {
+        $headCommit = 'HEAD'
+      }
+      .\tools\build-zip-archive.ps1 -BinDir $binDir -ObjDir $objDir -AssemblyInfo $assemblyInfo -DestPath $destPath -HeadCommit $headCommit
 
 # vim: et fenc=utf-8 sts=2 sw=2 ts=2
index b49a628..7678695 100644 (file)
@@ -30,7 +30,8 @@ Param(
   [Parameter(Mandatory = $true)][String] $BinDir,
   [Parameter(Mandatory = $true)][String] $ObjDir,
   [Parameter(Mandatory = $true)][String] $AssemblyInfo,
-  [Parameter(Mandatory = $true)][String] $DestPath
+  [Parameter(Mandatory = $true)][String] $DestPath,
+  [String] $HeadCommit = 'HEAD'
 )
 
 Set-StrictMode -Version 3.0
@@ -70,7 +71,7 @@ Function Get-SourceDateEpoch() {
   # ローカルのタイムゾーンの日時でタイムスタンプが記録されるため、わざとタイムゾーンを指定していない。
   # これにより、生成される ZIP アーカイブには UTC での $sourceDateEpoch に相当する日時が記録されるようになる
   $unixEpoch = Get-Date "1970/01/01 00:00:00"
-  $sourceDateUnixtime = [int](Invoke-NativeCommand "git log -1 --pretty=%ct")
+  $sourceDateUnixtime = [int](Invoke-NativeCommand "git log -1 --pretty=%ct ${HeadCommit}")
   $sourceDateEpoch = $unixEpoch.AddSeconds($sourceDateUnixtime)
   return $sourceDateEpoch
 }