-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,122 @@ | ||
name: MacOS Export | ||
|
||
on: [push] | ||
|
||
env: | ||
CARGO_TERM_COLOR: always | ||
RUSTFLAGS: -Dwarnings | ||
CARGO_INCREMENTAL: 0 | ||
PROJECT_NAME: Godot Spike | ||
WORKING_DIRECTORY: godot | ||
IOS_APPLE_ID_USERNAME: ${{ secrets.IOS_APPLE_ID_USERNAME }} | ||
IOS_APPLE_ID_PASSWORD: ${{ secrets.IOS_APPLE_ID_PASSWORD }} | ||
|
||
BUILD_CERTIFICATE_BASE64: ${{ secrets.IOS_BUILD_CERTIFICATE_BASE64 }} | ||
P12_PASSWORD: ${{ secrets.P12_PASSWORD }} | ||
BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} | ||
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} | ||
|
||
jobs: | ||
export-macos: | ||
runs-on: macos-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions-rs/toolchain@v1 | ||
with: | ||
toolchain: stable | ||
override: true | ||
components: rustfmt, clippy | ||
- uses: rui314/setup-mold@v1 | ||
- uses: chickensoft-games/setup-godot@v1 | ||
name: Setup Godot | ||
with: | ||
version: 4.2.2 | ||
include-templates: true | ||
use-dotnet: false | ||
- uses: Swatinem/rust-cache@v2 | ||
with: | ||
workspaces: "rust -> target" | ||
cache-all-crates: "true" | ||
|
||
- name: Install just | ||
run: cargo install just | ||
|
||
- name: just Check | ||
run: just --version | ||
|
||
- name: Godot Check | ||
run: | | ||
godot --version | ||
- name: Godot Export | ||
run: | | ||
set -x | ||
mkdir godot/.godot | ||
touch godot/.godot/extension_list.cfg | ||
echo "res://rust.gdextension" >> godot/.godot/extension_list.cfg | ||
just macos-release | ||
export-ios: | ||
runs-on: macos-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/checkout@v2 | ||
|
||
- uses: actions-rs/toolchain@v1 | ||
with: | ||
toolchain: stable | ||
override: true | ||
components: rustfmt, clippy | ||
- uses: rui314/setup-mold@v1 | ||
- uses: chickensoft-games/setup-godot@v1 | ||
name: Setup Godot | ||
with: | ||
version: 4.2.2 | ||
include-templates: true | ||
use-dotnet: false | ||
- uses: Swatinem/rust-cache@v2 | ||
with: | ||
workspaces: "rust -> target" | ||
cache-all-crates: "true" | ||
|
||
- name: Install just | ||
run: cargo install just | ||
|
||
- name: just Check | ||
run: just --version | ||
|
||
- name: Godot Check | ||
run: | | ||
godot --version | ||
- name: Godot Export | ||
run: | | ||
set -x | ||
mkdir godot/.godot | ||
touch godot/.godot/extension_list.cfg | ||
echo "res://rust.gdextension" >> godot/.godot/extension_list.cfg | ||
# create variables | ||
CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 | ||
PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision | ||
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db | ||
# import certificate and provisioning profile from secrets | ||
echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH | ||
echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode -o $PP_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 | ||
# apply provisioning profile | ||
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles | ||
cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles | ||
just setup-ios | ||
just ios-debug |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,6 +3,4 @@ secrets/ | |
export/ | ||
rust/target/ | ||
.godot/ | ||
!.godot/imported/ | ||
!.godot/global_script_class_cache.cfg | ||
*.vscode/ |
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.