Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
60ee0e38d7 | |||
ec337b374d | |||
208074c455 | |||
a0c06b6d11 | |||
2a467312d4 | |||
2d4b7843b1 | |||
d47b37da3c | |||
48b8bbf689 | |||
b4f99b05bb | |||
fce4d6016f | |||
a5908aeeb0 | |||
262e9ec6bd |
73
.github/workflows/mac-universal.yml
vendored
Normal file
73
.github/workflows/mac-universal.yml
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
name: Mac universal build
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- universal
|
||||
release:
|
||||
types: [published]
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-14
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
BUTLER_API_KEY: ${{ secrets.BUTLER_API_KEY }}
|
||||
PROD_MACOS_CERTIFICATE: '${{ secrets.PROD_MACOS_CERTIFICATE }}'
|
||||
PROD_MACOS_CERTIFICATE_PWD: '${{ secrets.PROD_MACOS_CERTIFICATE_PWD }}'
|
||||
PROD_MACOS_CERTIFICATE_NAME: '${{ secrets.PROD_MACOS_CERTIFICATE_NAME }}'
|
||||
PROD_MACOS_CI_KEYCHAIN_PWD: '${{ secrets.PROD_MACOS_CI_KEYCHAIN_PWD }}'
|
||||
PROD_MACOS_NOTARIZATION_APPLE_ID: '${{ secrets.PROD_MACOS_NOTARIZATION_APPLE_ID }}'
|
||||
PROD_MACOS_NOTARIZATION_TEAM_ID: '${{ secrets.PROD_MACOS_NOTARIZATION_TEAM_ID }}'
|
||||
PROD_MACOS_NOTARIZATION_PWD: '${{ secrets.PROD_MACOS_NOTARIZATION_PWD }}'
|
||||
BUILD_OS: macos
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
configuration:
|
||||
- Release
|
||||
- Debug
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
# Download macos-intel
|
||||
- uses: robinraju/release-downloader@v1
|
||||
id: download
|
||||
with:
|
||||
latest: true
|
||||
fileName: 'cboe-macos-intel-${{ matrix.configuration }}.tar'
|
||||
extract: true
|
||||
out-file-path: 'cboe-macos-intel-${{ matrix.configuration }}'
|
||||
|
||||
# Download macos-silicon
|
||||
- uses: robinraju/release-downloader@v1
|
||||
with:
|
||||
latest: true
|
||||
fileName: 'cboe-macos-silicon-${{ matrix.configuration }}.tar'
|
||||
extract: true
|
||||
out-file-path: 'cboe-macos-silicon-${{ matrix.configuration }}'
|
||||
|
||||
- run: .github/workflows/scripts/mac/make-universal.sh
|
||||
|
||||
# Skipping this for now because of issue nqnstudios#13
|
||||
- name: Codesign and notarize
|
||||
run: 'SIGN="no" NOTARIZE="no" .github/workflows/scripts/mac/sign-apps.sh'
|
||||
|
||||
- name: 'Tar files'
|
||||
run: 'tar -cvf cboe-macos-universal-${{matrix.configuration}}.tar "build/Blades of Exile"'
|
||||
|
||||
# Upload everything as artifact
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: mac-universal-dependencies-${{matrix.configuration}}
|
||||
path: cboe-macos-universal-${{matrix.configuration}}.tar
|
||||
|
||||
# upload a release
|
||||
- name: Github release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: cboe-macos-universal-${{ matrix.configuration }}.tar
|
||||
tag_name: ${{ steps.download.outputs.tag_name }}
|
||||
|
||||
- name: 'Itch.io release'
|
||||
run: './.github/workflows/scripts/butler_push.sh'
|
||||
shell: bash
|
||||
if: ${{ matrix.configuration == 'Release' }}
|
6
.github/workflows/release.yml
vendored
6
.github/workflows/release.yml
vendored
@@ -97,6 +97,9 @@ jobs:
|
||||
run: 'python 7145bcf6621891f5176c8caa165d6b93/fix-rpaths.py "build/Blades of Exile/BoE Character Editor.app"'
|
||||
if: ${{ matrix.os.name == 'macos' }}
|
||||
|
||||
- run: cp .itch.windows.toml build/Blades of Exile/.itch.toml
|
||||
if: ${{ matrix.os.name == 'windows' }}
|
||||
|
||||
- name: 'Tar unsigned files'
|
||||
run: 'tar -cvf cboe-${{ matrix.os.name }}${{ matrix.os.suffix }}-${{ matrix.configuration }}-unsigned.tar "Blades of Exile"'
|
||||
working-directory: '${{ github.workspace }}/build'
|
||||
@@ -105,8 +108,9 @@ jobs:
|
||||
with:
|
||||
name: cboe-${{ matrix.os.name }}${{ matrix.os.suffix }}-${{ matrix.configuration }}-unsigned
|
||||
path: '${{ github.workspace }}/build/cboe-${{ matrix.os.name }}${{ matrix.os.suffix }}-${{ matrix.configuration }}-unsigned.tar'
|
||||
# Skipping this for now because of issue nqnstudios#13
|
||||
- name: Codesign and notarize
|
||||
run: 'NOTARIZE="no" ./.github/workflows/scripts/mac/sign-apps.sh'
|
||||
run: 'SIGN="no" NOTARIZE="no" ./.github/workflows/scripts/mac/sign-apps.sh'
|
||||
if: ${{ matrix.os.name == 'macos' }}
|
||||
- name: 'Tar files'
|
||||
run: 'tar -cvf cboe-${{ matrix.os.name }}${{ matrix.os.suffix }}-${{ matrix.configuration }}.tar "Blades of Exile"'
|
||||
|
21
.github/workflows/scripts/mac/make-universal.sh
vendored
Executable file
21
.github/workflows/scripts/mac/make-universal.sh
vendored
Executable file
@@ -0,0 +1,21 @@
|
||||
#! /bin/bash
|
||||
|
||||
if [ -z "$CONFIGURATION" ]; then
|
||||
CONFIGURATION=Release
|
||||
fi
|
||||
|
||||
INTEL=cboe-macos-intel-$CONFIGURATION
|
||||
SILICON=cboe-macos-silicon-$CONFIGURATION
|
||||
|
||||
combine() {
|
||||
mkdir -p "build/Blades of Exile/$1.app/Contents/MacOS"
|
||||
lipo -create "$SILICON/Blades of Exile/$1.app/Contents/MacOS/$1" "$INTEL/Blades of Exile/$1.app/Contents/MacOS/$1" -output "build/Blades of Exile/$1.app/Contents/MacOS/$1"
|
||||
cp -r "$SILICON/Blades of Exile/$1.app/Contents/Frameworks" "build/Blades of Exile/$1.app/Contents/"
|
||||
cp -r "$SILICON/Blades of Exile/$1.app/Contents/Resources" "build/Blades of Exile/$1.app/Contents/"
|
||||
cp "$SILICON/Blades of Exile/$1.app/Contents/Info.plist" "build/Blades of Exile/$1.app/Contents/"
|
||||
cp "$SILICON/Blades of Exile/$1.app/Contents/PkgInfo" "build/Blades of Exile/$1.app/Contents/"
|
||||
}
|
||||
|
||||
combine "Blades of Exile"
|
||||
combine "BoE Scenario Editor"
|
||||
combine "BoE Character Editor"
|
5
.github/workflows/scripts/mac/sign-apps.sh
vendored
5
.github/workflows/scripts/mac/sign-apps.sh
vendored
@@ -19,6 +19,10 @@ security import certificate.p12 -k build.keychain -P "$PROD_MACOS_CERTIFICATE_PW
|
||||
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$PROD_MACOS_CI_KEYCHAIN_PWD" build.keychain
|
||||
|
||||
sign() {
|
||||
if [ "$SIGN" = "no" ];
|
||||
then
|
||||
return
|
||||
fi
|
||||
APP_PATH="build/Blades of Exile/$1.app"
|
||||
|
||||
# We finally codesign our app bundle, specifying the Hardened runtime option
|
||||
@@ -40,6 +44,7 @@ sign() {
|
||||
then
|
||||
return
|
||||
fi
|
||||
|
||||
# (same source)
|
||||
|
||||
# Store the notarization credentials so that we can prevent a UI password dialog
|
||||
|
3
.itch.windows.toml
Normal file
3
.itch.windows.toml
Normal file
@@ -0,0 +1,3 @@
|
||||
[[actions]]
|
||||
name = "play"
|
||||
path = "Blades of Exile.exe"
|
Reference in New Issue
Block a user