Skip to content

Commit 915d712

Browse files
committed
feat: release macos
1 parent e41a746 commit 915d712

File tree

9 files changed

+74
-20
lines changed

9 files changed

+74
-20
lines changed

.github/workflows/deploy.yml

+11-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
name: CI
2-
on:
3-
push:
4-
branches:
5-
- master
2+
on: [push]
3+
64
jobs:
75
deploy:
86
runs-on: macos-latest
@@ -21,8 +19,15 @@ jobs:
2119
with:
2220
flutter-version: "1.26.0-1.0.pre"
2321
channel: "dev"
22+
- name: Install Go
23+
uses: actions/setup-go@v2
24+
with:
25+
go-version: 1.15.x
2426
- name: Install tools
2527
run: |
28+
brew update
29+
brew install yq
30+
GO111MODULE=on go get -u -a github.com/go-flutter-desktop/hover
2631
flutter pub get
2732
flutter build ios --release --no-codesign
2833
cd ./ios && pod install
@@ -42,10 +47,11 @@ jobs:
4247
PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
4348
- name: Deploy to TestFlight
4449
run: |
50+
make build-macos
4551
cd ./ios
4652
bundle exec fastlane match development --readonly
4753
security find-identity -v -p codesigning
48-
bundle exec fastlane beta --verbose
54+
bundle exec fastlane mac release -- verbose
4955
env:
5056
TEAM_ID: ${{ secrets.TEAM_ID }}
5157
ITC_TEAM_ID: ${{ secrets.ITC_TEAM_ID }}

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -74,3 +74,4 @@ ios/*.zip
7474
artifacts
7575
ios/*.ipa
7676
.flutter-plugins-dependencies
77+
ios/fastlane/report.xml

Makefile

+5-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
NAME = $(shell yq e '.name' pubspec.yaml)
22
VERSION = $(shell yq e '.version' pubspec.yaml)
33

4-
CERT_NAME := LNCQ7FYZE7
5-
APPLE_USERNAME := [email protected]
6-
APPLE_PASSWORD := @keychain:AC_PASSWORD
4+
CERT_NAME := Developer ID Application: 0x2A Ltd (LNCQ7FYZE7)
75

86
GOMOBILE_PKG := nimona.io/plugins/flutter
97
APP_PATH := $(CURDIR)
@@ -63,8 +61,8 @@ release-ios:
6361
.PHONE: release-ios-verify
6462
release-ios-verify:
6563
@xcrun altool \
66-
--username "$(APPLE_USERNAME)" \
67-
--password "$(APPLE_PASSWORD)" \
64+
--username "$(FASTLANE_USER)" \
65+
--password "$(FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD)" \
6866
--notarization-info $(REQ_ID)
6967

7068
.PHONY: build-macos
@@ -92,7 +90,7 @@ build-macos:
9290
@xcrun altool \
9391
--notarize-app \
9492
--primary-bundle-id "io.nimona.$(NAME)" \
95-
--username "$(APPLE_USERNAME)" \
96-
--password "$(APPLE_PASSWORD)" \
93+
--username "$(FASTLANE_USER)" \
94+
--password "$(FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD)" \
9795
--file ./artifacts/$(NAME)-$(VERSION).app.zip
9896
@echo "All done!"

go/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ require (
3636

3737
// replace github.com/zserge/metric => ../../metric
3838

39-
replace nimona.io => ../../../../nimona.io
39+
// replace nimona.io => ../../../../nimona.io
4040

4141
// replace github.com/go-flutter-desktop/go-flutter => ../../go-flutter
4242

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<installer-gui-script minSpecVersion="1">
3+
<title>{{.applicationName}}</title>
4+
<background alignment="topleft" file="root/Applications/{{.applicationName}}.app/Contents/MacOS/assets/icon.png"/>
5+
<choices-outline>
6+
<line choice="choiceBase"/>
7+
</choices-outline>
8+
<choice id="choiceBase" title="base">
9+
<pkg-ref id="{{.organizationName}}.base.pkg"/>
10+
</choice>
11+
<pkg-ref id="{{.organizationName}}.base.pkg" version="{{.version}}" auth="Root">#base.pkg</pkg-ref>
12+
</installer-gui-script>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<pkg-info format-version="2" identifier="{{.organizationName}}.base.pkg" version="{{.version}}" install-location="/" auth="root">
2+
<bundle-version>
3+
<bundle id="{{.organizationName}}" CFBundleIdentifier="{{.organizationName}}.{{.packageName}}" path="./Applications/{{.applicationName}}.app" CFBundleVersion="{{.version}}"/>
4+
</bundle-version>
5+
</pkg-info>

ios/fastlane/Appfile

+4-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
app_identifier("io.nimona.identity") # The bundle identifier of your app
2-
apple_id("[email protected]") # Your Apple email address
1+
app_identifier("io.nimona.identity")
2+
apple_id("[email protected]")
33

4-
itc_team_id("120343054") # App Store Connect Team ID
5-
team_id("LNCQ7FYZE7") # Developer Portal Team ID
6-
7-
# For more information about the Appfile, see:
8-
# https://docs.fastlane.tools/advanced/#appfile
4+
itc_team_id("120343054")
5+
team_id("LNCQ7FYZE7")

ios/fastlane/Fastfile

+26
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,30 @@ platform :ios do
1818
)
1919
upload_to_testflight
2020
end
21+
end
22+
platform :mac do
23+
desc "Push a new build to macos store"
24+
lane :release do
25+
# setup_ci
26+
# sync_code_signing(
27+
# type: "appstore",
28+
# readonly: is_ci
29+
# )
30+
# build_app(
31+
# workspace: "Runner.xcworkspace",
32+
# scheme: "Runner",
33+
# )
34+
app_store_connect_api_key(
35+
key_id: ENV["APPSTORE_CONNECT_KEYID"],
36+
issuer_id: ENV["APPSTORE_CONNECT_ISSUERID"],
37+
key_content: ENV["APPSTORE_CONNECT_PRIVATE_KEY"]
38+
)
39+
notarize(
40+
verbose: true,
41+
package: "../go/build/outputs/darwin-bundle-release/identity 1.7.0.app",
42+
bundle_id: "io.nimona.identity",
43+
asc_provider: ENV["ITC_TEAM_ID"] # "LNCQ7FYZE7"
44+
)
45+
# upload_to_testflight
46+
end
2147
end

ios/fastlane/README.md

+9
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,15 @@ Push a new beta build to TestFlight
2424

2525
----
2626

27+
## Mac
28+
### mac release
29+
```
30+
fastlane mac release
31+
```
32+
Push a new build to macos store
33+
34+
----
35+
2736
This README.md is auto-generated and will be re-generated every time [fastlane](https://fastlane.tools) is run.
2837
More information about fastlane can be found on [fastlane.tools](https://fastlane.tools).
2938
The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools).

0 commit comments

Comments
 (0)