diff --git a/.gitignore b/.gitignore index 57676a59..e8af3c55 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ VERSION *.un~ output/ .vscode -.idea \ No newline at end of file +.idea +*.syso diff --git a/appveyor.yml b/appveyor.yml index 794bb14c..a6429fd1 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -22,6 +22,7 @@ install: - ps: | $env:GO111MODULE="off" go get -u github.com/prometheus/promu + go get -u github.com/josephspurrier/goversioninfo/cmd/goversioninfo $env:GO111MODULE="on" test_script: @@ -37,8 +38,13 @@ build_script: # so we need to run it before setting the preference. go mod download $ErrorActionPreference = "Stop" + gitversion /output json /showvariable FullSemVer | Set-Content VERSION -PassThru $Version = Get-Content VERSION + # Windows versioninfo resources need the file version by parts (but product version is free text) + $VersionParts = ($Version -replace '^v?([0-9\.]+).*$','$1').Split(".") + goversioninfo.exe -ver-major $VersionParts[0] -ver-minor $VersionParts[1] -ver-patch $VersionParts[2] -product-version $Version -platform-specific + make crossbuild # GH requires all files to have different names, so add version/arch to differentiate foreach($Arch in "amd64","386") { diff --git a/versioninfo.json b/versioninfo.json new file mode 100644 index 00000000..c8860228 --- /dev/null +++ b/versioninfo.json @@ -0,0 +1,7 @@ +{ + "StringFileInfo": { + "CompanyName": "prometheus-community", + "LegalCopyright": "Copyright 2020 The Prometheus Authors", + "ProductName": "windows_exporter" + } +}