fastlane-plugin-firebase_test_lab_android 0.3.1 → 1.0.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: b5df1b55057301961ac5fc035503aaa7049f5cd77c1d56f30eec972bb1782df7
4
- data.tar.gz: 32428261d6dc294799bbad13961d6e79fd79354cc92a91667c4b519383ccd265
3
+ metadata.gz: 007572f3771342dc8f4e484fe891190468ea020c4d9afb43282a2e76a2345b48
4
+ data.tar.gz: 1f8b7e5e152d99867df4de3b8f59b611735c7b42698a4a4628c5dbe84b2c9037
5
5
  SHA512:
6
- metadata.gz: 3b05325ba3314808b20841c73b78fe6af598c6fbf9eb0fcd014f444306a7d61e6b829a5bf81c8d28919ce0376b5371ba725e43c7dd9249c3ffb2b799ffb90974
7
- data.tar.gz: 88775e38353bdc6463f484687f317df606cc07b35cb5b60963297fb63184459ca85959a3b875c563d75dc27f045c5de473eb08ef91268dde60e2e3d516b7af33
6
+ metadata.gz: f75ebf588104c50c4921e8786a0d87de076aac9f851935f0d7836e640eaa908e38cf5d1ea7ff5b605afc4cbacb2af243ba12afc76dd20bbf5e22456f8a9cdd94
7
+ data.tar.gz: c1d69ddfab3926fdf572e52d5423b9e97e3dc9982c8b481e60d55c9499796ff63e4727bdfe45152334b34ec6c7a23f7e07193442b20b3d8ee0f645093f34468a
data/README.md CHANGED
@@ -55,56 +55,7 @@ This project is a [_fastlane_](https://github.com/fastlane/fastlane) plugin. To
55
55
  fastlane add_plugin firebase_test_lab_android
56
56
  ```
57
57
 
58
- ### Step 3. Create a GCS bucket
59
-
60
- [Creating storage buckets](https://cloud.google.com/storage/docs/creating-buckets)
61
-
62
- You will need the bucket name later in the Fastfile.
63
-
64
- If you using the `gsutil`.
65
- ```s
66
- gsutil mb gs://[BUCKET_NAME]/
67
- ```
68
- ```
69
- # gsutil mb gs://firebase_cats_test_bucket
70
- Creating gs://firebase_cats_test_bucket/...
71
- ```
72
-
73
-
74
- ### Step 4. Import existing Google Cloud Storage buckets to Firebase Storage
75
-
76
- https://firebase.google.com/docs/storage
77
-
78
- Import GCS bucket on Firebase console at Storage.
79
-
80
- <img src="art/screenshot_firebase_storage_setup_bucket.png" width="75%" />
81
-
82
-
83
- #### Step 4-2.
84
-
85
- Edit the Firebase Security Rules on Firebase console.
86
-
87
- <img src="art/screenshot_firebase_storage_rules.png" width="75%" />
88
-
89
- This plugin need some match rules it `images` and `logcat` file for hyperlinks.
90
- ```
91
- rules_version = '2';
92
- service firebase.storage {
93
- match /b/{bucket}/o {
94
- match /{result_dir}/{device}/artifacts/{image} {
95
- allow read: if image.matches(".*(jpeg|jpg|png)$")
96
- }
97
- match /{result_dir}/{device}/{file} {
98
- allow read: if file.matches("logcat")
99
- }
100
- match /{allPaths=**} {
101
- allow read, write: if request.auth != null;
102
- }
103
- }
104
- }
105
- ```
106
-
107
- ### Step 5. Find the devices you want to test on
58
+ ### Step 3. Find the devices you want to test on
108
59
 
109
60
  Using [gcloud tool](https://cloud.google.com/sdk/gcloud/), you can run.
110
61
 
@@ -117,7 +68,7 @@ to get a list of supported devices and their identifiers.
117
68
  Alternatively all available devices can also be seen [here](https://firebase.google.com/docs/test-lab/ios/available-testing-devices).
118
69
 
119
70
 
120
- ### Step 6. Add settings to your Fastfile
71
+ ### Step 4. Add settings to your Fastfile
121
72
 
122
73
  Test your app with Firebase Test Lab with ease using fastlane.
123
74
  Check out the [example `Fastfile`](fastlane/Fastfile) to see how to use this plugin.
@@ -50,8 +50,10 @@ module Fastlane
50
50
  if download_dir
51
51
  UI.message("Fetch results from Firebase Test Lab results bucket")
52
52
  json.each do |status|
53
- Helper.if_need_dir("#{download_dir}/#{status["axis_value"]}")
54
- Action.sh("gsutil -m cp -r gs://#{results_bucket}/#{results_dir}/#{status["axis_value"]} #{download_dir}")
53
+ axis = status["axis_value"]
54
+ Helper.if_need_dir("#{download_dir}/#{axis}")
55
+ Helper.copy_from_gcs("#{results_bucket}/#{results_dir}/#{axis}", download_dir)
56
+ Helper.set_public("#{results_bucket}/#{results_dir}/#{axis}")
55
57
  end
56
58
  end
57
59
 
@@ -277,7 +279,8 @@ module Fastlane
277
279
  github_owner: "cats-oss",
278
280
  github_repository: "fastlane-plugin-firebase_test_lab_android",
279
281
  github_pr_number: pr_number,
280
- github_api_token: ENV["DANGER_GITHUB_API_TOKEN"]
282
+ github_api_token: ENV["DANGER_GITHUB_API_TOKEN"],
283
+ download_dir: ".results"
281
284
  )
282
285
  end']
283
286
  end
@@ -14,8 +14,8 @@ module Fastlane
14
14
  "https://console.developers.google.com/storage/browser/#{bucket}/#{CGI.escape(dir)}"
15
15
  end
16
16
 
17
- def self.firebase_object_url(bucket, path)
18
- "https://firebasestorage.googleapis.com/v0/b/#{bucket}/o/#{CGI.escape(path)}?alt=media"
17
+ def self.gcs_object_url(bucket, path)
18
+ "https://storage.googleapis.com/#{bucket}/#{CGI.escape(path)}"
19
19
  end
20
20
 
21
21
  def self.firebase_test_lab_histories_url(project_id)
@@ -37,6 +37,16 @@ module Fastlane
37
37
  Action.sh("set +e; gcloud firebase test android run #{arguments}; set -e")
38
38
  end
39
39
 
40
+ def self.copy_from_gcs(bucket_and_path, copy_to)
41
+ UI.message("Copy from gs://#{bucket_and_path}")
42
+ Action.sh("gsutil -m cp -r gs://#{bucket_and_path} #{copy_to}")
43
+ end
44
+
45
+ def self.set_public(bucket_and_path)
46
+ UI.message("Set public for reading gs://#{bucket_and_path}")
47
+ Action.sh("gsutil -m acl -r set public-read gs://#{bucket_and_path}")
48
+ end
49
+
40
50
  def self.is_failure(outcome)
41
51
  outcome == FAILED || outcome == INCONCLUSIVE
42
52
  end
@@ -103,9 +113,9 @@ module Fastlane
103
113
  outcome = data["outcome"]
104
114
  status = "#{emoji_status(outcome)} #{outcome}"
105
115
  message = data["test_details"]
106
- logcat = "<a href=\"#{firebase_object_url(bucket, "#{dir}/#{axis}/logcat")}\" target=\"_blank\" >#{random_emoji_cat}</a>"
116
+ logcat = "<a href=\"#{gcs_object_url(bucket, "#{dir}/#{axis}/logcat")}\" target=\"_blank\" >#{random_emoji_cat}</a>"
107
117
  if test_type == "robo"
108
- sitemp = "<img src=\"#{firebase_object_url(bucket, "#{dir}/#{axis}/artifacts/sitemap.png")}\" height=\"64px\" loading=\"lazy\" target=\"_blank\" />"
118
+ sitemp = "<img src=\"#{gcs_object_url(bucket, "#{dir}/#{axis}/artifacts/sitemap.png")}\" height=\"64px\" loading=\"lazy\" target=\"_blank\" />"
109
119
  else
110
120
  sitemp = "--"
111
121
  end
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module FirebaseTestLabAndroid
3
- VERSION = "0.3.1"
3
+ VERSION = "1.0.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-firebase_test_lab_android
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - wasabeef
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-21 00:00:00.000000000 Z
11
+ date: 2019-11-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry