From 0e56999a573fada2cce6e94c21ef856cc88dc933 Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Wed, 10 Jul 2024 22:37:21 +0800 Subject: WIP Drop Premake (#3703) * Remove premake lua * Remove premake generated vs project * remove deps file * Remove premake driving bat files * Full test matrix under CMake * Remove premake based ci workflows * Wiggle CI * remove cmake from ci name * find frameworks correctly on osx * remove cmake from ci name * Cope with sccache not being available * cmake based falcor tests * ci wobble * only install ninja if necessary * more appropriate cache name * Remove premake from build instructions * Add some docs on ci setup * remove premake from regression tests * remove premake from perf test * Set SLANGC_PATH * ci wobble * bump slang-binaries * ci wobble * Bump spirv tools * dont use timestamp in cache * remote debug code * cache key wobble * Install sccache after building llvm * Do not build llvm tools * ci wobble * ci wobble * ci wobble * ci wobble * ci wobble * Tests spirv via glsl in ci * Define SLANG_ENABLE_XLIB=1 * osx builds on aarch64 * ci wobble * ci wobble * ci wobble * ci wobble * ci wobble * ci wobble * package documentation and metadata with cmake * ci wobble * Split hlsl double intrinsic tests * ci wobble * Correct type for double log10 Fixes https://github.com/shader-slang/slang/issues/4549 * remove working test from expected failures * add broken test to expected failures * smaller build for falcor tests * ci wobble * A few exclusions in ci * wip, release script * Enable examples in ci * neaten release script * Correct building docs * Only use xlib vulkan when slang_enable_xlib is true * bump slang-llvm version * Remove toolchain file use * Bump slang-llvm preset version * slash direction * Improve build directions * Add msvc cross build documentation * Disable old release files * Smaller set of releases for test * Allow not building llvm * simplify release matrix * Cross releases * formatting * formatting * ci wiggle * ci wiggle * cleaner * neaten * ci wobble * formatting * Install cross tools on linux * do not clean build dir * neaten ci * neaten ci * neaten ci * remove unused release workflow files * Build llvm on some platforms * neaten ci * notarize on osx * s/x64/x86_64 * ci wobble * Embed stdlib for release build * wobble ci * wobble ci * s/x64/x86_64 * ci wobble * ci wobble * ci wobble * vk-gl-cts on cmake * neaten ci * neaten ci * bump cache action version * Cope with windows being weird about case * old glibc version * old glibc version * Correct action file * Keep cache hot on main branch * separate small script for old glibc releases * ci wobble * ci wobble * Run cmake outside of docker * only sign on releases * Revert "Run cmake outside of docker" This reverts commit a58aaba939a4aa35fe70962fd60d9512b143592f. * python3 on build image * less parallel * ci wobble * ci wobble * ci wobble * newer git * ci wobble * ci wobble * Use newer docker image * Use newer docker image * sccache wobble * permissions issue * neaten * build llvm in ci * build llvm in ci * Remove linux clang build in ci * Only install crossbuild tools on non-aarch64 systems * neaten ci.yml * Correct github matrix * Simplify github matrix * ci wobble * Disable broken test See https://github.com/shader-slang/slang/issues/4589 * ci wobble * Neater slang-llvm archive filename * Neater path for uploading artifacts * Neater ci names * Use Windows SDK 10.0.19041.0 in cmake builds --- .github/workflows/release-linux-glibc-2-17.yml | 67 ++++++++++++++------------ 1 file changed, 35 insertions(+), 32 deletions(-) (limited to '.github/workflows/release-linux-glibc-2-17.yml') diff --git a/.github/workflows/release-linux-glibc-2-17.yml b/.github/workflows/release-linux-glibc-2-17.yml index 8a912ecc2..59f50ffd2 100644 --- a/.github/workflows/release-linux-glibc-2-17.yml +++ b/.github/workflows/release-linux-glibc-2-17.yml @@ -1,16 +1,14 @@ on: push: - # Sequence of patterns matched against refs/tags tags: - - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 + - 'v*' name: centos7-gcc9 Release jobs: build: runs-on: ubuntu-latest steps: - - name: Check out the repo - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'true' fetch-depth: '0' @@ -19,38 +17,43 @@ jobs: - name: Run the build process with Docker uses: addnab/docker-run-action@v3 with: - image: slangdeveloper/centos7-gcc9:cmake - options: -v ${{ github.workspace }}:/home/app -v /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt - run: | - source /opt/rh/devtoolset-9/enable - cd /home/app - git config --global --add safe.directory /home/app - /cmake-3.30.0-linux-x86_64/bin/cmake --preset default - /cmake-3.30.0-linux-x86_64/bin/cmake --build --preset release - - - name: CreatePackages - id: build + image: slangdeveloper/centos7-gcc9:cmake + options: -v ${{ github.workspace }}:/home/app -v /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt + run: | + export PATH=$PATH:/cmake-3.30.0-linux-x86_64/bin/ + + source /opt/rh/devtoolset-9/enable + + cd /home/app + git config --global --add safe.directory /home/app + cmake --preset default --fresh -DSLANG_SLANG_LLVM_FLAVOR=DISABLE -DSLANG_EMBED_STDLIB=1 + cmake --build --preset release + cpack --preset release -G ZIP + cpack --preset release -G TGZ + + - name: Package Slang + id: package + run: | + triggering_ref=${{ github.ref_name }} + version=${triggering_ref#v} + base=$(pwd)/slang-${version}-linux-x86_64-glibc-2.17 + + sudo mv "$(pwd)/build/dist-release/slang.zip" "${base}.zip" + echo "SLANG_BINARY_ARCHIVE_ZIP=${base}.zip" >> $GITHUB_OUTPUT + + sudo mv "$(pwd)/build/dist-release/slang.tar.gz" "${base}.tar.gz" + echo "SLANG_BINARY_ARCHIVE_TAR=${base}.tar.gz" >> $GITHUB_OUTPUT + + - name: File check run: | - 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}-glibc-2.17.zip - export SLANG_BINARY_ARCHIVE_TAR=slang-${SLANG_TAG}-${SLANG_OS_NAME}-${SLANG_ARCH_NAME}-glibc-2.17.tar.gz - echo "creating zip" - zip -r ${SLANG_BINARY_ARCHIVE} build/Release/bin/slangc build/Release/bin/slangd build/Release/lib/libslang.so build/Release/lib/libslang-glslang.so build/Release/lib/libgfx.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} build/Release/bin/slangc build/Release/bin/slangd build/Release/lib/libslang.so build/Release/lib/libslang-glslang.so build/Release/lib/libgfx.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 + find "build/dist-release" ! -iname '*.md' ! -iname '*.h' -type f | xargs file + - name: UploadBinary uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/v') with: files: | - ${{ steps.build.outputs.SLANG_BINARY_ARCHIVE }} - ${{ steps.build.outputs.SLANG_BINARY_ARCHIVE_TAR }} + ${{ steps.package.outputs.SLANG_BINARY_ARCHIVE_ZIP }} + ${{ steps.package.outputs.SLANG_BINARY_ARCHIVE_TAR }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -- cgit v1.2.3