Linux Release #1
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
# Sequence of patterns matched against refs/tags | |
tags: | |
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 | |
name: Linux Release | |
jobs: | |
build: | |
name: Upload Release Asset | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
configuration: ['release'] | |
compiler: ['gcc'] | |
platform: ['x64'] | |
targetPlatform: ['x64'] | |
steps: | |
- name: select gcc 10 | |
run: | | |
sudo update-alternatives \ | |
--install /usr/bin/gcc gcc /usr/bin/gcc-10 100 \ | |
--slave /usr/bin/g++ g++ /usr/bin/g++-10 \ | |
--slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-10 \ | |
--slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-10 \ | |
--slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-10 \ | |
--slave /usr/bin/gcov gcov /usr/bin/gcov-10 \ | |
--slave /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-dump-10 \ | |
--slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-tool-10 | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
submodules: 'true' | |
fetch-depth: '0' | |
- name: Build release project | |
id: build | |
run: | | |
echo "starting to build..." | |
export CC=${{matrix.compiler}} | |
export CONFIGURATION=${{matrix.configuration}} | |
export ARCH=${{matrix.platform}} | |
export TARGETARCH=${{matrix.targetPlatform}} | |
echo "building..." | |
source ./github_build.sh | |
echo "creating binary archieves..." | |
export SLANG_OS_NAME=linux | |
export SLANG_ARCH_NAME=`uname -p` | |
export TAG_NAME=`git describe --tags` | |
export SLANG_TAG=${TAG_NAME#v} | |
echo "tag:$TAG_NAME" | |
echo "slang-tag:$SLANG_TAG" | |
export SLANG_BINARY_ARCHIVE=slang-${SLANG_TAG}-${SLANG_OS_NAME}-${SLANG_ARCH_NAME}.zip | |
export SLANG_BINARY_ARCHIVE_TAR=slang-${SLANG_TAG}-${SLANG_OS_NAME}-${SLANG_ARCH_NAME}.tar.gz | |
echo "creating zip" | |
zip -r ${SLANG_BINARY_ARCHIVE} bin/*/*/slangc bin/*/*/slangd bin/*/*/libslang.so bin/*/*/libslang-glslang.so bin/*/*/libgfx.so bin/*/*/libslang-llvm.so docs/*.md README.md LICENSE slang.h slang-com-helper.h slang-com-ptr.h slang-tag-version.h slang-gfx.h prelude/*.h | |
echo "creating tar" | |
tar -czf ${SLANG_BINARY_ARCHIVE_TAR} bin/*/*/slangc bin/*/*/slangd bin/*/*/libslang.so bin/*/*/libslang-glslang.so bin/*/*/libgfx.so bin/*/*/libslang-llvm.so docs/*.md README.md LICENSE slang.h slang-com-helper.h slang-com-ptr.h slang-tag-version.h slang-gfx.h prelude/*.h | |
echo "SLANG_BINARY_ARCHIVE=${SLANG_BINARY_ARCHIVE}" >> $GITHUB_OUTPUT | |
echo "SLANG_BINARY_ARCHIVE_TAR=${SLANG_BINARY_ARCHIVE_TAR}" >> $GITHUB_OUTPUT | |
- name: UploadBinary | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: | | |
${{ steps.build.outputs.SLANG_BINARY_ARCHIVE }} | |
${{ steps.build.outputs.SLANG_BINARY_ARCHIVE_TAR }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |