Files
xamarin-neo4j/.github/workflows/deploy-appstore.yml
Trevi Awater 1711d22287 Fix App Store deploy: use macos-26 runner with Xcode 26.5
The unpinned maui-ios workload now installs the iOS 26.5 SDK manifest,
which requires the iOS 26.4+ SDK. The macos-15 image tops out at
Xcode 26.3, so move to macos-26 and select Xcode 26.5 to match.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 13:34:27 +02:00

72 lines
2.3 KiB
YAML

name: Deploy to App Store
on:
push:
branches: ["main"]
paths:
- "Xamarin.Neo4j/**"
release:
types: [published]
workflow_dispatch:
jobs:
build-and-deploy:
runs-on: macos-26
timeout-minutes: 45
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "26.5"
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: "10.0.x"
- name: Install MAUI Workload
run: dotnet workload install maui-ios
- name: Import Signing Certificate
uses: apple-actions/import-codesign-certs@v3
with:
p12-file-base64: ${{ secrets.CERTIFICATE_P12 }}
p12-password: ${{ secrets.CERTIFICATE_PASSWORD }}
- name: Import Provisioning Profile
env:
PROVISIONING_PROFILE: ${{ secrets.PROVISIONING_PROFILE }}
run: |
PROFILE_PATH=$RUNNER_TEMP/profile.mobileprovision
echo -n "$PROVISIONING_PROFILE" | base64 --decode -o $PROFILE_PATH
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
cp $PROFILE_PATH ~/Library/MobileDevice/Provisioning\ Profiles/
- name: Set Build Number
run: |
PLIST="Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.iOS/Info.plist"
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion ${{ github.run_number }}" "$PLIST"
echo "Build number: ${{ github.run_number }}"
- name: Build IPA
working-directory: Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.iOS
run: |
dotnet publish -f net10.0-ios \
-c Release \
-p:ArchiveOnBuild=true \
-p:RuntimeIdentifier=ios-arm64 \
-p:CodesignKey="${{ secrets.CODESIGN_KEY_NAME }}" \
-p:CodesignProvision="${{ secrets.PROVISIONING_PROFILE_NAME }}"
- name: Upload to TestFlight
uses: apple-actions/upload-testflight-build@v3
with:
app-path: Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.iOS/bin/Release/net10.0-ios/ios-arm64/publish/Xamarin.Neo4j.iOS.ipa
issuer-id: ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
api-key-id: ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
api-private-key: ${{ secrets.APP_STORE_CONNECT_KEY }}