mirror of
https://github.com/jkcoxson/LocalDevVPN.git
synced 2026-03-02 06:26:16 +01:00
Merge pull request #1 from jawshoeadan/main
Add GitHub actions workflow for building IPA
This commit is contained in:
66
.github/workflows/build.yml
vendored
Normal file
66
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
name: Build IPA with Fake Signing
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main] # Or your default branch
|
||||
workflow_dispatch: # Allows manual triggering
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-latest # Use the latest macOS runner
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install ldid
|
||||
run: brew install ldid
|
||||
|
||||
- name: Select Xcode version
|
||||
run: sudo xcode-select -s /Applications/Xcode_16.2.app
|
||||
|
||||
- name: Build Xcode Archive
|
||||
run: |
|
||||
xcodebuild archive \
|
||||
-project StosVPN.xcodeproj \
|
||||
-scheme StosVPN \
|
||||
-destination 'generic/platform=iOS' \
|
||||
-archivePath build/StosVPN.xcarchive \
|
||||
CODE_SIGN_IDENTITY="" \
|
||||
CODE_SIGNING_REQUIRED=NO \
|
||||
CODE_SIGNING_ALLOWED=NO
|
||||
|
||||
- name: Create Payload directory
|
||||
run: mkdir -p Payload
|
||||
|
||||
- name: Copy App to Payload
|
||||
run: cp -R build/StosVPN.xcarchive/Products/Applications/StosVPN.app Payload/StosVPN.app
|
||||
|
||||
- name: Find and Sign App Extension
|
||||
run: |
|
||||
APPEX_PATH=$(find Payload/StosVPN.app/PlugIns -name "*.appex" | head -n 1)
|
||||
if [ -z "$APPEX_PATH" ]; then
|
||||
echo "Error: App Extension (.appex) not found in PlugIns directory."
|
||||
exit 1
|
||||
fi
|
||||
echo "Found App Extension at: $APPEX_PATH"
|
||||
# Use the specific entitlements for the extension
|
||||
ldid -S"${GITHUB_WORKSPACE}/TunnelProv/TunnelProv.entitlements" "$APPEX_PATH/$(basename "$APPEX_PATH" .appex)"
|
||||
echo "Signed App Extension."
|
||||
|
||||
- name: Sign Main App Bundle
|
||||
run: |
|
||||
APP_BINARY_PATH="Payload/StosVPN.app/StosVPN"
|
||||
# Use the specific entitlements for the main app
|
||||
ldid -S"${GITHUB_WORKSPACE}/StosVPN/StosVPN.entitlements" "$APP_BINARY_PATH"
|
||||
echo "Signed Main App Bundle."
|
||||
|
||||
- name: Create IPA
|
||||
run: |
|
||||
zip -r ./StosVPN-fakesigned.ipa Payload
|
||||
|
||||
- name: Upload IPA Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: StosVPN-IPA.ipa
|
||||
path: StosVPN-fakesigned.ipa
|
||||
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
*.ipa
|
||||
/build
|
||||
|
||||
**/.DS_Store
|
||||
Reference in New Issue
Block a user