forked from netguru/baby-monitor-client-ios
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Highwayfile.yml
107 lines (98 loc) · 3.6 KB
/
Highwayfile.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# Highway configuration file version.
version: 1
# Variables available for presets.
variables:
default:
XCODEBUILD_SCHEME: Staging
XCODEBUILD_PROJECT: ./Baby Monitor.xcworkspace
APPCENTER_ORG_NAME: office-4dmm
staging:
XCODEBUILD_SCHEME: Staging
APPCENTER_API_TOKEN: $(ENV:APP_CENTER_API_TOKEN_STAGING)
APPCENTER_APP_NAME: $(ENV:APP_CENTER_APP_NAME_STAGING_ID)
APPCENTER_DISTRIBUTION_GROUP: $(ENV:APP_CENTER_DISTRIBUTION_GROUP)
release:
XCODEBUILD_SCHEME: Production
# Bootstrap stage.
bootstrap:
default:
- action:
name: "xcversion"
options:
version: "11.3.1"
- code_sign:
path: "prerequisites.zip.gpg"
passphrase: $(ENV:SECRET_PASSPHRASE)
- sh:
command: |
# Decrypt prerequisites archive
gpg --quiet --batch --yes --decrypt --passphrase='$(ENV:SECRET_PASSPHRASE)' --output prerequisites.zip prerequisites.zip.gpg
# Unzip the archive
7z e prerequisites.zip -oprerequisites -y
# Copy GoogleService plist files
mv -f "./prerequisites/GoogleService-Info-Development.plist" "./Baby Monitor/Supporting Files/Firebase/GoogleService-Info-Development.plist"
mv -f "./prerequisites/GoogleService-Info-Production.plist" "./Baby Monitor/Supporting Files/Firebase/GoogleService-Info-Production.plist"
mv -f "./prerequisites/GoogleService-Info-Staging.plist" "./Baby Monitor/Supporting Files/Firebase/GoogleService-Info-Staging.plist"
- carthage:
command: "bootstrap"
platforms:
- ios
- sh:
command: "cp .env.sample .env"
- cocoapods:
command: "install"
# Test stage.
test:
unit_tests:
- xcode_test:
project: $(XCODEBUILD_PROJECT)
scheme: $(XCODEBUILD_SCHEME)
skip_build: true
device: "iPhone 11"
settings:
_BUILD_NUMBER: $(ENV:BUILD_NUMBER)
# Deploy stage.
deploy:
staging:
- xcode_archive:
project: $(XCODEBUILD_PROJECT)
scheme: $(XCODEBUILD_SCHEME)
method: "enterprise"
settings:
_BUILD_NUMBER: $(ENV:BUILD_NUMBER)
- appcenter:
api_token: $(APPCENTER_API_TOKEN)
owner_name: $(APPCENTER_ORG_NAME)
app_name: $(APPCENTER_APP_NAME)
distribution_group: $(APPCENTER_DISTRIBUTION_GROUP)
notify: false
release:
- xcode_archive:
project: $(XCODEBUILD_PROJECT)
scheme: $(XCODEBUILD_SCHEME)
method: "app-store"
settings:
_BUILD_NUMBER: $(ENV:BUILD_NUMBER)
- testflight:
username: $(ENV:APPSTORE_USERNAME)
password: $(ENV:APPSTORE_PASSWORD)
apple_id: $(ENV:APPSTORE_APP_ID)
skip_submission: false
skip_waiting_for_build_processing: false
team_name: $(ENV:APPSTORE_TEAM_NAME)
- appstore:
username: $(ENV:APPSTORE_USERNAME)
password: $(ENV:APPSTORE_PASSWORD)
app_identifier: $(ENV:APPSTORE_APP_IDENTIFIER)
submit_for_review: false
skip_binary_upload: true
build_number: $(ENV:BUILD_NUMBER)
team_name: $(ENV:APPSTORE_TEAM_NAME)
# Report stage.
report:
default:
- copy_artifacts:
path: $(ENV:DEPLOY_DIR)
- slack:
webhook: $(ENV:SLACK_WEBHOOK_URL)
channel: "#notify-baby-monitor"