fastlane-plugin-apprepo 0.4.3 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +101 -0
- data/Gemfile.lock +52 -55
- data/assets/RepofileDefault +3 -2
- data/build-gem.sh +0 -0
- data/cci-config-generator.sh +90 -0
- data/fastlane/Repofile +4 -3
- data/lib/fastlane/plugin/apprepo/helper/options.rb +8 -3
- data/lib/fastlane/plugin/apprepo/helper/runner.rb +1 -1
- data/lib/fastlane/plugin/apprepo/helper/uploader.rb +6 -4
- data/lib/fastlane/plugin/apprepo/runner.rb +1 -1
- data/lib/fastlane/plugin/apprepo/uploader.rb +8 -6
- data/lib/fastlane/plugin/apprepo/version.rb +1 -1
- metadata +4 -3
- data/circle.yml +0 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b36df50aa7d187832d50594559f1405968d5a4aa
|
4
|
+
data.tar.gz: 1ac19bf3b59bb9ca5445f4bd6c329ba81e62ecd9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89a26e5ec300e5f7c39e157b08212ba4216b2ddf878fa71095aaf2663ccc20c64b1352132e5123caf6670b6d271923826b8a8260d05f756aa4224e24b050e410
|
7
|
+
data.tar.gz: 6452eb15edc36fec85192260efde950ab69b3be19bfa0fedb762a92a1749c9ada72240d8ce83a33dc9b916a64632c37b17f878edd74564e7cd1320816daeb5fc
|
@@ -0,0 +1,101 @@
|
|
1
|
+
# This configuration was automatically generated from a CircleCI 1.0 config.
|
2
|
+
# It should include any build commands you had along with commands that CircleCI
|
3
|
+
# inferred from your project structure. We strongly recommend you read all the
|
4
|
+
# comments in this file to understand the structure of CircleCI 2.0, as the idiom
|
5
|
+
# for configuration has changed substantially in 2.0 to allow arbitrary jobs rather
|
6
|
+
# than the prescribed lifecycle of 1.0. In general, we recommend using this generated
|
7
|
+
# configuration as a reference rather than using it in production, though in most
|
8
|
+
# cases it should duplicate the execution of your original 1.0 config.
|
9
|
+
version: 2
|
10
|
+
jobs:
|
11
|
+
build:
|
12
|
+
working_directory: ~/suculent/fastlane-plugin-apprepo
|
13
|
+
parallelism: 1
|
14
|
+
shell: /bin/bash --login
|
15
|
+
# CircleCI 2.0 does not support environment variables that refer to each other the same way as 1.0 did.
|
16
|
+
# If any of these refer to each other, rewrite them so that they don't or see https://circleci.com/docs/2.0/env-vars/#interpolating-environment-variables-to-set-other-environment-variables .
|
17
|
+
environment:
|
18
|
+
CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
|
19
|
+
CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
|
20
|
+
LC_ALL: en_US.UTF-8
|
21
|
+
LANG: en_US.UTF-8
|
22
|
+
# In CircleCI 1.0 we used a pre-configured image with a large number of languages and other packages.
|
23
|
+
# In CircleCI 2.0 you can now specify your own image, or use one of our pre-configured images.
|
24
|
+
# The following configuration line tells CircleCI to use the specified docker image as the runtime environment for you job.
|
25
|
+
# We have selected a pre-built image that mirrors the build environment we use on
|
26
|
+
# the 1.0 platform, but we recommend you choose an image more tailored to the needs
|
27
|
+
# of each job. For more information on choosing an image (or alternatively using a
|
28
|
+
# VM instead of a container) see https://circleci.com/docs/2.0/executor-types/
|
29
|
+
# To see the list of pre-built images that CircleCI provides for most common languages see
|
30
|
+
# https://circleci.com/docs/2.0/circleci-images/
|
31
|
+
docker:
|
32
|
+
- image: circleci/build-image:ubuntu-14.04-XXL-upstart-1189-5614f37
|
33
|
+
command: /sbin/init
|
34
|
+
steps:
|
35
|
+
# Machine Setup
|
36
|
+
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
|
37
|
+
# The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. In 2.0 you can choose where in the course of a job your code should be checked out.
|
38
|
+
- checkout
|
39
|
+
# Prepare for artifact and test results collection equivalent to how it was done on 1.0.
|
40
|
+
# In many cases you can simplify this from what is generated here.
|
41
|
+
# 'See docs on artifact collection here https://circleci.com/docs/2.0/artifacts/'
|
42
|
+
- run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_TEST_REPORTS
|
43
|
+
# This is based on your 1.0 configuration file or project settings
|
44
|
+
- run:
|
45
|
+
working_directory: ~/suculent/fastlane-plugin-apprepo
|
46
|
+
command: rm -f suculent/fastlane-plugin-apprepo/.rvmrc; echo 2.4 > suculent/fastlane-plugin-apprepo/.ruby-version; rvm use 2.4 --default
|
47
|
+
# Dependencies
|
48
|
+
# This would typically go in either a build or a build-and-test job when using workflows
|
49
|
+
# Restore the dependency cache
|
50
|
+
- restore_cache:
|
51
|
+
keys:
|
52
|
+
# This branch if available
|
53
|
+
- v1-dep-{{ .Branch }}-
|
54
|
+
# Default branch if not
|
55
|
+
- v1-dep-master-
|
56
|
+
# Any branch if there are none on the default branch - this should be unnecessary if you have your default branch configured correctly
|
57
|
+
- v1-dep-
|
58
|
+
# This is based on your 1.0 configuration file or project settings
|
59
|
+
- run: gem install bundler
|
60
|
+
- run: gem install fastlane
|
61
|
+
- run: bundle update
|
62
|
+
# This is based on your 1.0 configuration file or project settings
|
63
|
+
- run:
|
64
|
+
command: bundle install
|
65
|
+
no_output_timeout: 180s
|
66
|
+
# Save dependency cache
|
67
|
+
- save_cache:
|
68
|
+
key: v1-dep-{{ .Branch }}-{{ epoch }}
|
69
|
+
paths:
|
70
|
+
# This is a broad list of cache paths to include many possible development environments
|
71
|
+
# You can probably delete some of these entries
|
72
|
+
- vendor/bundle
|
73
|
+
- ~/virtualenvs
|
74
|
+
- ~/.m2
|
75
|
+
- ~/.ivy2
|
76
|
+
- ~/.bundle
|
77
|
+
- ~/.go_workspace
|
78
|
+
- ~/.gradle
|
79
|
+
- ~/.cache/bower
|
80
|
+
# Test
|
81
|
+
# This would typically be a build job when using workflows, possibly combined with build
|
82
|
+
# This is based on your 1.0 configuration file or project settings
|
83
|
+
- run: nslookup repo.teacloud.net
|
84
|
+
- run: fastlane add_plugin apprepo
|
85
|
+
- run: fastlane apprepo run
|
86
|
+
- run: fastlane apprepo download_manifest
|
87
|
+
- run: fastlane apprepo submit
|
88
|
+
- run: COVERALLS_REPO_TOKEN=dQDxuq9CdMJY5IWYmcFf8BdiHaUPFwZxQ RAILS_ENV=test bundle exec rspec
|
89
|
+
- run: curl -X POST --data-urlencode 'payload={"text":"CirleCI Integration Completed."}' https://hooks.slack.com/services/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
|
90
|
+
# This is based on your 1.0 configuration file or project settings
|
91
|
+
- run: curl -sSL https://download.sourceclear.com/ci.sh | sh
|
92
|
+
# Teardown
|
93
|
+
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
|
94
|
+
# Save test results
|
95
|
+
- store_test_results:
|
96
|
+
path: /tmp/circleci-test-results
|
97
|
+
# Save artifacts
|
98
|
+
- store_artifacts:
|
99
|
+
path: /tmp/circleci-artifacts
|
100
|
+
- store_artifacts:
|
101
|
+
path: /tmp/circleci-test-results
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
fastlane-plugin-apprepo (0.
|
4
|
+
fastlane-plugin-apprepo (0.5.0)
|
5
5
|
json (~> 2.0, >= 2.0.3)
|
6
6
|
net-sftp (~> 2.1, >= 2.1.2)
|
7
7
|
net-ssh (~> 4.0, >= 4.0.0)
|
@@ -13,7 +13,7 @@ GEM
|
|
13
13
|
addressable (2.5.2)
|
14
14
|
public_suffix (>= 2.0.2, < 4.0)
|
15
15
|
ast (2.4.0)
|
16
|
-
atomos (0.1.
|
16
|
+
atomos (0.1.3)
|
17
17
|
babosa (1.0.2)
|
18
18
|
builder (3.2.3)
|
19
19
|
claide (1.0.2)
|
@@ -22,30 +22,30 @@ GEM
|
|
22
22
|
colored2 (3.1.2)
|
23
23
|
commander-fastlane (4.4.6)
|
24
24
|
highline (~> 1.7.2)
|
25
|
-
coveralls (0.8.
|
25
|
+
coveralls (0.8.22)
|
26
26
|
json (>= 1.8, < 3)
|
27
|
-
simplecov (~> 0.
|
27
|
+
simplecov (~> 0.16.1)
|
28
28
|
term-ansicolor (~> 1.3)
|
29
29
|
thor (~> 0.19.4)
|
30
30
|
tins (~> 1.6)
|
31
31
|
declarative (0.0.10)
|
32
32
|
declarative-option (0.1.0)
|
33
33
|
diff-lcs (1.3)
|
34
|
-
docile (1.1
|
35
|
-
domain_name (0.5.
|
34
|
+
docile (1.3.1)
|
35
|
+
domain_name (0.5.20180417)
|
36
36
|
unf (>= 0.0.5, < 1.0.0)
|
37
|
-
dotenv (2.
|
37
|
+
dotenv (2.5.0)
|
38
38
|
emoji_regex (0.1.1)
|
39
39
|
excon (0.62.0)
|
40
|
-
faraday (0.
|
40
|
+
faraday (0.15.2)
|
41
41
|
multipart-post (>= 1.2, < 3)
|
42
42
|
faraday-cookie_jar (0.0.6)
|
43
43
|
faraday (>= 0.7.4)
|
44
44
|
http-cookie (~> 1.0.0)
|
45
45
|
faraday_middleware (0.12.2)
|
46
46
|
faraday (>= 0.7.4, < 1.0)
|
47
|
-
fastimage (2.1.
|
48
|
-
fastlane (2.
|
47
|
+
fastimage (2.1.3)
|
48
|
+
fastlane (2.102.0)
|
49
49
|
CFPropertyList (>= 2.3, < 4.0.0)
|
50
50
|
addressable (>= 2.3, < 3.0.0)
|
51
51
|
babosa (>= 1.0.2, < 2.0.0)
|
@@ -60,7 +60,7 @@ GEM
|
|
60
60
|
faraday_middleware (~> 0.9)
|
61
61
|
fastimage (>= 2.1.0, < 3.0.0)
|
62
62
|
gh_inspector (>= 1.1.2, < 2.0.0)
|
63
|
-
google-api-client (>= 0.
|
63
|
+
google-api-client (>= 0.21.2, < 0.24.0)
|
64
64
|
highline (>= 1.7.2, < 2.0.0)
|
65
65
|
json (< 3.0.0)
|
66
66
|
mini_magick (~> 4.5.1)
|
@@ -69,7 +69,7 @@ GEM
|
|
69
69
|
multipart-post (~> 2.0.0)
|
70
70
|
plist (>= 3.1.0, < 4.0.0)
|
71
71
|
public_suffix (~> 2.0.0)
|
72
|
-
rubyzip (>= 1.1
|
72
|
+
rubyzip (>= 1.2.1, < 2.0.0)
|
73
73
|
security (= 0.1.3)
|
74
74
|
simctl (~> 1.6.3)
|
75
75
|
slack-notifier (>= 2.0.0, < 3.0.0)
|
@@ -79,54 +79,50 @@ GEM
|
|
79
79
|
tty-spinner (>= 0.8.0, < 1.0.0)
|
80
80
|
word_wrap (~> 1.0.0)
|
81
81
|
xcodeproj (>= 1.5.7, < 2.0.0)
|
82
|
-
xcpretty (
|
82
|
+
xcpretty (~> 0.2.8)
|
83
83
|
xcpretty-travis-formatter (>= 0.0.3)
|
84
84
|
gh_inspector (1.1.3)
|
85
|
-
google-api-client (0.
|
85
|
+
google-api-client (0.23.4)
|
86
86
|
addressable (~> 2.5, >= 2.5.1)
|
87
|
-
googleauth (
|
87
|
+
googleauth (>= 0.5, < 0.7.0)
|
88
88
|
httpclient (>= 2.8.1, < 3.0)
|
89
89
|
mime-types (~> 3.0)
|
90
90
|
representable (~> 3.0)
|
91
91
|
retriable (>= 2.0, < 4.0)
|
92
|
-
googleauth (0.6.
|
92
|
+
googleauth (0.6.5)
|
93
93
|
faraday (~> 0.12)
|
94
94
|
jwt (>= 1.4, < 3.0)
|
95
|
-
logging (~> 2.0)
|
96
95
|
memoist (~> 0.12)
|
97
96
|
multi_json (~> 1.11)
|
98
|
-
os (
|
97
|
+
os (>= 0.9, < 2.0)
|
99
98
|
signet (~> 0.7)
|
100
99
|
highline (1.7.10)
|
101
100
|
http-cookie (1.0.3)
|
102
101
|
domain_name (~> 0.5)
|
103
102
|
httpclient (2.8.3)
|
103
|
+
jaro_winkler (1.5.1)
|
104
104
|
json (2.1.0)
|
105
105
|
jwt (2.1.0)
|
106
|
-
little-plugger (1.1.4)
|
107
|
-
logging (2.2.2)
|
108
|
-
little-plugger (~> 1.1)
|
109
|
-
multi_json (~> 1.10)
|
110
106
|
memoist (0.16.0)
|
111
107
|
method_source (0.9.0)
|
112
|
-
mime-types (3.
|
108
|
+
mime-types (3.2.2)
|
113
109
|
mime-types-data (~> 3.2015)
|
114
|
-
mime-types-data (3.
|
110
|
+
mime-types-data (3.2018.0812)
|
115
111
|
mini_magick (4.5.1)
|
116
112
|
multi_json (1.13.1)
|
117
113
|
multi_xml (0.6.0)
|
118
114
|
multipart-post (2.0.0)
|
119
|
-
nanaimo (0.2.
|
120
|
-
naturally (2.
|
115
|
+
nanaimo (0.2.6)
|
116
|
+
naturally (2.2.0)
|
121
117
|
net-sftp (2.1.2)
|
122
118
|
net-ssh (>= 2.6.5)
|
123
119
|
net-ssh (4.2.0)
|
124
|
-
os (0.
|
120
|
+
os (1.0.0)
|
125
121
|
parallel (1.12.1)
|
126
|
-
parser (2.5.1.
|
122
|
+
parser (2.5.1.2)
|
127
123
|
ast (~> 2.4.0)
|
128
124
|
plist (3.4.0)
|
129
|
-
powerpack (0.1.
|
125
|
+
powerpack (0.1.2)
|
130
126
|
pry (0.11.3)
|
131
127
|
coderay (~> 1.1.0)
|
132
128
|
method_source (~> 0.9.0)
|
@@ -137,44 +133,45 @@ GEM
|
|
137
133
|
declarative (< 0.1.0)
|
138
134
|
declarative-option (< 0.2.0)
|
139
135
|
uber (< 0.2.0)
|
140
|
-
retriable (3.1.
|
136
|
+
retriable (3.1.2)
|
141
137
|
rouge (2.0.7)
|
142
|
-
rspec (3.
|
143
|
-
rspec-core (~> 3.
|
144
|
-
rspec-expectations (~> 3.
|
145
|
-
rspec-mocks (~> 3.
|
146
|
-
rspec-core (3.
|
147
|
-
rspec-support (~> 3.
|
148
|
-
rspec-expectations (3.
|
138
|
+
rspec (3.8.0)
|
139
|
+
rspec-core (~> 3.8.0)
|
140
|
+
rspec-expectations (~> 3.8.0)
|
141
|
+
rspec-mocks (~> 3.8.0)
|
142
|
+
rspec-core (3.8.0)
|
143
|
+
rspec-support (~> 3.8.0)
|
144
|
+
rspec-expectations (3.8.1)
|
149
145
|
diff-lcs (>= 1.2.0, < 2.0)
|
150
|
-
rspec-support (~> 3.
|
151
|
-
rspec-mocks (3.
|
146
|
+
rspec-support (~> 3.8.0)
|
147
|
+
rspec-mocks (3.8.0)
|
152
148
|
diff-lcs (>= 1.2.0, < 2.0)
|
153
|
-
rspec-support (~> 3.
|
154
|
-
rspec-support (3.
|
149
|
+
rspec-support (~> 3.8.0)
|
150
|
+
rspec-support (3.8.0)
|
155
151
|
rspec_junit_formatter (0.2.3)
|
156
152
|
builder (< 4)
|
157
153
|
rspec-core (>= 2, < 4, != 2.12.0)
|
158
|
-
rubocop (0.
|
154
|
+
rubocop (0.58.2)
|
155
|
+
jaro_winkler (~> 1.5.1)
|
159
156
|
parallel (~> 1.10)
|
160
|
-
parser (>= 2.5)
|
157
|
+
parser (>= 2.5, != 2.5.1.1)
|
161
158
|
powerpack (~> 0.1)
|
162
159
|
rainbow (>= 2.2.2, < 4.0)
|
163
160
|
ruby-progressbar (~> 1.7)
|
164
161
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
165
|
-
ruby-progressbar (1.
|
162
|
+
ruby-progressbar (1.10.0)
|
166
163
|
rubyzip (1.2.1)
|
167
164
|
security (0.1.3)
|
168
|
-
signet (0.
|
165
|
+
signet (0.9.0)
|
169
166
|
addressable (~> 2.3)
|
170
167
|
faraday (~> 0.9)
|
171
168
|
jwt (>= 1.5, < 3.0)
|
172
169
|
multi_json (~> 1.10)
|
173
|
-
simctl (1.6.
|
170
|
+
simctl (1.6.5)
|
174
171
|
CFPropertyList
|
175
172
|
naturally
|
176
|
-
simplecov (0.
|
177
|
-
docile (~> 1.1
|
173
|
+
simplecov (0.16.1)
|
174
|
+
docile (~> 1.1)
|
178
175
|
json (>= 1.8, < 3)
|
179
176
|
simplecov-html (~> 0.10.0)
|
180
177
|
simplecov-html (0.10.2)
|
@@ -186,22 +183,22 @@ GEM
|
|
186
183
|
unicode-display_width (~> 1.1, >= 1.1.1)
|
187
184
|
thor (0.19.4)
|
188
185
|
tins (1.16.3)
|
189
|
-
tty-cursor (0.
|
190
|
-
tty-screen (0.6.
|
186
|
+
tty-cursor (0.6.0)
|
187
|
+
tty-screen (0.6.5)
|
191
188
|
tty-spinner (0.8.0)
|
192
189
|
tty-cursor (>= 0.5.0)
|
193
190
|
uber (0.1.0)
|
194
191
|
unf (0.1.4)
|
195
192
|
unf_ext
|
196
193
|
unf_ext (0.0.7.5)
|
197
|
-
unicode-display_width (1.
|
194
|
+
unicode-display_width (1.4.0)
|
198
195
|
word_wrap (1.0.0)
|
199
|
-
xcodeproj (1.
|
196
|
+
xcodeproj (1.6.0)
|
200
197
|
CFPropertyList (>= 2.3.3, < 4.0)
|
201
|
-
atomos (~> 0.1.
|
198
|
+
atomos (~> 0.1.3)
|
202
199
|
claide (>= 1.0.2, < 2.0)
|
203
200
|
colored2 (~> 3.1)
|
204
|
-
nanaimo (~> 0.2.
|
201
|
+
nanaimo (~> 0.2.6)
|
205
202
|
xcpretty (0.2.8)
|
206
203
|
rouge (~> 2.0.7)
|
207
204
|
xcpretty-travis-formatter (1.0.0)
|
@@ -222,4 +219,4 @@ DEPENDENCIES
|
|
222
219
|
rubocop (~> 0, >= 0.48.1)
|
223
220
|
|
224
221
|
BUNDLED WITH
|
225
|
-
1.16.
|
222
|
+
1.16.4
|
data/assets/RepofileDefault
CHANGED
@@ -20,12 +20,13 @@ repo_title "[[APP_NAME]]"
|
|
20
20
|
# You can use your '~/.ssh/config' file to setup RSA keys to Apprepo, or use following options:
|
21
21
|
|
22
22
|
repo_url "repo.teacloud.net"
|
23
|
+
repo_port "22"
|
23
24
|
repo_user "circle"
|
24
25
|
repo_key "./lib/assets/circle.pub"
|
25
26
|
|
26
|
-
# notify true # Add this to automatically notify the Apprepo users after uploading metadata/binary.
|
27
|
+
# notify true # Add this to automatically notify the Apprepo users after uploading metadata/binary.
|
27
28
|
|
28
|
-
# manifest_path "./manifest.json" # Path to the manifest.json you want to use.
|
29
|
+
# manifest_path "./manifest.json" # Path to the manifest.json you want to use.
|
29
30
|
|
30
31
|
# repo_summary "Some application"
|
31
32
|
|
data/build-gem.sh
CHANGED
File without changes
|
@@ -0,0 +1,90 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
# Script to generate a CircleCI 2.0 `.circleci/config.yml` file
|
4
|
+
# Please see the README for more details
|
5
|
+
|
6
|
+
echo -e "Gathering info please wait..."
|
7
|
+
|
8
|
+
# Get and set variables
|
9
|
+
circle_dir="./.circleci"
|
10
|
+
conf_file="./.circleci/config.yml"
|
11
|
+
vcs_provider="$(git remote get-url --push origin | perl -ne 'print $1 if /([A-Za-z]*)\.(com|org)/')"
|
12
|
+
project="$(git remote get-url --push origin | perl -ne 'print $1 if /([^\/:]*\/[^\/]*?)(.git)?$/')"
|
13
|
+
test_branch="circleci-20-test"
|
14
|
+
remote_test_branch="$(git ls-remote git@"$vcs_provider".com:"${project}".git "$test_branch")"
|
15
|
+
local_test_branch="$(git branch -a | grep "$test_branch")"
|
16
|
+
|
17
|
+
|
18
|
+
echo "git origin references \`${project}\` hosted by ${vcs_provider}, which will be used as source."
|
19
|
+
|
20
|
+
|
21
|
+
# Check if this is a GitHub or Bitbucket repo
|
22
|
+
if [ "$vcs_provider" != "github" ] && [ "$vcs_provider" != "bitbucket" ] ; then
|
23
|
+
echo -e "CircleCI currently supports bitbucket and github only"
|
24
|
+
exit
|
25
|
+
fi
|
26
|
+
|
27
|
+
# Set vcs_short variable
|
28
|
+
if [ "$vcs_provider" = "github" ]
|
29
|
+
then
|
30
|
+
vcs_short="gh"
|
31
|
+
fi
|
32
|
+
|
33
|
+
if [ "$vcs_provider" = "bitbucket" ]
|
34
|
+
then
|
35
|
+
vcs_short="bb"
|
36
|
+
fi
|
37
|
+
|
38
|
+
# Check if test branch exists on remote
|
39
|
+
if [ -n "$remote_test_branch" ]
|
40
|
+
then
|
41
|
+
echo -e "${test_branch} branch already exists on remote - please delete it before continuing."
|
42
|
+
exit
|
43
|
+
fi
|
44
|
+
|
45
|
+
# Check if branch exists locally and create it if not
|
46
|
+
if [ -z "$local_test_branch" ]
|
47
|
+
then
|
48
|
+
git checkout -b ${test_branch} && echo -e "Created ${test_branch} branch and switched to it."
|
49
|
+
else
|
50
|
+
echo -e "${test_branch} branch already exists locally - please delete it before continuing."
|
51
|
+
exit
|
52
|
+
fi
|
53
|
+
|
54
|
+
# Create .cirleci directory if it doesn't exist
|
55
|
+
if [ ! -d "$circle_dir" ]
|
56
|
+
then
|
57
|
+
mkdir "$circle_dir"
|
58
|
+
fi
|
59
|
+
|
60
|
+
# Create config.yml if it doesn't exist
|
61
|
+
if [ ! -d "$conf_file" ]
|
62
|
+
then
|
63
|
+
touch "$conf_file"
|
64
|
+
else
|
65
|
+
echo -e ".circleci/config.yml already exists. Please delete it before running this script again."
|
66
|
+
exit
|
67
|
+
fi
|
68
|
+
|
69
|
+
|
70
|
+
# Read in API token
|
71
|
+
read -rp 'Paste your CircleCI API token here: ' circle_token
|
72
|
+
|
73
|
+
# Generate config file from translation endpoint
|
74
|
+
echo -e "Generating config file via CircleCI API"
|
75
|
+
curl -X GET https://circleci.com/api/v1.1/project/"${vcs_provider}"/"${project}"/config-translation?circle-token="$circle_token"\&branch=${test_branch} > $conf_file
|
76
|
+
echo -e "Config file written to .circleci/config.yml"
|
77
|
+
|
78
|
+
read -rp 'Would you like to commit this change and push the test branch to try the build on CircleCI? (y/n): ' choice
|
79
|
+
|
80
|
+
if [ "$choice" = "y" ]
|
81
|
+
then
|
82
|
+
git add "$conf_file"
|
83
|
+
git commit -m "Adding auto-generated CircleCI 2.0 config file"
|
84
|
+
git push origin ${test_branch}
|
85
|
+
echo -e "Go to https://circleci.com/$vcs_short/$project to see the new build."
|
86
|
+
echo -e "If it passes - congratulations, you're good to go. If it's red, please see the README for next steps."
|
87
|
+
else
|
88
|
+
echo -e "You can manually trigger a build on CircleCI by committing and pushing this branch to the remote."
|
89
|
+
exit
|
90
|
+
fi
|
data/fastlane/Repofile
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
|
8
8
|
app_identifier "com.apprepo.test" # your app's bundle identifier
|
9
9
|
ipa "./sampleapp.ipa" # can be overriden with --ipa
|
10
|
-
manifest_path "./manifest.json" # Path to the manifest.json you want to use.
|
10
|
+
manifest_path "./manifest.json" # Path to the manifest.json you want to use.
|
11
11
|
|
12
12
|
#
|
13
13
|
# Authentication
|
@@ -17,11 +17,12 @@ manifest_path "./manifest.json" # Path to the manifest.json you want to use.
|
|
17
17
|
|
18
18
|
|
19
19
|
repo_url "207.154.207.81"
|
20
|
+
repo_port "22"
|
20
21
|
repo_user "circle"
|
21
22
|
repo_key "assets/circle.key"
|
22
23
|
# repo_key "/Users/sychram/.ssh/circle.key" # should have 'chmod 600'
|
23
24
|
|
24
|
-
notify true # Add this to automatically notify the AppRepo users after uploading metadata/binary.
|
25
|
+
notify true # Add this to automatically notify the AppRepo users after uploading metadata/binary.
|
25
26
|
|
26
27
|
# Optionals
|
27
28
|
|
@@ -30,4 +31,4 @@ app_icon "./assets/apprepo.png"
|
|
30
31
|
appcode "APPREPO"
|
31
32
|
repo_title "TestApp"
|
32
33
|
repo_description "Some description is required for AppRepo users to know, that is this app."
|
33
|
-
repo_summary "Experimental Fastlane Extension"
|
34
|
+
repo_summary "Experimental Fastlane Extension"
|
@@ -32,17 +32,22 @@ module Fastlane
|
|
32
32
|
short_option: '-r',
|
33
33
|
optional: false,
|
34
34
|
env_name: 'APPREPO_URL',
|
35
|
-
description: 'URL of your
|
35
|
+
description: 'URL of your server'),
|
36
|
+
FastlaneCore::ConfigItem.new(key: :repo_port,
|
37
|
+
short_option: '-P',
|
38
|
+
optional: false,
|
39
|
+
env_name: 'APPREPO_PORT',
|
40
|
+
description: 'SSH port of your server'),
|
36
41
|
FastlaneCore::ConfigItem.new(key: :repo_user,
|
37
42
|
short_option: '-u',
|
38
43
|
optional: false,
|
39
44
|
env_name: 'APPREPO_USER',
|
40
|
-
description: 'USER of your
|
45
|
+
description: 'USER of your server'),
|
41
46
|
FastlaneCore::ConfigItem.new(key: :repo_password,
|
42
47
|
short_option: '-p',
|
43
48
|
optional: true,
|
44
49
|
env_name: 'APPREPO_PASSWORD',
|
45
|
-
description: 'PASSWORD for your
|
50
|
+
description: 'PASSWORD for your server (not for production)',
|
46
51
|
conflicting_options: [:repo_key],
|
47
52
|
conflict_block: proc do |value|
|
48
53
|
UI.user_error!("You can't use 'password' and '#{value.key}' options in one run.")
|
@@ -23,6 +23,7 @@ module Fastlane
|
|
23
23
|
|
24
24
|
attr_accessor :host
|
25
25
|
attr_accessor :user
|
26
|
+
attr_accessor :port
|
26
27
|
attr_accessor :password
|
27
28
|
attr_accessor :rsa_keypath
|
28
29
|
attr_accessor :ipa_path
|
@@ -34,6 +35,7 @@ module Fastlane
|
|
34
35
|
def initialize(options)
|
35
36
|
self.options = options unless options.nil?
|
36
37
|
self.host = options[:repo_url] # 'repo.teacloud.net'
|
38
|
+
self.port = options[:repo_port]
|
37
39
|
self.user = options[:repo_user]
|
38
40
|
self.password = options[:repo_password]
|
39
41
|
self.rsa_keypath = options[:repo_key] # '../assets/circle.key'
|
@@ -72,13 +74,13 @@ module Fastlane
|
|
72
74
|
success = false
|
73
75
|
if !rsa_key.nil?
|
74
76
|
FastlaneCore::UI.message('Logging in with RSA key...')
|
75
|
-
Net::SSH.start(host, user, key_data: rsa_key, keys_only: true) do |ssh|
|
77
|
+
Net::SSH.start(host, user, port: port, key_data: rsa_key, keys_only: true) do |ssh|
|
76
78
|
FastlaneCore::UI.message('Uploading IPA & Manifest...')
|
77
79
|
success = ssh_sftp_upload(ssh, ipa_path, manifest_path)
|
78
80
|
end
|
79
81
|
else
|
80
82
|
FastlaneCore::UI.message('Logging in with username/password...')
|
81
|
-
Net::SSH.start(host, user, password: password) do |ssh|
|
83
|
+
Net::SSH.start(host, user, port: port, password: password) do |ssh|
|
82
84
|
FastlaneCore::UI.message('Uploading IPA & Manifest...')
|
83
85
|
success = ssh_sftp_upload(ssh, ipa_path, manifest_path)
|
84
86
|
end
|
@@ -98,13 +100,13 @@ module Fastlane
|
|
98
100
|
success = true
|
99
101
|
if !rsa_key.nil?
|
100
102
|
FastlaneCore::UI.message('Logging in with RSA key for download...')
|
101
|
-
Net::SSH.start(host, user, key_data: rsa_key, keys_only: true) do |ssh|
|
103
|
+
Net::SSH.start(host, user, port: port, key_data: rsa_key, keys_only: true) do |ssh|
|
102
104
|
FastlaneCore::UI.message('Uploading UPA & Manifest...')
|
103
105
|
success = ssh_sftp_download(ssh, manifest_path)
|
104
106
|
end
|
105
107
|
else
|
106
108
|
FastlaneCore::UI.message('Logging in for download...')
|
107
|
-
Net::SSH.start(host, user, password: password) do |ssh|
|
109
|
+
Net::SSH.start(host, user, port: port, password: password) do |ssh|
|
108
110
|
FastlaneCore::UI.message('Uploading UPA & Manifest...')
|
109
111
|
success = ssh_sftp_download(ssh, manifest_path)
|
110
112
|
end
|
@@ -22,6 +22,7 @@ module Fastlane
|
|
22
22
|
#
|
23
23
|
|
24
24
|
attr_accessor :host
|
25
|
+
attr_accessor :port
|
25
26
|
attr_accessor :user
|
26
27
|
attr_accessor :password
|
27
28
|
attr_accessor :rsa_keypath
|
@@ -33,7 +34,8 @@ module Fastlane
|
|
33
34
|
# rubocop:disable Metrics/MethodLength
|
34
35
|
def initialize(options)
|
35
36
|
self.options = options unless options.nil?
|
36
|
-
self.host = options[:repo_url]
|
37
|
+
self.host = options[:repo_url]
|
38
|
+
self.port = options[:repo_port]
|
37
39
|
self.user = options[:repo_user]
|
38
40
|
self.password = options[:repo_password]
|
39
41
|
self.rsa_keypath = options[:repo_key] # '../assets/circle.key'
|
@@ -58,7 +60,7 @@ module Fastlane
|
|
58
60
|
FastlaneCore::UI.message('upload...')
|
59
61
|
|
60
62
|
if host.nil? || user.nil?
|
61
|
-
FastlaneCore::UI.user_error('repo_url, repo_user and
|
63
|
+
FastlaneCore::UI.user_error('repo_url, repo_port, repo_user and repo_password or repo_key must be set on upload')
|
62
64
|
return false
|
63
65
|
end
|
64
66
|
|
@@ -72,13 +74,13 @@ module Fastlane
|
|
72
74
|
success = false
|
73
75
|
if !rsa_key.nil?
|
74
76
|
FastlaneCore::UI.message('Logging in with RSA key...')
|
75
|
-
Net::SSH.start(host, user, key_data: rsa_key, keys_only: true) do |ssh|
|
77
|
+
Net::SSH.start(host, user, port: port, key_data: rsa_key, keys_only: true) do |ssh|
|
76
78
|
FastlaneCore::UI.message('Uploading IPA & Manifest...')
|
77
79
|
success = ssh_sftp_upload(ssh, ipa_path, manifest_path)
|
78
80
|
end
|
79
81
|
else
|
80
82
|
FastlaneCore::UI.message('Logging in with username/password...')
|
81
|
-
Net::SSH.start(host, user, password: password) do |ssh|
|
83
|
+
Net::SSH.start(host, user, port: port, password: password) do |ssh|
|
82
84
|
FastlaneCore::UI.message('Uploading IPA & Manifest...')
|
83
85
|
success = ssh_sftp_upload(ssh, ipa_path, manifest_path)
|
84
86
|
end
|
@@ -98,13 +100,13 @@ module Fastlane
|
|
98
100
|
success = true
|
99
101
|
if !rsa_key.nil?
|
100
102
|
FastlaneCore::UI.message('Logging in with RSA key for download...')
|
101
|
-
Net::SSH.start(host, user, key_data: rsa_key, keys_only: true) do |ssh|
|
103
|
+
Net::SSH.start(host, user, port: port, key_data: rsa_key, keys_only: true) do |ssh|
|
102
104
|
FastlaneCore::UI.message('Uploading UPA & Manifest...')
|
103
105
|
success = ssh_sftp_download(ssh, manifest_path)
|
104
106
|
end
|
105
107
|
else
|
106
108
|
FastlaneCore::UI.message('Logging in for download...')
|
107
|
-
Net::SSH.start(host, user, password: password) do |ssh|
|
109
|
+
Net::SSH.start(host, user, port: port, password: password) do |ssh|
|
108
110
|
FastlaneCore::UI.message('Uploading UPA & Manifest...')
|
109
111
|
success = ssh_sftp_download(ssh, manifest_path)
|
110
112
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Fastlane
|
2
2
|
# Static configuration values
|
3
3
|
module Apprepo
|
4
|
-
VERSION = "0.
|
4
|
+
VERSION = "0.5.0".freeze
|
5
5
|
SUMMARY = 'Fastlane plugin for distributing artifacts with SFTP upload'.freeze
|
6
6
|
DESCRIPTION = 'Fastlane plugin SFTP/AppRepo uploader'.freeze
|
7
7
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-apprepo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matej Sychra
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-08-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-ssh
|
@@ -197,6 +197,7 @@ executables: []
|
|
197
197
|
extensions: []
|
198
198
|
extra_rdoc_files: []
|
199
199
|
files:
|
200
|
+
- ".circleci/config.yml"
|
200
201
|
- ".coveralls.yml"
|
201
202
|
- ".gitignore"
|
202
203
|
- ".rspec"
|
@@ -211,7 +212,7 @@ files:
|
|
211
212
|
- assets/fastlane.png
|
212
213
|
- assets/manifest.png
|
213
214
|
- build-gem.sh
|
214
|
-
-
|
215
|
+
- cci-config-generator.sh
|
215
216
|
- coverage/.last_run.json
|
216
217
|
- coverage/.resultset.json
|
217
218
|
- coverage/.resultset.json.lock
|
data/circle.yml
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
machine:
|
2
|
-
ruby:
|
3
|
-
version: 2.2.5
|
4
|
-
|
5
|
-
dependencies:
|
6
|
-
pre:
|
7
|
-
- gem install bundler
|
8
|
-
- gem install fastlane
|
9
|
-
- bundle update
|
10
|
-
|
11
|
-
override:
|
12
|
-
- bundle install: # note ':' here
|
13
|
-
timeout: 180 # fail if command has no output for 3 minutes
|
14
|
-
|
15
|
-
test:
|
16
|
-
override:
|
17
|
-
- nslookup repo.teacloud.net
|
18
|
-
- fastlane add_plugin apprepo
|
19
|
-
- fastlane apprepo run
|
20
|
-
- fastlane apprepo download_manifest
|
21
|
-
- fastlane apprepo submit
|
22
|
-
- COVERALLS_REPO_TOKEN=dQDxuq9CdMJY5IWYmcFf8BdiHaUPFwZxQ RAILS_ENV=test bundle exec rspec
|
23
|
-
- curl -X POST --data-urlencode 'payload={"text":"CirleCI Integration Completed."}' https://hooks.slack.com/services/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
|
24
|
-
|
25
|
-
post:
|
26
|
-
- curl -sSL https://download.sourceclear.com/ci.sh | sh
|
27
|
-
# - curl -X POST --data-urlencode 'payload={"text":"Hello, World B!"}' https://hooks.slack.com/services/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
|
28
|
-
|
29
|
-
## Custom notifications
|
30
|
-
# notify:
|
31
|
-
#
|
32
|
-
# webhooks:
|
33
|
-
# - url: https://hooks.slack.com/services/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?payload={"text":"Hello, World!"}
|
34
|
-
# - curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World C!"}' https://hooks.slack.com/services/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
|