summaryrefslogtreecommitdiff
path: root/.github/workflows/release-windows.yml
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2020-12-04 10:44:03 -0800
committerGitHub <noreply@github.com>2020-12-04 10:44:03 -0800
commite98c32f5eb1c6e880ed69a135e798b3c43f77d93 (patch)
tree270a0008420b668207cf209b4ac3d4f3c18b3c06 /.github/workflows/release-windows.yml
parent47ed0f68602a8ed0c425d2a4666969ad0db04ca6 (diff)
add windows release script (#1627)
Co-authored-by: Tim Foley <tfoleyNV@users.noreply.github.com>
Diffstat (limited to '.github/workflows/release-windows.yml')
-rw-r--r--.github/workflows/release-windows.yml89
1 files changed, 89 insertions, 0 deletions
diff --git a/.github/workflows/release-windows.yml b/.github/workflows/release-windows.yml
new file mode 100644
index 000000000..15b164efc
--- /dev/null
+++ b/.github/workflows/release-windows.yml
@@ -0,0 +1,89 @@
+on:
+ push:
+ # Sequence of patterns matched against refs/tags
+ tags:
+ - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
+
+name: Upload Release Asset - Windows
+
+jobs:
+ build:
+ name: Upload Release Asset - Windows
+ runs-on: windows-latest
+ strategy:
+ matrix:
+ configuration: ['Release']
+ platform: ['Win32', 'x64']
+ steps:
+ - uses: actions/checkout@v2.3.4
+ with:
+ submodules: 'true'
+ fetch-depth: '0'
+ - name: setup-msbuild
+ uses: microsoft/setup-msbuild@v1
+ - name: premake
+ run:
+ .\premake.bat vs2017
+ - name: msbuild
+ run:
+ MSBuild.exe slang.sln -v:m -m -property:Configuration=${{matrix.configuration}} -property:Platform=${{matrix.platform}} -property:WindowsTargetPlatformVersion=10.0.19041.0
+ - name: archive
+ id: archive
+ run: |
+ echo "achiving files..."
+ if ("${{matrix.platform}}" -eq "x64")
+ {
+ $slangDeployPlatform = "win64"
+ }
+ else
+ {
+ $slangDeployPlatform = "win32"
+ }
+ $tagName = & git describe --tags
+ $slangVersion = $tagName.TrimStart("v")
+ $binArchive = "slang-$slangVersion-$slangDeployPlatform.zip"
+
+ echo "name=SLANG_BINARY_ARCHIVE::$binArchive"
+ echo "::set-output name=SLANG_WIN32_BINARY_ARCHIVE::$binArchive"
+
+ 7z a "$binArchive" slang.h
+ 7z a "$binArchive" slang-com-helper.h
+ 7z a "$binArchive" slang-com-ptr.h
+ 7z a "$binArchive" slang-tag-version.h
+ 7z a "$binArchive" prelude\*.h
+ 7z a "$binArchive" bin\*\*\slang.dll
+ 7z a "$binArchive" bin\*\*\slang.lib
+ 7z a "$binArchive" bin\*\*\slang-glslang.dll
+ 7z a "$binArchive" bin\*\*\slangc.exe
+ 7z a "$binArchive" docs\*.md
+
+ $srcArchive = "slang-$slangVersion-source.zip"
+ echo "::set-output name=SLANG_SOURCE_ARCHIVE::$srcArchive"
+
+ 7z a "$srcArchive" slang.h
+ 7z a "$srcArchive" slang-com-helper.h
+ 7z a "$srcArchive" slang-com-ptr.h
+ 7z a "$srcArchive" slang-tag-version.h
+ 7z a "$srcArchive" prelude\*.h
+ 7z a "$srcArchive" source\*\*.h
+ 7z a "$srcArchive" source\*\*.cpp
+ 7z a "$srcArchive" docs\*.md
+ 7z a "$srcArchive" README.md
+ 7z a "$srcArchive" LICENSE
+ - name: Check outputs
+ shell: pwsh
+ run: echo "binary is ${{ steps.archive.outputs.SLANG_WIN32_BINARY_ARCHIVE }}"
+ - name: UploadBinary
+ uses: softprops/action-gh-release@v1
+ with:
+ files: |
+ ${{ steps.archive.outputs.SLANG_WIN32_BINARY_ARCHIVE }}
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ - name: UploadSource
+ uses: softprops/action-gh-release@v1
+ if: ${{ matrix.platform == 'x64' }}
+ with:
+ files: ${{ steps.archive.outputs.SLANG_SOURCE_ARCHIVE }}
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file