From e98c32f5eb1c6e880ed69a135e798b3c43f77d93 Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 4 Dec 2020 10:44:03 -0800 Subject: add windows release script (#1627) Co-authored-by: Tim Foley --- .github/workflows/release-windows.yml | 89 +++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 .github/workflows/release-windows.yml (limited to '.github/workflows/release-windows.yml') 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 -- cgit v1.2.3