Add build workflow and gitignore

This commit is contained in:
Jawshoeadan
2025-03-31 16:04:38 +02:00
parent 3ac7a53322
commit 5932ff36c4
2 changed files with 70 additions and 0 deletions

68
.github/workflows/build.yml vendored Normal file
View File

@@ -0,0 +1,68 @@
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 (Optional - Adjust if needed)
# run: sudo xcode-select -s /Applications/Xcode_$(xcodebuild -version | grep Xcode | cut -d' ' -f2).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/
- 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: |
cd Payload
zip -r ../StosVPN-fakesigned.ipa .
cd .. # Go back to the root directory
- name: Upload IPA Artifact
uses: actions/upload-artifact@v4
with:
name: StosVPN-IPA.ipa
path: StosVPN-fakesigned.ipa