fastlane-plugin-setapp 0.1.3 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee8f1ec606090dda29299f0dc1439db3bfd92869d8dfe50fb8597cf9022334bd
4
- data.tar.gz: 1db7583c07f4352f62bbc0699f0699228d678ad225edc38379fd1ca32afc1715
3
+ metadata.gz: 72b75b5b716e6794fa7c41084e4e6007051009f5543e610c8ded30b751064520
4
+ data.tar.gz: 19b140655decdbf092b19195804fb4ec26038c6b99d9df015391373e93e7d837
5
5
  SHA512:
6
- metadata.gz: 5b7160e1fcd264124de622b04adeb823a9310de1656082d2b4150fae5bcaf9965c3033f6dc1f56e4205b6c58961ac4751690905acad5f84132b15ce0d0282e44
7
- data.tar.gz: 530e37e665581cde0d4c15eaece9c49882ea0bae9dde46427d764b9b129e32737eb3fd9206ce45eb2d643f18c5b6a1797767eccc13efcbf51cf4e7624d19ca69
6
+ metadata.gz: 48a06c152d5e0b80988112027359e627efda2606aee861cd30f7ddab84c5ef996c726a46689e36ae64054f82b1c41f391cf8e3c93121d9a95d21fffa04ae14d7
7
+ data.tar.gz: 974f5271ad85c5efba2a3c5b56dc3f879842f6cbe472cc870ecd689bda8a216c3b2870dc0ba425330c0e10713ffce3a141815583cf5bcd59b8542c46b5580c6c
data/README.md CHANGED
@@ -46,12 +46,13 @@ Uploads new version to Setapp and save it as a draft or send to a review process
46
46
 
47
47
  ```ruby
48
48
  upload_setapp_build(
49
- api_token: '...', # Your Setapp API token
49
+ automation_token: '...', # Your Setapp Automation token
50
50
  build_path: '...', # The path to archive with a new Setapp build
51
51
  release_notes: '...', # Text or path to a file that contains release notes for a new version
52
52
  version_status: 'review', # Version status. It can be `draft` or `review`
53
53
  release_on_approval: true, # Indicates whether Setapp must publish a new version after review
54
- is_beta: false # Is beta or stable build
54
+ is_beta: false, # Is beta or stable build
55
+ allow_overwrite: true # Allow to overwrite existing version
55
56
  )
56
57
  ```
57
58
 
@@ -5,24 +5,26 @@ module Fastlane
5
5
  module Actions
6
6
  class UploadSetappBuildAction < Action
7
7
  def self.run(params)
8
- api_token = params[:api_token]
8
+ automation_token = params[:automation_token]
9
9
  build_path = params[:build_path]
10
10
  release_notes = params[:release_notes]
11
11
  version_status = params[:version_status]
12
12
  release_on_approval = params[:release_on_approval] ? "true" : "false"
13
13
  is_beta = params[:is_beta] ? "true" : "false"
14
+ allow_overwrite = params[:allow_overwrite] ? "true" : "false"
14
15
  file_dir = File.dirname(__FILE__)
15
16
  UI.user_error!("Available options for version_status: [draft, review].") unless ['draft', 'review'].include?(version_status)
16
17
  UI.message("The build at path #{build_path} will be uploaded to Setapp")
17
18
  script_path = "#{file_dir}/../helper/setapp_build_uploader.sh"
18
19
  exit_code = system(
19
20
  "bash", script_path,
20
- "--token", api_token,
21
+ "--token", automation_token,
21
22
  "--path", build_path,
22
23
  "--notes", release_notes,
23
24
  "--status", version_status,
24
25
  "--release-on-approval", release_on_approval,
25
- "--beta", is_beta
26
+ "--beta", is_beta,
27
+ "--allow-overwrite", allow_overwrite
26
28
  )
27
29
  UI.user_error!("Uploading error occured. Try again.") if exit_code != true
28
30
  end
@@ -49,9 +51,9 @@ module Fastlane
49
51
  def self.available_options
50
52
  [
51
53
  FastlaneCore::ConfigItem.new(
52
- key: :api_token,
53
- env_name: "SETAPP_API_TOKEN",
54
- description: "Your Setapp API token",
54
+ key: :automation_token,
55
+ env_name: "SETAPP_AUTOMATION_TOKEN",
56
+ description: "Your Setapp Automation token",
55
57
  optional: false,
56
58
  sensitive: true,
57
59
  type: String
@@ -91,6 +93,14 @@ module Fastlane
91
93
  optional: false,
92
94
  default_value: false,
93
95
  type: Boolean
96
+ ),
97
+ FastlaneCore::ConfigItem.new(
98
+ key: :allow_overwrite,
99
+ env_name: "SETAPP_ALLOW_OVERWRITE",
100
+ description: "Can overwrite existing version or not. Applies to all statuses except `Approved`. Available options: `true`, `false`",
101
+ optional: false,
102
+ default_value: false,
103
+ type: Boolean
94
104
  )
95
105
  ]
96
106
  end
@@ -18,12 +18,12 @@ function help() {
18
18
 
19
19
  OPTIONS
20
20
  -t, --token
21
- Your Setapp token for continious integration.
21
+ Your Setapp Automation token for continious integration.
22
22
 
23
23
  -p, --path
24
24
  Path to an archive with a new bundle version.
25
25
 
26
- -n, -notes
26
+ -n, --notes
27
27
  Release notes for a new version. Add them as a plain text or as a path to file with text.
28
28
 
29
29
  -s, --status
@@ -38,6 +38,10 @@ function help() {
38
38
  -b | --beta
39
39
  Is beta or stable build.
40
40
  Available options: (true/false)
41
+
42
+ -a | --allow-overwrite
43
+ Can ovewrite existing version, including release notes and archive.
44
+ Available options: (true/false)
41
45
 
42
46
  -h, --help
43
47
  Usage help
@@ -57,7 +61,7 @@ function parse_params() {
57
61
  ;;
58
62
  -t | --token)
59
63
  if test $# -gt 0; then
60
- api_token="${1}"
64
+ automation_token="${1}"
61
65
  fi
62
66
  shift;;
63
67
  -p | --path)
@@ -88,6 +92,11 @@ function parse_params() {
88
92
  beta="${1}"
89
93
  fi
90
94
  shift;;
95
+ -a| --allow-overwrite)
96
+ if test $# -gt 0; then
97
+ allow_overwrite="${1}"
98
+ fi
99
+ shift;;
91
100
  *)
92
101
  die "Invalid parameter was provided: $param" 1
93
102
  ;;
@@ -96,12 +105,13 @@ function parse_params() {
96
105
  }
97
106
 
98
107
  function check_parameters() {
99
- [[ -z "${api_token}" ]] && die "Missing required parameter: api-token"
100
- [[ -z "${archive_path}" ]] && die "Missing required parameter: archive-path"
101
- [[ -z "${release_notes}" ]] && die "Missing required parameter: release-notes"
102
- [[ -z "${version_status}" ]] && die "Missing required parameter: version-status"
108
+ [[ -z "${automation_token}" ]] && die "Missing required parameter: token"
109
+ [[ -z "${archive_path}" ]] && die "Missing required parameter: path"
110
+ [[ -z "${release_notes}" ]] && die "Missing required parameter: notes"
111
+ [[ -z "${version_status}" ]] && die "Missing required parameter: status"
103
112
  [[ -z "${release_on_approval}" ]] && die "Missing required parameter: release-on-approval"
104
113
  [[ -z "${beta}" ]] && die "Missing required parameter: beta"
114
+ [[ -z "${allow_overwrite}" ]] && die "Missing required parameter: allow-ovewrite"
105
115
  }
106
116
 
107
117
  function validate_server_response() {
@@ -112,7 +122,7 @@ function validate_server_response() {
112
122
  if [ "$response_code" -ge 200 ] && [ "$response_code" -lt 300 ]; then
113
123
  echo "✅ The app version is uploaded. All checks are passed."
114
124
  elif [ $response_code -eq 401 ]; then
115
- die "⚠️ Something went wrong with your API token.\n${response_body}"
125
+ die "⚠️ Something went wrong with your Setapp Automation token.\n${response_body}"
116
126
  elif [ $response_code -eq 400 ]; then
117
127
  die "🚨 Bundle validation error occured. See details in description below.\n${response_body}"
118
128
  else
@@ -120,17 +130,18 @@ function validate_server_response() {
120
130
  fi
121
131
  }
122
132
 
123
- function upload_binary() {
133
+ function create_or_overwrite_existing_app_version() {
124
134
  response=$(
125
135
  curl -X POST "https://developer-api.setapp.com/v1/ci/version" \
126
136
  --write-out "HTTPSTATUS:%{http_code}" \
127
- -H "Authorization: Bearer ${api_token}" \
137
+ -H "Authorization: Bearer ${automation_token}" \
128
138
  -H "accept: application/json" \
129
139
  -H "Content-Type: multipart/form-data" \
130
140
  -F "release_notes=${release_notes}" \
131
141
  -F "status=${version_status}" \
132
142
  -F "release_on_approval=${release_on_approval}" \
133
143
  -F "beta=${beta}" \
144
+ -F "allow_overwrite=${allow_overwrite}" \
134
145
  -F "archive=@${archive_path};type=application/zip"
135
146
  )
136
147
  validate_server_response "${response}"
@@ -139,7 +150,7 @@ function upload_binary() {
139
150
  function main() {
140
151
  parse_params "$@"
141
152
  check_parameters
142
- upload_binary
153
+ create_or_overwrite_existing_app_version
143
154
  }
144
155
 
145
156
  main "$@"
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module Setapp
3
- VERSION = "0.1.3"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-setapp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Setapp Limited
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-10 00:00:00.000000000 Z
11
+ date: 2023-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler