pilot 0.2.3 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +14 -0
- data/lib/pilot/build_manager.rb +27 -26
- data/lib/pilot/options.rb +5 -0
- data/lib/pilot/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2efe38c09c39325f3cb29ad7bff24eabcf2730ff
|
4
|
+
data.tar.gz: 214a5e55d77bd2f319b45196f87742078f52b167
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b454c8620476fb558cf17e461662c70dfbd077c14e751a3555d7a8e14bf0f28eb112d3036313e16f215c599e392d48f7abb432f2188bebab4739d0386394591
|
7
|
+
data.tar.gz: 9bb3d5c32af40d7c39082fd898f35141f87d7830032cac3591fabf3391ea7300005b7bbad1605d4c6c4c552250dbb156cb5d4d341a58f83d940681930257c570
|
data/README.md
CHANGED
@@ -82,6 +82,12 @@ You'll be asked for any missing information. Additionally, you can pass all kind
|
|
82
82
|
pilot --help
|
83
83
|
```
|
84
84
|
|
85
|
+
You can pass a changelog using
|
86
|
+
|
87
|
+
```
|
88
|
+
pilot upload --changelog "Something that is new here"
|
89
|
+
```
|
90
|
+
|
85
91
|
You can also skip the submission of the binary, which means, the `ipa` file will only be uploaded and not distributed to testers:
|
86
92
|
|
87
93
|
```
|
@@ -241,6 +247,14 @@ If you run into any issues you can use the `verbose` mode to get a more detailed
|
|
241
247
|
|
242
248
|
pilot --verbose
|
243
249
|
|
250
|
+
## Firewall Issues
|
251
|
+
|
252
|
+
`pilot` uses the iTunes Transporter to upload metadata and binaries. In case you are behind a firewall, you can specify a different transporter protocol using
|
253
|
+
|
254
|
+
```
|
255
|
+
DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS="-t DAV" pilot ...
|
256
|
+
```
|
257
|
+
|
244
258
|
## How is my password stored?
|
245
259
|
|
246
260
|
`pilot` uses the [CredentialsManager](https://github.com/fastlane/CredentialsManager) from `fastlane`.
|
data/lib/pilot/build_manager.rb
CHANGED
@@ -18,8 +18,8 @@ module Pilot
|
|
18
18
|
Helper.log.info "Successfully uploaded the new binary to iTunes Connect"
|
19
19
|
|
20
20
|
unless config[:skip_submission]
|
21
|
-
|
22
|
-
distribute_build(
|
21
|
+
uploaded_build = wait_for_processing_build
|
22
|
+
distribute_build(uploaded_build, options)
|
23
23
|
|
24
24
|
Helper.log.info "Successfully distribute build to beta testers 🚀"
|
25
25
|
end
|
@@ -59,49 +59,50 @@ module Pilot
|
|
59
59
|
end
|
60
60
|
|
61
61
|
# This method will takes care of checking for the processing builds every few seconds
|
62
|
-
# @return [
|
62
|
+
# @return [Build] The build that we just uploaded
|
63
63
|
def wait_for_processing_build
|
64
64
|
# the upload date of the new buid
|
65
65
|
# we use it to identify the build
|
66
|
-
|
66
|
+
|
67
|
+
latest_build = nil
|
67
68
|
loop do
|
68
69
|
Helper.log.info "Waiting for iTunes Connect to process the new build"
|
69
70
|
sleep 30
|
70
71
|
builds = app.all_processing_builds
|
71
72
|
break if builds.count == 0
|
72
|
-
|
73
|
+
latest_build = builds.last # store the latest pre-processing build here
|
74
|
+
end
|
75
|
+
|
76
|
+
full_build = nil
|
77
|
+
|
78
|
+
while full_build.nil? || full_build.processing
|
79
|
+
# Now get the full builds with a reference to the application and more
|
80
|
+
# As the processing build from before doesn't have a refernece to the application
|
81
|
+
full_build = app.build_trains[latest_build.train_version].builds.find do |b|
|
82
|
+
b.build_version == latest_build.build_version
|
83
|
+
end
|
84
|
+
|
85
|
+
Helper.log.info "Waiting for iTunes Connect to finish processing the new build (#{full_build.train_version} - #{full_build.build_version})"
|
86
|
+
sleep 5
|
73
87
|
end
|
74
88
|
|
75
|
-
if
|
89
|
+
if full_build
|
76
90
|
Helper.log.info "Build successfully processed by iTunes Connect".green
|
77
|
-
return
|
91
|
+
return full_build
|
78
92
|
else
|
79
93
|
raise "Error: Seems like iTunes Connect didn't properly pre-process the binary".red
|
80
94
|
end
|
81
95
|
end
|
82
96
|
|
83
|
-
def distribute_build(
|
97
|
+
def distribute_build(uploaded_build, options)
|
84
98
|
Helper.log.info "Distributing new build to testers"
|
85
99
|
|
86
|
-
#
|
87
|
-
|
88
|
-
100.times do
|
89
|
-
current_build = app.builds.find do |build|
|
90
|
-
build.upload_date == upload_date
|
91
|
-
end
|
92
|
-
|
93
|
-
if current_build
|
94
|
-
current_build.build_train.update_testing_status!(true, 'external')
|
95
|
-
return true
|
96
|
-
else
|
97
|
-
Helper.log.info "Binary is not yet available online..."
|
98
|
-
sleep 30
|
99
|
-
end
|
100
|
-
end
|
100
|
+
# First, set the changelog (if necessary)
|
101
|
+
uploaded_build.update_build_information!(whats_new: options[:changelog])
|
101
102
|
|
102
|
-
|
103
|
-
|
104
|
-
|
103
|
+
# Submit for internal beta testing
|
104
|
+
uploaded_build.build_train.update_testing_status!(true, 'external')
|
105
|
+
return true
|
105
106
|
end
|
106
107
|
end
|
107
108
|
end
|
data/lib/pilot/options.rb
CHANGED
@@ -20,6 +20,11 @@ module Pilot
|
|
20
20
|
raise "Could not find ipa file at path '#{value}'" unless File.exist? value
|
21
21
|
raise "'#{value}' doesn't seem to be an ipa file" unless value.end_with? ".ipa"
|
22
22
|
end),
|
23
|
+
FastlaneCore::ConfigItem.new(key: :changelog,
|
24
|
+
short_option: "-w",
|
25
|
+
optional: true,
|
26
|
+
env_name: "PILOT_CHANGELOG",
|
27
|
+
description: "Provide the what's new text when uploading a new build"),
|
23
28
|
FastlaneCore::ConfigItem.new(key: :skip_submission,
|
24
29
|
short_option: "-s",
|
25
30
|
env_name: "PILOT_SKIP_SUBMISSION",
|
data/lib/pilot/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pilot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fastlane_core
|
@@ -36,7 +36,7 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 0.
|
39
|
+
version: 0.12.0
|
40
40
|
- - "<"
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: 1.0.0
|
@@ -46,7 +46,7 @@ dependencies:
|
|
46
46
|
requirements:
|
47
47
|
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 0.
|
49
|
+
version: 0.12.0
|
50
50
|
- - "<"
|
51
51
|
- !ruby/object:Gem::Version
|
52
52
|
version: 1.0.0
|