tractive 1.0.22 → 1.0.26

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: 14ab65ca5e13687a2134222c4b6cf0317c0e41d4c7b995bce2d132c58ba835a7
4
- data.tar.gz: e51c4df4366cfb597d65b0b193c7faf544a6d6608fccf36abc5bfd6b37fec857
3
+ metadata.gz: 47c95f0a9cf87b5f4cf41c3cf4c34e61f5561124108d839c85ee7c1f07de3f5d
4
+ data.tar.gz: 7ac384a915a293a81924f1153a71e4ec869dfae4758b3c75aa028df377789442
5
5
  SHA512:
6
- metadata.gz: 90046baa72cf0faa7b58e7b439924fc04b1a9447da7565ab84eb678ef6dbe841bee98412d06b332f6d21136e75ba8e4bf5299c7385ad4f87064363ec3fed2b51
7
- data.tar.gz: ad5480e82c6d0f1b1b3119e33a624fc6b31991d1783796dc05240fc796ff3039e9e4488c614f1d84c6e25518636dbecdc10282ab6cc4c474f8d77e1762ea832a
6
+ metadata.gz: 79f6a4344ea0229927783f8dbac3bd882b7ea25252cd844e79de44b52c1294bc0eca42549370363619abd0f879c84b8c15a7b2b6ff9336ee178b63f20cbdb526
7
+ data.tar.gz: 72523139519511322df0fe2b986e0dbf7f913efb87b784264654c1aab60213bfa452800b038833e38a55686dede25c0ee06157899f08fe3ec972ef45a864a717
@@ -0,0 +1,21 @@
1
+ name: release
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ next_version:
7
+ description: |
8
+ Next release version. Possible values: x.y.z, major, minor, patch or pre|rc|etc
9
+ required: true
10
+ default: 'skip'
11
+ push:
12
+ tags: [ v* ]
13
+ branches: [adding_release_workflow]
14
+
15
+ jobs:
16
+ release:
17
+ uses: metanorma/ci/.github/workflows/rubygems-release.yml@main
18
+ with:
19
+ next_version: ${{ github.event.inputs.next_version }}
20
+ secrets:
21
+ rubygems-api-key: ${{ secrets.RIBOSE_CI_RUBYGEMS_API_KEY }}
data/Gemfile CHANGED
@@ -5,6 +5,8 @@ source "https://rubygems.org"
5
5
  # Specify your gem's dependencies in tractive.gemspec
6
6
  gemspec
7
7
 
8
+ gem "pry"
9
+
8
10
  gem "rake", "~> 13.0"
9
11
 
10
12
  gem "rspec", "~> 3.0"
data/exe/command_base.rb CHANGED
File without changes
data/exe/generate.rb CHANGED
File without changes
@@ -26,6 +26,8 @@ module GithubApi
26
26
  GithubApi::GraphQlClient.const_set("Schema", GraphQL::Client.load_schema(HttpAdapter))
27
27
  GithubApi::GraphQlClient.const_set("Client", GraphQL::Client.new(schema: Schema, execute: HttpAdapter))
28
28
  GithubApi::GraphQlClient.const_set("DeleteIssueQuery", Client.parse(DELETE_ISSUE_QUERY))
29
+ rescue KeyError
30
+ raise ::StandardError, "Github access token is incorrect or does not have sufficent permissions to access the Github API"
29
31
  end
30
32
  end
31
33
  end
data/lib/tractive/main.rb CHANGED
@@ -8,16 +8,21 @@ module Tractive
8
8
  @opts = opts
9
9
  @cfg = YAML.load_file(@opts[:config])
10
10
 
11
+ Tractive::Utilities.setup_logger(output_stream: @opts[:logfile] || $stderr, verbose: @opts[:verbose])
12
+
13
+ verify_config!(@cfg, @opts)
14
+
11
15
  @cfg["github"] ||= {}
12
16
  @cfg["github"]["token"] = @opts["git-token"] if @opts["git-token"]
13
17
 
14
18
  GithubApi::GraphQlClient.add_constants(@cfg["github"]["token"]) unless @opts[:info]
15
19
 
16
- Tractive::Utilities.setup_logger(output_stream: @opts[:logfile] || $stderr, verbose: @opts[:verbose])
17
20
  @db = Tractive::Utilities.setup_db!(@opts["trac-database-path"] || @cfg["trac"]["database"])
18
21
  rescue Sequel::DatabaseConnectionError, Sequel::AdapterNotFound, URI::InvalidURIError, Sequel::DatabaseError => e
19
22
  $logger.error e.message
20
23
  exit 1
24
+ rescue StandardError => e
25
+ warn_and_exit(e.message, 1)
21
26
  end
22
27
 
23
28
  def run
@@ -56,6 +61,15 @@ module Tractive
56
61
 
57
62
  private
58
63
 
64
+ def verify_config!(config, options)
65
+ database_path_missing_error = <<~DATABASE_PATH_MISSING_ERROR
66
+ Missing path for trac database which can be set using `--trac-database-path` or can
67
+ be set in config file (see https://github.com/ietf-ribose/tractive#trac-configuration)
68
+ DATABASE_PATH_MISSING_ERROR
69
+
70
+ warn_and_exit(database_path_missing_error, 1) if !options["trac-database-path"] && !(config["trac"] && config["trac"]["database"])
71
+ end
72
+
59
73
  def verify_options!(options)
60
74
  verify_config_options!(options)
61
75
  verify_filter_options!(options)
@@ -176,7 +176,7 @@ module Migrator
176
176
 
177
177
  if @users.key?(ticket[:owner])
178
178
  owner = trac_mail(ticket[:owner])
179
- github_owner = @users[owner]["username"]
179
+ github_owner = extract_github_owner_username(owner)
180
180
  $logger.debug("..owner in trac: #{owner}")
181
181
  $logger.debug("..assignee in GitHub: #{github_owner}")
182
182
  issue["assignee"] = github_owner
@@ -189,13 +189,7 @@ module Migrator
189
189
  # issue["updated_at"] = format_time(ticket[:changetime])
190
190
  end
191
191
 
192
- if issue["closed"]
193
- issue["closed_at"] = if closed_time
194
- format_time(closed_time)
195
- else
196
- format_time(ticket[:closed_at].to_i)
197
- end
198
- end
192
+ issue["closed_at"] = format_time(closed_time || ticket[:closed_at].to_i) if issue["closed"]
199
193
 
200
194
  {
201
195
  "issue" => issue,
@@ -383,6 +377,17 @@ module Migrator
383
377
 
384
378
  "[trac:#{ticket[:id]}](#{@trac_ticket_base_url}/#{ticket[:id]})"
385
379
  end
380
+
381
+ def extract_github_owner_username(owner)
382
+ if !owner || !@users[owner]
383
+ raise(
384
+ StandardError,
385
+ "Unable to find Github username for #{owner}, this can be set in the config file."
386
+ )
387
+ end
388
+
389
+ @users[owner]["username"]
390
+ end
386
391
  end
387
392
  end
388
393
  end
@@ -63,7 +63,7 @@ module Migrator
63
63
  @safetychecks = safetychecks
64
64
  @start_ticket = (start_ticket || (@last_created_issue + 1)).to_i
65
65
  @filter_closed = filter_closed
66
- @delete_mocked_tickets = args[:cfg]["ticket"]["delete_mocked"]
66
+ @delete_mocked_tickets = args[:cfg]["ticket"]["delete_mocked"] if args[:cfg]["ticket"]
67
67
  end
68
68
 
69
69
  def migrate
@@ -74,6 +74,9 @@ module Migrator
74
74
  else
75
75
  migrate_from_db
76
76
  end
77
+ rescue StandardError => e
78
+ $logger.error e.message
79
+ exit 1
77
80
  end
78
81
 
79
82
  private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Tractive
4
- VERSION = "1.0.22"
4
+ VERSION = "1.0.26"
5
5
  end
data/tractive.gemspec CHANGED
@@ -35,6 +35,4 @@ Gem::Specification.new do |spec|
35
35
  spec.add_dependency "sequel"
36
36
  spec.add_dependency "sqlite3"
37
37
  spec.add_dependency "thor"
38
-
39
- spec.add_development_dependency "pry"
40
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tractive
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.22
4
+ version: 1.0.26
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-02 00:00:00.000000000 Z
11
+ date: 2023-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: graphql
@@ -122,21 +122,7 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: pry
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- description:
125
+ description:
140
126
  email:
141
127
  - open.source@ribose.com
142
128
  executables:
@@ -147,6 +133,7 @@ extensions: []
147
133
  extra_rdoc_files: []
148
134
  files:
149
135
  - ".github/workflows/main.yml"
136
+ - ".github/workflows/release.yaml"
150
137
  - ".gitignore"
151
138
  - ".rspec"
152
139
  - ".rubocop.yml"
@@ -210,7 +197,7 @@ metadata:
210
197
  source_code_uri: https://github.com/ietf-ribose/tractive
211
198
  changelog_uri: https://github.com/ietf-ribose/tractive
212
199
  rubygems_mfa_required: 'true'
213
- post_install_message:
200
+ post_install_message:
214
201
  rdoc_options: []
215
202
  require_paths:
216
203
  - lib
@@ -225,8 +212,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
225
212
  - !ruby/object:Gem::Version
226
213
  version: '0'
227
214
  requirements: []
228
- rubygems_version: 3.1.2
229
- signing_key:
215
+ rubygems_version: 3.3.26
216
+ signing_key:
230
217
  specification_version: 4
231
218
  summary: Exporting tool for Trac
232
219
  test_files: []