fastlane-plugin-paper_tools_builds 0.2.0 → 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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9bf5e0f0808b2892b64ef89058aae10e528d2f1354ab657f395e5d9bd386c90a
|
|
4
|
+
data.tar.gz: bf0ff556454cbc93257cb33d40b85c8f0f4a09ab0f2dd7483b45b1860db78d8f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c065acc5befcbc8fd5352bd7dc2965e3c5044c06ca20d58e45d5c1441f514012d2770fa837aab06bb96cd1621041c9ade83b99b78f052037fd6bb8c9560b5b16
|
|
7
|
+
data.tar.gz: 5c2f833fc0d5a7c84c0dcb22c296fd60b5f475458f53edb44e549751e2222416bd5978ac942ddc4bf3efb8e53784c6298bf2afc40035efc13e4b605a9984a747
|
data/README.md
CHANGED
|
@@ -29,11 +29,11 @@ lane :distribute do
|
|
|
29
29
|
|
|
30
30
|
build_id = paper_tools_builds_upload(
|
|
31
31
|
file: lane_context[SharedValues::IPA_OUTPUT_PATH],
|
|
32
|
-
channel: "qa",
|
|
33
32
|
org: "your-org-id",
|
|
34
33
|
app: "your-app-id",
|
|
35
34
|
token: ENV["BUILDS_TOKEN"],
|
|
36
|
-
to: "
|
|
35
|
+
to: "cto@acme.com",
|
|
36
|
+
lists: "qa",
|
|
37
37
|
version: get_version_number,
|
|
38
38
|
build_number: get_build_number
|
|
39
39
|
)
|
|
@@ -47,22 +47,28 @@ from the environment for you. The token still never belongs in a Fastfile, so
|
|
|
47
47
|
read it from a CI secret as above. The build id the action returns is also on
|
|
48
48
|
`lane_context[SharedValues::PAPER_TOOLS_BUILDS_BUILD_ID]`.
|
|
49
49
|
|
|
50
|
+
Distribution is per-build. `to` names recipient emails and `lists` names
|
|
51
|
+
distribution lists; a build with neither is uploaded but not handed to anyone.
|
|
52
|
+
There are no channels — an upload that used `channel:` now sets `to:` or `lists:`
|
|
53
|
+
instead.
|
|
54
|
+
|
|
50
55
|
## Options
|
|
51
56
|
|
|
52
57
|
| Option | Description |
|
|
53
58
|
| --------------- | ---------------------------------------------- |
|
|
54
59
|
| `file` | Path to the `.ipa`, `.apk`, or `.aab`. Required. |
|
|
55
|
-
| `channel` | The channel to land on. Required. |
|
|
56
60
|
| `token` | A `builds:write` token. Required. |
|
|
57
|
-
| `to` | Comma-separated
|
|
61
|
+
| `to` | Comma-separated recipient emails to distribute to. |
|
|
62
|
+
| `lists` | Comma-separated distribution list names to distribute to. |
|
|
58
63
|
| `org` | The organisation id. Required. |
|
|
59
64
|
| `app` | The app id. Required. |
|
|
60
65
|
| `version` | The marketing version. |
|
|
61
66
|
| `build_number` | The build number. |
|
|
62
67
|
| `release_notes` | Release notes. |
|
|
63
68
|
| `tags` | Comma-separated tags. |
|
|
69
|
+
| `expires_in` | Seconds until the distribution expires. |
|
|
64
70
|
| `format` | Force the format when the extension is unclear. |
|
|
65
|
-
| `notify` | Notify recipients.
|
|
71
|
+
| `notify` | Notify recipients of the distribution. |
|
|
66
72
|
| `concurrency` | Parallel part uploads. |
|
|
67
73
|
| `binary` | Path to the `builds` binary. Defaults to `builds`. |
|
|
68
74
|
|
|
@@ -15,12 +15,14 @@ module Fastlane
|
|
|
15
15
|
# without reimplementing any of it.
|
|
16
16
|
class PaperToolsBuildsUploadAction < Action
|
|
17
17
|
def self.run(params)
|
|
18
|
-
command = [params[:binary], 'upload', params[:file], '--
|
|
18
|
+
command = [params[:binary], 'upload', params[:file], '--json']
|
|
19
19
|
command += ['--to', params[:to]] unless params[:to].nil?
|
|
20
|
+
command += ['--lists', params[:lists]] unless params[:lists].nil?
|
|
20
21
|
command += ['--version', params[:version]] unless params[:version].nil?
|
|
21
22
|
command += ['--build-number', params[:build_number].to_s] unless params[:build_number].nil?
|
|
22
23
|
command += ['--release-notes', params[:release_notes]] unless params[:release_notes].nil?
|
|
23
24
|
command += ['--tags', params[:tags]] unless params[:tags].nil?
|
|
25
|
+
command += ['--expires-in', params[:expires_in].to_s] unless params[:expires_in].nil?
|
|
24
26
|
command += ['--format', params[:format]] unless params[:format].nil?
|
|
25
27
|
command += ['--concurrency', params[:concurrency].to_s] unless params[:concurrency].nil?
|
|
26
28
|
command += ['--org', params[:org], '--app', params[:app]]
|
|
@@ -30,7 +32,7 @@ module Fastlane
|
|
|
30
32
|
# plugin reads from the environment behind the caller's back.
|
|
31
33
|
command += ['--token', params[:token]]
|
|
32
34
|
|
|
33
|
-
UI.message("Uploading #{params[:file]}
|
|
35
|
+
UI.message("Uploading #{params[:file]}…")
|
|
34
36
|
stdout, stderr, status = Open3.capture3(*command)
|
|
35
37
|
|
|
36
38
|
unless status.success?
|
|
@@ -81,13 +83,14 @@ module Fastlane
|
|
|
81
83
|
verify_block: proc do |value|
|
|
82
84
|
UI.user_error!("No file at #{value}") unless File.exist?(value)
|
|
83
85
|
end),
|
|
84
|
-
FastlaneCore::ConfigItem.new(key: :channel,
|
|
85
|
-
description: 'The channel to land on'),
|
|
86
86
|
FastlaneCore::ConfigItem.new(key: :token,
|
|
87
87
|
description: 'A builds:write API token',
|
|
88
88
|
sensitive: true),
|
|
89
89
|
FastlaneCore::ConfigItem.new(key: :to,
|
|
90
|
-
description: 'Comma-separated
|
|
90
|
+
description: 'Comma-separated recipient emails to distribute to',
|
|
91
|
+
optional: true),
|
|
92
|
+
FastlaneCore::ConfigItem.new(key: :lists,
|
|
93
|
+
description: 'Comma-separated distribution list names to distribute to',
|
|
91
94
|
optional: true),
|
|
92
95
|
FastlaneCore::ConfigItem.new(key: :org,
|
|
93
96
|
description: 'The organisation id'),
|
|
@@ -108,8 +111,12 @@ module Fastlane
|
|
|
108
111
|
FastlaneCore::ConfigItem.new(key: :format,
|
|
109
112
|
description: 'Force the format when the extension does not name it',
|
|
110
113
|
optional: true),
|
|
114
|
+
FastlaneCore::ConfigItem.new(key: :expires_in,
|
|
115
|
+
description: 'Seconds until the distribution expires',
|
|
116
|
+
optional: true,
|
|
117
|
+
type: Integer),
|
|
111
118
|
FastlaneCore::ConfigItem.new(key: :notify,
|
|
112
|
-
description: 'Notify recipients
|
|
119
|
+
description: 'Notify recipients of the distribution',
|
|
113
120
|
optional: true,
|
|
114
121
|
is_string: false),
|
|
115
122
|
FastlaneCore::ConfigItem.new(key: :concurrency,
|
|
@@ -135,10 +142,11 @@ module Fastlane
|
|
|
135
142
|
[
|
|
136
143
|
'paper_tools_builds_upload(
|
|
137
144
|
file: lane_context[SharedValues::IPA_OUTPUT_PATH],
|
|
138
|
-
channel: "qa",
|
|
139
145
|
org: "your-org-id",
|
|
140
146
|
app: "your-app-id",
|
|
141
147
|
token: ENV["BUILDS_TOKEN"],
|
|
148
|
+
to: "cto@acme.com",
|
|
149
|
+
lists: "qa",
|
|
142
150
|
version: get_version_number,
|
|
143
151
|
build_number: get_build_number
|
|
144
152
|
)',
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fastlane-plugin-paper_tools_builds
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- paper.tools
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-08-
|
|
11
|
+
date: 2026-08-29 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: fastlane
|