summaryrefslogtreecommitdiff
path: root/.github/workflows/release-macos.yml
diff options
context:
space:
mode:
authorEllie Hermaszewska <ellieh@nvidia.com>2024-07-10 22:37:21 +0800
committerGitHub <noreply@github.com>2024-07-10 22:37:21 +0800
commit0e56999a573fada2cce6e94c21ef856cc88dc933 (patch)
tree2a74650a90285c5e4b0823fed10b3cc2ba9fe9d4 /.github/workflows/release-macos.yml
parent9f1ff45e67c3c8e368feec11130378805bf5497c (diff)
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
Diffstat (limited to '.github/workflows/release-macos.yml')
-rw-r--r--.github/workflows/release-macos.yml132
1 files changed, 0 insertions, 132 deletions
diff --git a/.github/workflows/release-macos.yml b/.github/workflows/release-macos.yml
deleted file mode 100644
index 9df540007..000000000
--- a/.github/workflows/release-macos.yml
+++ /dev/null
@@ -1,132 +0,0 @@
-on:
- push:
- # Sequence of patterns matched against refs/tags
- tags:
- - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
-
-name: MacOS Release
-
-jobs:
- build_with_signing:
- name: Upload Release Asset
- runs-on: macos-latest
- strategy:
- matrix:
- configuration: ['release'] # 'debug'
- compiler: ['clang']
- platform: ['aarch64']
- targetPlatform: ['x64', 'aarch64']
- steps:
- - 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_macos_build.sh
- - name: "Import signing certificate"
- env:
- BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
- P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
- KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
- run: |
- # create variables
- CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
- KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
-
- # import certificate and provisioning profile from secrets
- echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output $CERTIFICATE_PATH
-
- # create temporary keychain
- security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
- security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
- security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
-
- # import certificate to keychain
- security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
- security list-keychain -d user -s $KEYCHAIN_PATH
-
- security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k ${KEYCHAIN_PASSWORD} $KEYCHAIN_PATH
-
- - name: Install nortarize tools
- run: |
- brew install Bearer/tap/gon
- security find-identity -v
- brew install coreutils
- - name: Sign binaries
- env:
- IDENTITY_ID: d6ada82a113e4204aaad914e1013e9548ffd30d0
- run: |
- /usr/bin/codesign --force --options runtime -s ${IDENTITY_ID} ./bin/macosx-${{matrix.targetPlatform}}/release/libslang.dylib -v
- /usr/bin/codesign --force --options runtime -s ${IDENTITY_ID} ./bin/macosx-${{matrix.targetPlatform}}/release/libslang-glslang.dylib -v
- /usr/bin/codesign --force --options runtime -s ${IDENTITY_ID} ./bin/macosx-${{matrix.targetPlatform}}/release/libgfx.dylib -v
- /usr/bin/codesign --force --options runtime -s ${IDENTITY_ID} ./bin/macosx-${{matrix.targetPlatform}}/release/slangd -v
- /usr/bin/codesign --force --options runtime -s ${IDENTITY_ID} ./bin/macosx-${{matrix.targetPlatform}}/release/slangc -v
- - name: Package
- id: package
- run: |
- export SLANG_OS_NAME=macos
- export SLANG_ARCH_NAME=${{matrix.targetPlatform}}
- 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
- echo "creating zip"
- 7z a ${SLANG_BINARY_ARCHIVE} slang.h
- 7z a ${SLANG_BINARY_ARCHIVE} slang-com-helper.h
- 7z a ${SLANG_BINARY_ARCHIVE} slang-com-ptr.h
- 7z a ${SLANG_BINARY_ARCHIVE} slang-tag-version.h
- 7z a ${SLANG_BINARY_ARCHIVE} slang-gfx.h
- 7z a ${SLANG_BINARY_ARCHIVE} prelude/*.h
- 7z a ${SLANG_BINARY_ARCHIVE} bin/*/*/libslang.dylib
- 7z a ${SLANG_BINARY_ARCHIVE} bin/*/*/libslang-glslang.dylib
- 7z a ${SLANG_BINARY_ARCHIVE} bin/*/*/libgfx.dylib
- 7z a ${SLANG_BINARY_ARCHIVE} bin/*/*/slangc
- 7z a ${SLANG_BINARY_ARCHIVE} bin/*/*/slangd
- 7z a ${SLANG_BINARY_ARCHIVE} docs/*.md
- 7z a ${SLANG_BINARY_ARCHIVE} README.md
- 7z a ${SLANG_BINARY_ARCHIVE} LICENSE
- echo "SLANG_BINARY_ARCHIVE=${SLANG_BINARY_ARCHIVE}" >> $GITHUB_OUTPUT
- - name: UploadBinary
- uses: softprops/action-gh-release@v1
- with:
- files: |
- ${{ steps.package.outputs.SLANG_BINARY_ARCHIVE }}
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- - name: Notarize
- env:
- AC_PASSWORD: ${{secrets.APPLE_ID_PASSWORD}}
- AC_PROVIDER: ${{secrets.APPLE_ID_PPOVIDER}}
- AC_USERNAME: ${{secrets.APPLE_ID_USERNAME}}
- run: |
- cp ./bin/macosx-${{matrix.targetPlatform}}/release/libslang.dylib libslang.dylib
- cp ./bin/macosx-${{matrix.targetPlatform}}/release/libslang-glslang.dylib libslang-glslang.dylib
- cp ./bin/macosx-${{matrix.targetPlatform}}/release/libslang.dylib libgfx.dylib
- cp ./bin/macosx-${{matrix.targetPlatform}}/release/slangd slangd
- cp ./bin/macosx-${{matrix.targetPlatform}}/release/slangc slangc
- 7z a slang-macos-dist.zip libslang.dylib
- 7z a slang-macos-dist.zip libslang-glslang.dylib
- 7z a slang-macos-dist.zip libgfx.dylib
- 7z a slang-macos-dist.zip slangd
- 7z a slang-macos-dist.zip slangc
- cp slang-macos-dist.zip slang-macos-dist-${{matrix.targetPlatform}}.zip
- timeout 1000 gon ./extras/macos-notarize.json
- - name: UploadNotarizedBinary
- if: always()
- uses: softprops/action-gh-release@v1
- with:
- files: |
- slang-macos-dist-${{matrix.targetPlatform}}.zip
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-