Skip to content

LWJGL configuration #35

LWJGL configuration

LWJGL configuration #35

Workflow file for this run

name: LWJGL Build
on:
workflow_dispatch:
push:
branches:
- main
env:
AWS_DEFAULT_REGION: us-east-1
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
S3_PARAMS: --cache-control "public,must-revalidate,proxy-revalidate,max-age=0"
jobs:
macos:
name: macOS
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
ARCH: [x64, arm64]
include:
- ARCH: x64
ARCHS: x86_64
- ARCH: arm64
ARCHS: arm64
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 3
- name: Cache key preparation
run: |
XCODE_VERSION="$(xcodebuild -version)"
XCODE_VERSION="$(echo "${XCODE_VERSION}" | tr '\t\r\n ' '_')"
echo "::set-output name=XCODE_VERSION::${XCODE_VERSION}"
id: cache-key-prep
- name: Cache Dependencies
uses: actions/cache@v2
id: cache-dependencies
with:
path: |
External/build
!External/build/Intermediates
key: ${{runner.os}}-${{steps.cache-key-prep.outputs.XCODE_VERSION}}-${{matrix.ARCH}}-${{hashFiles('fetchDependencies','ExternalRevisions/**','ExternalDependencies.xcodeproj/**','Scripts/**')}}
- name: Fetch Dependencies (Use Built Cache)
run: ./fetchDependencies -v --none
if: steps.cache-dependencies.outputs.cache-hit == 'true'
- name: Fetch Dependencies
run: ARCHS=${{matrix.ARCHS}} ./fetchDependencies -v --macos
if: steps.cache-dependencies.outputs.cache-hit != 'true'
- name: Print dependencies log on failure
run: cat dependenciesbuild.log
if: failure()
- name: Build
run: |
xcodebuild -verbose -project MoltenVKPackaging.xcodeproj -scheme "MoltenVK Package (macOS only)" -configuration Release ARCHS=${{matrix.ARCHS}} GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS MVK_LOGGING_ENABLED=0' -derivedDataPath bin build -IDEBuildOperationMaxNumberOfConcurrentCompileTasks=4
strip -u -r bin/Build/Products/Release/dynamic/libMoltenVK.dylib
- name: Print log on failure
run: cat "xcodebuild.log"
if: failure()
- name: Upload artifact
run: aws s3 cp bin/Build/Products/Release/dynamic/libMoltenVK.dylib s3://lwjgl-build/nightly/macosx/${{matrix.ARCH}}/ $S3_PARAMS
- name: Upload git revision
run: |
git log --first-parent --pretty=format:%H HEAD~2..HEAD~1 > libMoltenVK.dylib.git
aws s3 cp libMoltenVK.dylib.git s3://lwjgl-build/nightly/macosx/${{matrix.ARCH}}/ $S3_PARAMS