summaryrefslogtreecommitdiffstats
path: root/.github/workflows
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
parent47ed0f68602a8ed0c425d2a4666969ad0db04ca6 (diff)
add windows release script (#1627)
Co-authored-by: Tim Foley <tfoleyNV@users.noreply.github.com>
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/release-linux.yml34
-rw-r--r--.github/workflows/release-windows.yml89
2 files changed, 95 insertions, 28 deletions
diff --git a/.github/workflows/release-linux.yml b/.github/workflows/release-linux.yml
index 54cbd8c26..d07100721 100644
--- a/.github/workflows/release-linux.yml
+++ b/.github/workflows/release-linux.yml
@@ -39,33 +39,11 @@ jobs:
tar -czf ${SLANG_BINARY_ARCHIVE_TAR} bin/*/*/slangc bin/*/*/libslang.so bin/*/*/libslang-glslang.so docs/*.md README.md LICENSE slang.h slang-com-helper.h slang-com-ptr.h slang-tag-version.h prelude/*.h
echo "::set-output name=SLANG_BINARY_ARCHIVE::${SLANG_BINARY_ARCHIVE}"
echo "::set-output name=SLANG_BINARY_ARCHIVE_TAR::${SLANG_BINARY_ARCHIVE_TAR}"
- - name: Create Release
- id: create_release
- uses: actions/create-release@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- tag_name: ${{ github.ref }}
- release_name: Release ${{ github.ref }}
- draft: false
- prerelease: false
- - name: Upload Release Asset (zip)
- id: upload-release-asset-zip
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ - name: UploadBinary
+ uses: softprops/action-gh-release@v1
with:
- upload_url: ${{ steps.create_release.outputs.upload_url }}
- asset_path: ./${{ steps.build.outputs.SLANG_BINARY_ARCHIVE }}
- asset_name: ${{ steps.build.outputs.SLANG_BINARY_ARCHIVE }}
- asset_content_type: application/zip
- - name: Upload Release Asset (tar)
- id: upload-release-asset-tar
- uses: actions/upload-release-asset@v1
+ files: |
+ ${{ steps.build.outputs.SLANG_BINARY_ARCHIVE }}
+ ${{ steps.build.outputs.SLANG_BINARY_ARCHIVE_TAR }}
env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ steps.create_release.outputs.upload_url }}
- asset_path: ./${{ steps.build.outputs.SLANG_BINARY_ARCHIVE_TAR }}
- asset_name: ${{ steps.build.outputs.SLANG_BINARY_ARCHIVE_TAR }}
- asset_content_type: application/zip \ No newline at end of file
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file
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