fastlane-plugin-setapp 0.1.3 → 0.2.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: 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