neetob 0.4.3 → 0.4.5

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: 9fd60283a5ac6d285fe20a16357e39d0c72d9c48964d44016915eda55cd41a41
4
- data.tar.gz: dc89a8882804bd9d774c6ae8e7f91760fb15ad000a7d0eb6ec89d7bb447c717d
3
+ metadata.gz: 606aa096ff45c6dd1024738a608b607608baf9a9d9cb62111722c89c4fd30887
4
+ data.tar.gz: ba0fdbae18b2d77a9a6bbc6f99e2d8eeb4b455656e8a657f7b463a6873128590
5
5
  SHA512:
6
- metadata.gz: 3a373c5ca6a6e9a77071e5714d7b08c9ebdd03e2c0567ac1b7280233d28659c7491255ede9d20a185bdb5764b7d6b6746ce31a0ab43333a02f4f16fce77edf55
7
- data.tar.gz: 1208e7c0d1dc21e242bbcaa68b58e07f4e4d544f39e63582599b85597c0340effa7fb8ff10a78fce4f0456b20569eba442d85a2f077772b57a437b9b7d1db01b
6
+ metadata.gz: 10a7ee29781e225be76678b8be259a3fdc0cd2decad3209e3ab43daa5405b00bc07fcda651a6cb167a2b58e851c7862993b1c96edc39547745165a5fd61137b3
7
+ data.tar.gz: f2d96ae3df227be16d29e660cf142df9c9aa5535799072922a4a0f9f29d23935e0085a3da6d08acfe796acef9508220920257d610b685bfaa79e9a2071ad74d0
@@ -0,0 +1,15 @@
1
+ version: v1.0
2
+ name: neetob
3
+ global_job_config:
4
+ setup:
5
+ - checkout
6
+ - neetoci-version ruby 3.1.3
7
+ - bundle config path 'vendor/bundle'
8
+ - cache restore
9
+ - bundle install --jobs 1
10
+ - cache store
11
+ jobs:
12
+ - name: CiChecks
13
+ commands:
14
+ - bundle exec rubocop
15
+ - bundle exec rake test
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ### [0.4.5](https://www.github.com/bigbinary/neetob/compare/v0.4.4...v0.4.5) (2023-06-05)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Updated make pr command to accept labels ([#265](https://www.github.com/bigbinary/neetob/issues/265)) ([d2b2315](https://www.github.com/bigbinary/neetob/commit/d2b23158a82570168974d5b4f42ebcda1689f994))
9
+
10
+ ### [0.4.4](https://www.github.com/bigbinary/neetob/compare/v0.4.3...v0.4.4) (2023-05-24)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * Added support for nanos mono repos ([#262](https://www.github.com/bigbinary/neetob/issues/262)) ([fd3f749](https://www.github.com/bigbinary/neetob/commit/fd3f749501a54f78e356b69e92b67771753bcac0))
16
+
3
17
  ### [0.4.3](https://www.github.com/bigbinary/neetob/compare/v0.4.2...v0.4.3) (2023-04-25)
4
18
 
5
19
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- neetob (0.4.3)
4
+ neetob (0.4.5)
5
5
  brakeman (~> 5.0)
6
6
  chronic
7
7
  dotenv (~> 2.8.1)
@@ -13,8 +13,9 @@ PATH
13
13
  GEM
14
14
  remote: https://O6Ts9-SVDaUZpHMRs2CpJp22RwbETDE@gems.neeto.com/
15
15
  specs:
16
- neeto-compliance (1.0.1)
16
+ neeto-compliance (1.0.68)
17
17
  colorize
18
+ deep_merge
18
19
  hashdiff
19
20
  json (~> 2.6.2)
20
21
 
@@ -101,6 +102,7 @@ GEM
101
102
  crack (0.4.5)
102
103
  rexml
103
104
  crass (1.0.6)
105
+ deep_merge (1.2.2)
104
106
  docile (1.4.0)
105
107
  dotenv (2.8.1)
106
108
  erubi (1.11.0)
data/README.md CHANGED
@@ -12,10 +12,11 @@ The `neetob` gem gives a different set of commands for interacting with Github r
12
12
  1. [Issues](#issues)
13
13
  2. [Labels](#labels)
14
14
  3. [Search](#search)
15
- 4. [Protect Branch](#protect-branch)
16
- 5. [Make PR](#make-pr)
17
- 6. [Gems](#gems)
18
- 7. [Login](#login)
15
+ 4. [Brakeman](#brakeman)
16
+ 5. [Protect Branch](#protect-branch)
17
+ 6. [Make PR](#make-pr)
18
+ 7. [Gems](#gems)
19
+ 8. [Login](#login)
19
20
  4. [Working with Heroku](#working-with-heroku)
20
21
  1. [Config Vars](#config-vars)
21
22
  2. [Access](#access)
@@ -24,9 +25,11 @@ The `neetob` gem gives a different set of commands for interacting with Github r
24
25
  1. [Audit](#audit)
25
26
  2. [Commits](#commits)
26
27
  6. [Make Repos Uptodate](#make-repos-uptodate)
27
- 7. [Working with local Repos](#working-with-local-repos)
28
+ 7. [Working with neeto Repos](#working-with-neeto-repos)
29
+ 1. [Audit](#audit-1)
30
+ 8. [Working with local Repos](#working-with-local-repos)
28
31
  1. [ls](#ls)
29
- 8. [Testing](docs/testing.md)
32
+ 9. [Testing](docs/testing.md)
30
33
 
31
34
  ## Usage
32
35
 
@@ -107,6 +110,10 @@ neetob github issues list --count --state open --assignee none --repos "neeto-*-
107
110
  # Lists, counts and filters all unassigned open issues that are labeled as "bug"
108
111
  neetob github issues list --count --label bug --state open --assignee none \
109
112
  --repos "neeto-*-staging"
113
+
114
+ # Creates an issue in Github repos
115
+ # You will be prompted to enter issue title, description etc.
116
+ neetob github issues create --repos "neeto-*-web"
110
117
  ```
111
118
 
112
119
  ### Labels
@@ -174,6 +181,14 @@ The above command searches for all occurrences of any word matching the given re
174
181
 
175
182
  We can pass the `--replace` option to replace all found instances of the keyword with another word.
176
183
 
184
+ ### Brakeman
185
+
186
+ Run [brakeman](https://brakemanscanner.org/) on neeto repos & create issues wherever any security vulnerabilities are found.
187
+
188
+ ```sh
189
+ neetob github brakeman --repos "neeto-*-web"
190
+ ```
191
+
177
192
  ### Protect branch
178
193
 
179
194
  Updates branch protection rules in neeto repos by using the `protect_branch` command.
@@ -225,6 +240,9 @@ neetob github make-pr compliance-fix
225
240
  # Fix compliance for nanos
226
241
  neetob github make-pr compliance-fix --nanos
227
242
 
243
+ # Add labels to PRs
244
+ neetob github make-pr compliance-fix --labels "bug,priority"
245
+
228
246
  # The `script` command runs the given script for each product and create a PR
229
247
  neetob github make-pr script --path ~/Desktop/fix-folders.sh --branch "neetob-test" \
230
248
  --title "PR title" --description "PR description"
@@ -414,6 +432,19 @@ neeto-desk-web
414
432
  neeto-kb-web
415
433
  ```
416
434
 
435
+ ## Working with neeto Repos
436
+
437
+ The `code` command interacts with the remote neeto repos.
438
+
439
+ ### Audit
440
+
441
+ The `audit` command checks and lists all tables not using `uuid` as it's Primary key.
442
+
443
+ ```sh
444
+ # Run command on all neeto repos by passing the value `all` to`--apps` option
445
+ neetob code audit --apps "neeto-*-web"
446
+ ```
447
+
417
448
  ## Working with local Repos
418
449
 
419
450
  The `local` command interacts with the local neeto repos.
data/bookmarks.md CHANGED
@@ -4,6 +4,12 @@
4
4
 
5
5
  [Engineer needed](https://github.com/issues?q=is%3Aopen+is%3Aissue+org%3Abigbinary+label%3Aengineer-needed)
6
6
 
7
+ [Issues across repos in bigbinary account where the last update was done before 1st Jan 2023 excluding repos jacky-winter-web, aceinvoice-web, trtle-rn, trtle-web](https://github.com/issues?q=is%3Aopen+is%3Aissue+org%3Abigbinary+archived%3Afalse+updated%3A%3C2023-01-01+sort%3Aupdated-asc+-repo%3Abigbinary%2Fjacky-winter-web+-repo%3Abigbinary%2Faceinvoice-web+-repo%3Abigbinary%2Ftrtle-rn+-repo%3Abigbinary%2Ftrtle-web+)
8
+
9
+ [Issues across repos in bigbinary account where the last update was done from 1st Jan 2023 till 1st May 2023 excluding repos jacky-winter-web, aceinvoice-web, trtle-rn, trtle-web](https://github.com/issues?q=+is%3Aopen+is%3Aissue+org%3Abigbinary+archived%3Afalse+updated%3A2023-01-01..2023-04-01+sort%3Aupdated-asc+-repo%3Abigbinary%2Fjacky-winter-web+-repo%3Abigbinary%2Faceinvoice-web+-repo%3Abigbinary%2Ftrtle-rn+-repo%3Abigbinary%2Ftrtle-web+)
10
+
11
+ ## Products checlist
12
+
7
13
  - [ ] neeto-auth-web
8
14
  - [ ] neeto-chat-web
9
15
  - [ ] neeto-desk-web
@@ -74,7 +74,7 @@ module Neetob
74
74
  platform_name == :heroku ? ["neeto-dummy"] : ["bigbinary/neeto-dummy"]
75
75
  end
76
76
 
77
- def inform_about_current_working_mode(sandbox_mode, quiet)
77
+ def inform_about_current_working_mode(sandbox_mode, quiet = false)
78
78
  return if quiet
79
79
 
80
80
  callout_message = "Running in the sandbox mode. \nOnly \"neeto-dummy\" app will be available."
@@ -97,7 +97,7 @@ module Neetob
97
97
  end
98
98
 
99
99
  def find_all_matching_gems(gems = ["*"])
100
- all_available_gems = NeetoCompliance::NeetoRepos.nanos_backend
100
+ all_available_gems = NeetoCompliance::NeetoRepos.nanos_backend + NeetoCompliance::NeetoRepos.nanos_mono_repos
101
101
  match_apps(gems || ["*"], all_available_gems)
102
102
  end
103
103
 
@@ -25,7 +25,7 @@ module Neetob
25
25
  report = run_brakeman(repo)
26
26
  ui.success("Successfully executed brakeman for #{repo}")
27
27
  warnings = report.split("\n\n== Warnings ==\n\n").last&.split("\n\n")
28
- if !report.include?("No warnings found")
28
+ if !report.include?("No warnings found") && !report.blank?
29
29
  issue = client.create_issue(repo, DESCRIPTION, parse_description(warnings))
30
30
  ui.success("Issue created at #{issue.html_url}")
31
31
  end
@@ -15,10 +15,12 @@ module Neetob
15
15
  desc: "Github repo names. Can be matched using the '*' wildcard. Example: \"neeto*\" \"neeto-cal-web\""
16
16
  class_option :nanos, type: :boolean, aliases: "-n", default: false,
17
17
  desc: "Use this flag to make PRs for the neeto gems"
18
+ class_option :labels, type: :string, default: "",
19
+ desc: "Labels you want to add in the PRs. Example: --labels \"bug,priority\""
18
20
 
19
21
  desc "compliance-fix", "Create PRs for fixing neeto compliance in all products"
20
22
  def compliance_fix
21
- ComplianceFix.new(options[:repos], options[:nanos], options[:sandbox]).run
23
+ ComplianceFix.new(options[:repos], options[:nanos], options[:sandbox], options[:labels]).run
22
24
  end
23
25
 
24
26
  desc "script", "Create PRs after running the given script for each product."
@@ -31,7 +33,7 @@ module Neetob
31
33
  def script
32
34
  Script.new(
33
35
  options[:repos], options[:path], options[:title], options[:branch], options[:description],
34
- options[:nanos], options[:frontend_packages], options[:sandbox]).run
36
+ options[:nanos], options[:frontend_packages], options[:sandbox], options[:labels]).run
35
37
  end
36
38
  end
37
39
  end
@@ -9,14 +9,15 @@ module Neetob
9
9
  module Github
10
10
  module MakePr
11
11
  class ComplianceFix < Base
12
- attr_accessor :repos, :sandbox, :should_fix_nanos
12
+ attr_accessor :repos, :sandbox, :should_fix_nanos, :labels
13
13
 
14
- def initialize(repos, should_fix_nanos = false, sandbox = false)
14
+ def initialize(repos, should_fix_nanos = false, sandbox = false, labels = "")
15
15
  super()
16
16
  @repos = repos
17
17
  @sandbox = sandbox
18
18
  @should_fix_nanos = should_fix_nanos
19
19
  @failed_repos = []
20
+ @labels = labels
20
21
  end
21
22
 
22
23
  def run
@@ -34,6 +35,7 @@ module Neetob
34
35
  delete_local_feature_branch(repo)
35
36
  pull_request = client.create_pull_request(repo, "main", BRANCH_NAME, PR_TITLE)
36
37
  ui.success("PR created in \"#{repo}\" project successfully.")
38
+ client.add_labels_to_an_issue(repo, pull_request[:number], labels.split(","))
37
39
  @failed_repos.delete(repo)
38
40
  rescue StandardError => e
39
41
  ExceptionHandler.new(e).process
@@ -10,10 +10,11 @@ module Neetob
10
10
  module MakePr
11
11
  class Script < Base
12
12
  attr_accessor :repos, :sandbox, :path_to_the_script_file, :pr_description, :should_fix_nanos,
13
- :should_fix_frontend_packages
13
+ :should_fix_frontend_packages, :labels
14
14
 
15
15
  def initialize(repos, path_to_the_script_file, pr_title,
16
- branch_name, pr_description, should_fix_nanos, should_fix_frontend_packages = false, sandbox = false)
16
+ branch_name, pr_description, should_fix_nanos,
17
+ should_fix_frontend_packages = false, sandbox = false, labels = "")
17
18
  super(pr_title, branch_name)
18
19
  @repos = repos
19
20
  @sandbox = sandbox
@@ -21,6 +22,7 @@ module Neetob
21
22
  @pr_description = pr_description
22
23
  @should_fix_nanos = should_fix_nanos
23
24
  @should_fix_frontend_packages = should_fix_frontend_packages
25
+ @labels = labels
24
26
  end
25
27
 
26
28
  def run
@@ -35,8 +37,9 @@ module Neetob
35
37
  execute_script(repo)
36
38
  ui.info(add_commmit_and_push_changes(repo))
37
39
  delete_local_feature_branch(repo)
38
- res = client.create_pull_request(repo, "main", branch_name, pr_title, pr_description)
40
+ pull_request = client.create_pull_request(repo, "main", branch_name, pr_title, pr_description)
39
41
  ui.success("PR created in \"#{repo}\" project successfully.")
42
+ client.add_labels_to_an_issue(repo, pull_request[:number], labels.split(","))
40
43
  rescue StandardError => e
41
44
  ExceptionHandler.new(e).process
42
45
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Neetob
4
- VERSION = "0.4.3"
4
+ VERSION = "0.4.5"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: neetob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Udai Gupta
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-04-25 00:00:00.000000000 Z
11
+ date: 2023-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -119,6 +119,7 @@ extra_rdoc_files: []
119
119
  files:
120
120
  - ".editorconfig"
121
121
  - ".env"
122
+ - ".neetoci/neetoci.yml"
122
123
  - ".rubocop.yml"
123
124
  - ".ruby-version"
124
125
  - ".semaphore/semaphore.yml"