legionio 1.2.0 → 1.2.1

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: 91d1ef3b54ccda9a77f9d88713ca38fc57392928cc61622f1c6eb2c8b0e21954
4
- data.tar.gz: 1fc02da736d4bfe459748e5d1fd8b9c1eed4d2c2b1fe62579a52acfe920f0f34
3
+ metadata.gz: 27d7538852deb5d105fcd7e3be3d29f0681f3207d5ca3c93586360c7ac09caa2
4
+ data.tar.gz: 8ce104f2e2dc5c5908030ac9c4da10cef6a9b1bda25516794d116eaed9b7ca3b
5
5
  SHA512:
6
- metadata.gz: c8e875c46ff943d39d435a1c076bf5fe0f6cc474f8c028ea2fe88559c1d6cc79bdeaeef814d534cabe34777c524107e7641636a8302976d63aa03a8d402687b5
7
- data.tar.gz: 04bb0d0e955a3d436dfb045e03eebc8ac39ede6d8421407833b2ef706ce7e4f594d9698280693e0000bda845f3ee97cee023a3e8b53fc5ad2dd906080ba58207
6
+ metadata.gz: d5249f3a26128f64b9d001a84838bfcb090fb73c7a095104f5bebb87230663e58d7830433506fe681dec7320ccac874916c94539f7bac290ea45e148692428f8
7
+ data.tar.gz: 7a489e733d2fa7b373f5aca7fee5ddd771a58ad1ea4d592a3d8590257e4c8ed13d7eb5fec0cab1ce2a8c3108cf9cdfc8624e9c517299252ed29ee972232a3d87
data/CHANGELOG.md CHANGED
@@ -1,4 +1,8 @@
1
1
  # Legion Changelog
2
2
 
3
+ ## v1.2.1
4
+ * Updating LEX CLI templates
5
+ * Fixing issue with LEX schema migrator
6
+
3
7
  ## v1.2.0
4
8
  Moving from BitBucket to GitHub inside the Optum org. All git history is reset from this point on
data/Gemfile CHANGED
@@ -8,3 +8,5 @@ group :test do
8
8
  gem 'rubocop'
9
9
  gem 'simplecov'
10
10
  end
11
+
12
+ gem 'lex-node_manager', path: '../../extensions/lex-node_manager'
@@ -0,0 +1,5 @@
1
+ FROM legionio/legion:latest
2
+ LABEL maintainer="Matthew Iverson <matthewdiverson@gmail.com>"
3
+
4
+ RUN gem install lex-<%= config[:lex] %> legion-data --no-document --no-prerelease
5
+ CMD ruby $(which legionio)
@@ -1,3 +1,10 @@
1
1
  source 'https://rubygems.org'
2
-
3
2
  gemspec
3
+
4
+ group :test do
5
+ gem 'rake'
6
+ gem 'rspec'
7
+ gem 'rspec_junit_formatter'
8
+ gem 'rubocop'
9
+ gem 'simplecov'
10
+ end
@@ -3,24 +3,22 @@ require_relative 'lib/legion/extensions/<%= config[:lex] %>/version'
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = 'lex-<%= config[:lex] %>'
5
5
  spec.version = Legion::Extensions::<%= config[:class_name] %>::VERSION
6
- spec.authors = ['Esity']
7
- spec.email = ['matthewdiverson@gmail.com']
6
+ spec.authors = []
7
+ spec.email = []
8
8
 
9
9
  spec.summary = 'LEX::<%= config[:class_name] %>'
10
10
  spec.description = 'Connects Legion to <%= config[:class_name] %>'
11
- spec.homepage = 'https://bitbucket.org/legion-io/lex-<%= config[:lex] %>'
11
+ spec.homepage = 'https://github.com/LegionIO/lex-<%= config[:lex] %>'
12
12
  spec.license = 'MIT'
13
13
  spec.required_ruby_version = Gem::Requirement.new('>= 2.5.0')
14
14
 
15
15
  spec.metadata['homepage_uri'] = spec.homepage
16
- spec.metadata['source_code_uri'] = 'https://bitbucket.org/legion-io/lex-<%= config[:lex] %>/src'
17
- spec.metadata['documentation_uri'] = 'https://legionio.atlassian.net/wiki/spaces/LEX/pages/'
18
- spec.metadata['changelog_uri'] = 'https://legionio.atlassian.net/wiki/spaces/LEX/pages/'
19
- spec.metadata['bug_tracker_uri'] = 'https://bitbucket.org/legion-io/lex-<%= config[:lex] %>/issues'
16
+ spec.metadata['source_code_uri'] = 'https://github.com/LegionIO/lex-<%= config[:lex] %>/src'
17
+ spec.metadata['documentation_uri'] = 'https://github.com/LegionIO/lex-<%= config[:lex] %>/wiki'
18
+ spec.metadata['changelog_uri'] = 'https://github.com/LegionIO/lex-<%= config[:lex] %>'
19
+ spec.metadata['bug_tracker_uri'] = 'https://github.com/LegionIO/lex-<%= config[:lex] %>'
20
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
21
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
22
+ end
20
23
  spec.require_paths = ['lib']
21
-
22
- spec.add_development_dependency 'rake'
23
- spec.add_development_dependency 'rspec'
24
- spec.add_development_dependency 'rubocop'
25
- spec.add_development_dependency 'simplecov'
26
24
  end
@@ -0,0 +1,23 @@
1
+ name: RSpec
2
+ on: [push, pull_request]
3
+
4
+ jobs:
5
+ rspec:
6
+ strategy:
7
+ fail-fast: false
8
+ matrix:
9
+ os: [ubuntu-latest]
10
+ ruby: [2.7]
11
+ runs-on: ${{ matrix.os }}
12
+ steps:
13
+ - uses: actions/checkout@v2
14
+ - uses: ruby/setup-ruby@v1
15
+ with:
16
+ ruby-version: ${{ matrix.ruby }}
17
+ bundler-cache: true
18
+ - name: RSpec run
19
+ run: |
20
+ bash -c "
21
+ bundle exec rspec
22
+ [[ $? -ne 2 ]]
23
+ "
@@ -0,0 +1,28 @@
1
+ name: Rubocop
2
+ on: [push, pull_request]
3
+ jobs:
4
+ rubocop:
5
+ strategy:
6
+ fail-fast: false
7
+ matrix:
8
+ os: [ubuntu-latest]
9
+ ruby: [2.7]
10
+ runs-on: ${{ matrix.os }}
11
+ steps:
12
+ - uses: actions/checkout@v2
13
+ - uses: ruby/setup-ruby@v1
14
+ with:
15
+ ruby-version: ${{ matrix.ruby }}
16
+ bundler-cache: true
17
+ - name: Install Rubocop
18
+ run: gem install rubocop code-scanning-rubocop
19
+ - name: Rubocop run --no-doc
20
+ run: |
21
+ bash -c "
22
+ rubocop --require code_scanning --format CodeScanning::SarifFormatter -o rubocop.sarif
23
+ [[ $? -ne 2 ]]
24
+ "
25
+ - name: Upload Sarif output
26
+ uses: github/codeql-action/upload-sarif@v1
27
+ with:
28
+ sarif_file: rubocop.sarif
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2020 Esity
3
+ Copyright (c) 2021
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -9,6 +9,7 @@ Style/Documentation:
9
9
  AllCops:
10
10
  TargetRubyVersion: 2.5
11
11
  NewCops: enable
12
+ SuggestExtensions: false
12
13
  Style/FrozenStringLiteralComment:
13
14
  Enabled: false
14
15
  Naming/FileName:
@@ -1,7 +1,7 @@
1
1
  module Legion
2
2
  module Extensions
3
3
  module <%= config[:class_name] %>
4
- VERSION = '0.1.1'.freeze
4
+ VERSION = '0.1.0'.freeze
5
5
  end
6
6
  end
7
7
  end
@@ -4,10 +4,11 @@ module Legion
4
4
  module Extensions
5
5
  module Data
6
6
  class Migrator < Sequel::IntegerMigrator
7
- def initialize(path, extension, _lex_name, **)
8
- Legion::Logging.fatal @extension
7
+ def initialize(path, extension, lex_name, **)
9
8
  @path = path
10
9
  @extension = extension
10
+ @lex_name = lex_name
11
+ schema_dataset
11
12
  super(Legion::Data::Connection.sequel, path)
12
13
  end
13
14
 
@@ -21,9 +22,9 @@ module Legion
21
22
 
22
23
  def schema_dataset
23
24
  dataset = Legion::Data::Connection.sequel.from(default_schema_table).where(namespace: @extension)
24
- return dataset unless dataset.count.positive?
25
+ return dataset if dataset.count.positive?
25
26
 
26
- Legion::Logging.unknown Legion::Data::Model::Extension.insert(active: 1, namespace: @extension, extension: lex_name)
27
+ Legion::Data::Model::Extension.insert(active: 1, namespace: @extension, name: @lex_name)
27
28
  Legion::Data::Connection.sequel.from(default_schema_table).where(namespace: @extension)
28
29
  end
29
30
  alias ds schema_dataset
data/lib/legion/lex.rb CHANGED
@@ -63,16 +63,17 @@ module Legion
63
63
  template('cli/lex/templates/base/gemspec.erb', "#{filename}/#{filename}.gemspec", vars)
64
64
  template('cli/lex/templates/base/gemfile.erb', "#{filename}/Gemfile", vars)
65
65
  template('cli/lex/templates/base/gitignore.erb', "#{filename}/.gitignore", vars)
66
- template('cli/lex/templates/base/lic.erb', "#{filename}/LICENSE.txt", vars)
67
- template('cli/lex/templates/base/rakefile.erb', "#{filename}/Rakefile", vars)
66
+ template('cli/lex/templates/base/lic.erb', "#{filename}/LICENSE", vars)
68
67
  template('cli/lex/templates/base/rubocop.yml.erb', "#{filename}/.rubocop.yml", vars)
69
68
  template('cli/lex/templates/base/readme.md.erb', "#{filename}/README.md", **vars)
70
69
  template('cli/lex/templates/base/lex.erb', "#{filename}/lib/legion/extensions/#{name}.rb", vars)
71
70
  template('cli/lex/templates/base/version.erb', "#{filename}/lib/legion/extensions/#{name}/version.rb", vars)
72
- template('cli/lex/templates/base/bitbucket.yml.erb', "#{filename}/bitbucket-pipelines.yml", vars) if options[:pipeline]
73
71
  template('cli/lex/templates/base/spec_helper.rb.erb', "#{filename}/spec/spec_helper.rb", vars)
74
72
  template('cli/lex/templates/base/lex_spec.erb', "#{filename}/spec/legion/#{name}_spec.rb", vars)
75
73
 
74
+ template('cli/lex/templates/base/github_rspec.yml.erb', "#{filename}/.github/workflows/rspec.yml", vars)
75
+ template('cli/lex/templates/base/github_rubocop.yml.erb', "#{filename}/.github/workflows/rubocop.yml", vars)
76
+
76
77
  return if !options[:git_init] && !options[:bundle_install]
77
78
 
78
79
  run("cd lex_gen-#{filename}")
@@ -84,6 +85,28 @@ module Legion
84
85
 
85
86
  run('bundle update') if options[:bundle_install]
86
87
  end
88
+
89
+ method_option github: true
90
+ method_option rubygems: true
91
+ method_option docker: true
92
+ desc 'deploy a lex to multiple places', 'deploys a lex'
93
+ def deploy
94
+ system 'gem build'
95
+ if options[:github_gem]
96
+ system "gh release create v#{version} '#{long_name}-#{version}.gem'"
97
+ system 'gh release create v1.1.1 lex-node-1.1.1.gem -n v1.1.1 -t v1.1.1'
98
+ system "gem push --key github --host https://rubygems.pkg.github.com/LegionIO"
99
+ end
100
+
101
+ if options[:rubygems]
102
+ system "gem push .gem"
103
+ end
104
+
105
+ if options[:docker]
106
+
107
+ end
108
+
109
+ end
87
110
  end
88
111
  end
89
112
  end
@@ -29,11 +29,11 @@ module Legion
29
29
  end
30
30
 
31
31
  def setup_data
32
- if RUBY_ENGINE == 'truffleruby'
33
- Legion::Logging.error 'Legion::Data does not support truffleruby, please use MRI for any LEX that require it '
34
- Legion::Settings[:data][:connected] = false
35
- return false
36
- end
32
+ # if RUBY_ENGINE == 'truffleruby'
33
+ # Legion::Logging.error 'Legion::Data does not support truffleruby, please use MRI for any LEX that require it '
34
+ # Legion::Settings[:data][:connected] = false
35
+ # return false
36
+ # end
37
37
 
38
38
  require 'legion/data'
39
39
  Legion::Settings.merge_settings(:data, Legion::Data::Settings.default)
@@ -1,3 +1,3 @@
1
1
  module Legion
2
- VERSION = '1.2.0'.freeze
2
+ VERSION = '1.2.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: legionio
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-10 00:00:00.000000000 Z
11
+ date: 2021-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -237,13 +237,15 @@ files:
237
237
  - lib/legion/cli/lex/templates/actor.erb
238
238
  - lib/legion/cli/lex/templates/actor_spec.erb
239
239
  - lib/legion/cli/lex/templates/base/bitbucket.yml.erb
240
+ - lib/legion/cli/lex/templates/base/dockerfile.erb
240
241
  - lib/legion/cli/lex/templates/base/gemfile.erb
241
242
  - lib/legion/cli/lex/templates/base/gemspec.erb
243
+ - lib/legion/cli/lex/templates/base/github_rspec.yml.erb
244
+ - lib/legion/cli/lex/templates/base/github_rubocop.yml.erb
242
245
  - lib/legion/cli/lex/templates/base/gitignore.erb
243
246
  - lib/legion/cli/lex/templates/base/lex.erb
244
247
  - lib/legion/cli/lex/templates/base/lex_spec.erb
245
248
  - lib/legion/cli/lex/templates/base/lic.erb
246
- - lib/legion/cli/lex/templates/base/rakefile.erb
247
249
  - lib/legion/cli/lex/templates/base/readme.md.erb
248
250
  - lib/legion/cli/lex/templates/base/rubocop.yml.erb
249
251
  - lib/legion/cli/lex/templates/base/spec_helper.rb.erb
@@ -1,6 +0,0 @@
1
- require 'bundler/gem_tasks'
2
- require 'rspec/core/rake_task'
3
-
4
- RSpec::Core::RakeTask.new(:spec)
5
-
6
- task default: :spec