mirror of
https://github.com/sartoopjj/thefeed.git
synced 2026-05-19 09:44:37 +03:00
92 lines
2.9 KiB
YAML
92 lines
2.9 KiB
YAML
name: iOS Release (preview)
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
tag:
|
|
description: 'Tag for the pre-release (e.g. v0.15.0-ios.1)'
|
|
required: true
|
|
default: 'v0.0.0-ios.0'
|
|
push:
|
|
tags: ['v*-ios.*']
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: macos-14
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: '1.26'
|
|
cache: true
|
|
|
|
- name: Select Xcode
|
|
run: sudo xcode-select -s /Applications/Xcode.app
|
|
|
|
- name: Install gomobile + gobind
|
|
run: |
|
|
go install golang.org/x/mobile/cmd/gomobile@latest
|
|
go install golang.org/x/mobile/cmd/gobind@latest
|
|
gomobile init
|
|
go get golang.org/x/mobile/bind golang.org/x/mobile/bind/objc
|
|
go mod tidy
|
|
|
|
- name: Build Mobile.xcframework
|
|
run: gomobile bind -iosversion=14.0 -target=ios,iossimulator -o ios/Mobile.xcframework ./mobile
|
|
|
|
- name: Archive (unsigned)
|
|
run: |
|
|
xcodebuild \
|
|
-project ios/Thefeed.xcodeproj \
|
|
-scheme Thefeed \
|
|
-configuration Release \
|
|
-destination 'generic/platform=iOS' \
|
|
-archivePath build/Thefeed.xcarchive \
|
|
archive \
|
|
CODE_SIGN_IDENTITY="" \
|
|
CODE_SIGNING_REQUIRED=NO \
|
|
CODE_SIGNING_ALLOWED=NO \
|
|
DEVELOPMENT_TEAM=""
|
|
|
|
- name: Pack unsigned IPA
|
|
run: |
|
|
mkdir -p build/Payload
|
|
cp -r build/Thefeed.xcarchive/Products/Applications/Thefeed.app build/Payload/
|
|
(cd build && zip -qry "Thefeed-${GITHUB_REF_NAME:-${{ github.event.inputs.tag }}}-unsigned.ipa" Payload)
|
|
ls -lh build/*.ipa
|
|
|
|
- name: Resolve tag
|
|
id: tag
|
|
run: |
|
|
TAG="${GITHUB_REF_NAME}"
|
|
if [ -z "$TAG" ] || [ "$TAG" = "main" ]; then TAG="${{ github.event.inputs.tag }}"; fi
|
|
echo "tag=$TAG" >> "$GITHUB_OUTPUT"
|
|
|
|
- name: Create pre-release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
tag_name: ${{ steps.tag.outputs.tag }}
|
|
name: ${{ steps.tag.outputs.tag }} (iOS preview)
|
|
prerelease: true
|
|
generate_release_notes: false
|
|
body: |
|
|
⚠️ **iOS-only preview release.**
|
|
|
|
This release ships only the iOS build. Other platforms
|
|
(server, Linux/macOS/Windows clients, Android APKs) are not
|
|
included — pull the latest stable tag for those.
|
|
|
|
The IPA is **unsigned**. To install:
|
|
- Re-sign with your own provisioning profile and distribute via TestFlight, or
|
|
- Use a sideloading tool such as AltStore / Sideloadly with your own Apple ID.
|
|
|
|
iOS 14.0 or newer required. Universal binary (iPhone + iPad).
|
|
files: |
|
|
build/Thefeed-*.ipa
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|