ios: ci: deploy via fastlane
Some checks failed
TestFlight Release / testflight (push) Failing after 9s
Some checks failed
TestFlight Release / testflight (push) Failing after 9s
This commit is contained in:
32
ios/fastlane/CI.md
Normal file
32
ios/fastlane/CI.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# TestFlight Release CI
|
||||
|
||||
Gitea Actions publishes iOS releases from tags that match:
|
||||
|
||||
```sh
|
||||
release/vN.N.N
|
||||
```
|
||||
|
||||
For example:
|
||||
|
||||
```sh
|
||||
git tag release/v1.10.0
|
||||
git push origin release/v1.10.0
|
||||
```
|
||||
|
||||
The release job runs on the `xcode` runner label, imports the signing p12 with
|
||||
`Apple-Actions/import-codesign-certs`, builds and uploads the app with fastlane,
|
||||
then creates or updates the matching Gitea release with the generated IPA as an
|
||||
asset.
|
||||
|
||||
Required repository secrets:
|
||||
|
||||
```text
|
||||
APPSTORE_CERTIFICATES_FILE_BASE64
|
||||
APPSTORE_CERTIFICATES_PASSWORD
|
||||
FASTLANE_USER
|
||||
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
|
||||
```
|
||||
|
||||
The workflow uses Gitea's built-in `GITEA_TOKEN` for release creation and asset
|
||||
upload, with `contents: write` permissions. In Gitea this covers release asset
|
||||
publication.
|
||||
@@ -42,9 +42,9 @@ def local_build_number
|
||||
end
|
||||
|
||||
def normalize_version_tag(tag)
|
||||
version = tag.to_s.strip.sub(/\Av/, "")
|
||||
unless version.match?(/\A\d+\.\d+(\.\d+)?\z/)
|
||||
UI.user_error!("Release tag #{tag.inspect} must look like v1.10 or v1.10.0")
|
||||
version = tag.to_s.strip.sub(%r{\Arelease/}, "").sub(/\Av/, "")
|
||||
unless version.match?(/\A\d+\.\d+\.\d+\z/)
|
||||
UI.user_error!("Release tag #{tag.inspect} must look like release/v1.10.0")
|
||||
end
|
||||
version
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user