forked from KhronosGroup/MoltenVK
-
Notifications
You must be signed in to change notification settings - Fork 0
69 lines (66 loc) · 2.75 KB
/
lwjgl.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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
MACOS: 10.13
- ARCH: arm64
ARCHS: arm64
MACOS: 11.0
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 MACOSX_DEPLOYMENT_TARGET=${{matrix.MACOS}} ARCHS=${{matrix.ARCHS}} GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS MVK_LOGGING_ENABLED=0' CODE_SIGNING_REQUIRED=NO -derivedDataPath bin build -IDEBuildOperationMaxNumberOfConcurrentCompileTasks=4
strip -u -r Package/Latest/MoltenVK/dynamic/dylib/macOS/libMoltenVK.dylib
- name: Print log on failure
run: cat "xcodebuild.log"
if: failure()
- name: Upload artifact
run: aws s3 cp Package/Latest/MoltenVK/dynamic/dylib/macOS/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