metatron 0.8.8 → 0.10.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: 391fa61dd0511b360cf7a0327d6b5de19d9094908349feb79804ef2695db0950
4
- data.tar.gz: 1db1d4a4590db27056933cb052445f2fecb4a856d024e0df8322e7379e3414ba
3
+ metadata.gz: d7a6131869b316def00f00a41810b2aa467b4767d1fc360eb74105ce534568e8
4
+ data.tar.gz: f2d924bbc2240d5c04cde9942fb4907b585fce9434f6185b896dcf86afb3323a
5
5
  SHA512:
6
- metadata.gz: 305f8fd71865860a6f85e21c79f0f6426bcb0cf260e63483d09c192a326de713db53f1da8a64728c336627ea239d6cb55c25272f56ca44785ed48d1c7300a6d9
7
- data.tar.gz: effcc2c4603ead394a4a816412cf0460ff9c52a21621987492b17433e239fb8f695e014b252a463f32cecd41d76f5d6cb112bbbd32417ab93aaad5e7c971a148
6
+ metadata.gz: fe29d9fc841799ce4805cd31d002c9fa86e0cea5f91e4d8a9544165eb26563a4ec10d6a131434fe3ad54fd4bb1df3625fe6e19ccd1e5e73c66114b38a46209f9
7
+ data.tar.gz: d0835ea094c3fe4c990d96d711cbc55fcab15b2314008a80a6aec16d76675754425738bbd73744999a304cb7077af424e3d1a024ffadbe818a4f0397a854e535
@@ -0,0 +1,54 @@
1
+ name: CI
2
+
3
+ on:
4
+ pull_request:
5
+
6
+ jobs:
7
+ lint:
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - name: Checkout code
11
+ uses: actions/checkout@v4
12
+
13
+ - name: Set up Ruby
14
+ uses: ruby/setup-ruby@v1
15
+ with:
16
+ ruby-version: .ruby-version
17
+ bundler-cache: true
18
+
19
+ - name: Lint code for consistent style
20
+ run: bundle exec rubocop -f github
21
+
22
+ yard:
23
+ runs-on: ubuntu-latest
24
+ steps:
25
+ - name: Checkout code
26
+ uses: actions/checkout@v4
27
+
28
+ - name: Set up Ruby
29
+ uses: ruby/setup-ruby@v1
30
+ with:
31
+ ruby-version: .ruby-version
32
+ bundler-cache: true
33
+
34
+ - name: Generate YARD documentation
35
+ run: bundle exec rake yard
36
+
37
+ test:
38
+ runs-on: ubuntu-latest
39
+ strategy:
40
+ matrix:
41
+ ruby-version: ['3.3', '3.4']
42
+
43
+ steps:
44
+ - name: Checkout code
45
+ uses: actions/checkout@v4
46
+
47
+ - name: Set up Ruby
48
+ uses: ruby/setup-ruby@v1
49
+ with:
50
+ ruby-version: ${{ matrix.ruby-version }}
51
+ bundler-cache: true
52
+
53
+ - name: Run tests
54
+ run: bundle exec rake spec
@@ -0,0 +1,33 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ branches: [ "main" ]
6
+
7
+ permissions:
8
+ contents: write
9
+ id-token: write
10
+ pull-requests: write
11
+
12
+ jobs:
13
+ release:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+
17
+ - uses: actions/checkout@v4
18
+
19
+ ## Here's the new step for release-please
20
+ - uses: googleapis/release-please-action@v4
21
+ id: release
22
+ with:
23
+ token: ${{ secrets.AUTO_RELEASE_TOKEN }}
24
+
25
+ - name: Set up Ruby
26
+ uses: ruby/setup-ruby@v1
27
+ if: ${{ steps.release.outputs.release_created }}
28
+ with:
29
+ bundler-cache: true
30
+ ruby-version: .ruby-version
31
+
32
+ - uses: rubygems/release-gem@v1
33
+ if: ${{ steps.release.outputs.release_created }}
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.10.0"
3
+ }
data/.rubocop.yml CHANGED
@@ -1,7 +1,9 @@
1
1
  require:
2
- - rubocop-rake
3
2
  - rubocop-rspec
4
3
 
4
+ plugins:
5
+ - rubocop-rake
6
+
5
7
  Layout/LineLength:
6
8
  Max: 100
7
9
 
data/CHANGELOG.md ADDED
@@ -0,0 +1,30 @@
1
+ # Changelog
2
+
3
+ ## [0.10.0](https://github.com/jgnagy/metatron/compare/metatron/v0.9.0...metatron/v0.10.0) (2025-03-19)
4
+
5
+
6
+ ### ⚠ BREAKING CHANGES
7
+
8
+ * **templates:** pod match labels are distinct
9
+ * **templates:** allow overriding base labels
10
+
11
+ ### Features
12
+
13
+ * **templates:** allow overriding base labels ([ba3d4c2](https://github.com/jgnagy/metatron/commit/ba3d4c2813518a5b9bb845700656b2ce67321369))
14
+ * **templates:** pod match labels are distinct ([82b59d0](https://github.com/jgnagy/metatron/commit/82b59d0d93cbf1c4423895f20351e2b73d6057e0))
15
+
16
+ ## [0.9.0](https://github.com/jgnagy/metatron/compare/metatron-v0.8.8...metatron/v0.9.0) (2025-02-17)
17
+
18
+
19
+ ### Features
20
+
21
+ * **templates:** add priority class template ([a735e47](https://github.com/jgnagy/metatron/commit/a735e470d0a2f5c7c471ec95a7559cbbe8349268))
22
+ * **templates:** add support for pod priority ([f73d7b2](https://github.com/jgnagy/metatron/commit/f73d7b293c26eb0b5e2f65212c87a32b701b2151))
23
+
24
+ ## [0.8.8](https://github.com/jgnagy/metatron/compare/v0.8.2...v0.8.8) (2025-02-16)
25
+
26
+
27
+ ### Features
28
+
29
+ * adding support for LimitRange resource ([b779d47](https://github.com/jgnagy/metatron/commit/b779d4764ccf5b0e687ff328e69808ae12ff3c30))
30
+ * adds dataSource and dataSourceRef to PVCs ([5339a4e](https://github.com/jgnagy/metatron/commit/5339a4ea732695530814e281f6d0ae2de3e7889d))
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- metatron (0.8.8)
4
+ metatron (0.10.0)
5
5
  json (~> 2.6)
6
6
  rack (>= 2.2.8, < 4)
7
7
 
@@ -12,19 +12,20 @@ GEM
12
12
  backport (1.2.0)
13
13
  benchmark (0.4.0)
14
14
  byebug (11.1.3)
15
- diff-lcs (1.5.1)
15
+ diff-lcs (1.6.0)
16
16
  docile (1.4.1)
17
17
  jaro_winkler (1.6.0)
18
- json (2.10.1)
18
+ json (2.10.2)
19
19
  kramdown (2.5.1)
20
20
  rexml (>= 3.3.9)
21
21
  kramdown-parser-gfm (1.1.0)
22
22
  kramdown (~> 2.0)
23
23
  language_server-protocol (3.17.0.4)
24
- logger (1.6.5)
25
- nokogiri (1.18.2-arm64-darwin)
24
+ lint_roller (1.1.0)
25
+ logger (1.6.6)
26
+ nokogiri (1.18.3-arm64-darwin)
26
27
  racc (~> 1.4)
27
- nokogiri (1.18.2-x86_64-linux-gnu)
28
+ nokogiri (1.18.3-x86_64-linux-gnu)
28
29
  racc (~> 1.4)
29
30
  observer (0.1.2)
30
31
  ostruct (0.6.1)
@@ -33,7 +34,7 @@ GEM
33
34
  ast (~> 2.4.1)
34
35
  racc
35
36
  racc (1.8.1)
36
- rack (3.1.10)
37
+ rack (3.1.12)
37
38
  rack-test (2.2.0)
38
39
  rack (>= 1.3)
39
40
  rainbow (3.1.1)
@@ -43,7 +44,7 @@ GEM
43
44
  regexp_parser (2.10.0)
44
45
  reverse_markdown (3.0.0)
45
46
  nokogiri
46
- rexml (3.4.0)
47
+ rexml (3.4.1)
47
48
  rspec (3.13.0)
48
49
  rspec-core (~> 3.13.0)
49
50
  rspec-expectations (~> 3.13.0)
@@ -57,9 +58,10 @@ GEM
57
58
  diff-lcs (>= 1.2.0, < 2.0)
58
59
  rspec-support (~> 3.13.0)
59
60
  rspec-support (3.13.2)
60
- rubocop (1.71.2)
61
+ rubocop (1.72.1)
61
62
  json (~> 2.3)
62
- language_server-protocol (>= 3.17.0)
63
+ language_server-protocol (~> 3.17.0.2)
64
+ lint_roller (~> 1.1.0)
63
65
  parallel (~> 1.10)
64
66
  parser (>= 3.3.0.2)
65
67
  rainbow (>= 2.2.2, < 4.0)
@@ -73,8 +75,9 @@ GEM
73
75
  rubocop (~> 1.41)
74
76
  rubocop-factory_bot (2.26.1)
75
77
  rubocop (~> 1.61)
76
- rubocop-rake (0.6.0)
77
- rubocop (~> 1.0)
78
+ rubocop-rake (0.7.1)
79
+ lint_roller (~> 1.1)
80
+ rubocop (>= 1.72.1)
78
81
  rubocop-rspec (2.31.0)
79
82
  rubocop (~> 1.40)
80
83
  rubocop-capybara (~> 2.17)
data/Rakefile CHANGED
@@ -8,7 +8,7 @@ require "rubocop/rake_task"
8
8
  require "yard"
9
9
 
10
10
  RSpec::Core::RakeTask.new(:spec)
11
- RuboCop::RakeTask.new(:rubocop)
11
+ RuboCop::RakeTask.new(:rubocop) # (moved to dedicated github action job)
12
12
  YARD::Rake::YardocTask.new
13
13
 
14
14
  desc "allows running a demo controller"
@@ -16,41 +16,4 @@ task :demo do
16
16
  system("rackup --host 0.0.0.0 -P #{File.expand_path(".")}/tmp/daemon.pid")
17
17
  end
18
18
 
19
- desc "automatically bump the gem's version"
20
- task :bump, [:type] do |_t, args|
21
- type = args[:type] || ENV["TYPE"] || "patch"
22
- current_version = Metatron::VERSION
23
- new_version = calculate_new_version(type)
24
- puts "Bumping gem version from #{current_version} to #{new_version}"
25
- update_version(new_version)
26
- update_gem_lock
27
- end
28
-
29
19
  task default: %i[spec rubocop yard]
30
-
31
- def calculate_new_version(type)
32
- version = Metatron::VERSION.split(".").map(&:to_i)
33
- case type
34
- when "patch"
35
- version[2] += 1
36
- when "minor"
37
- version[1] += 1
38
- version[2] = 0
39
- when "major"
40
- version[0] += 1
41
- version[1] = 0
42
- version[2] = 0
43
- end
44
-
45
- version.join(".")
46
- end
47
-
48
- def update_gem_lock
49
- system("bundle lock --update")
50
- end
51
-
52
- def update_version(new_version)
53
- file = File.read("lib/metatron/version.rb")
54
- new_contents = file.gsub(/VERSION = "(.+)"/, %(VERSION = "#{new_version}"))
55
- File.write("lib/metatron/version.rb", new_contents)
56
- end
@@ -15,8 +15,6 @@ module Metatron
15
15
  def finalize = raise NotImplementedError
16
16
  def sync = raise NotImplementedError
17
17
 
18
- private
19
-
20
18
  STRATEGY = {
21
19
  "/customize" => { data: :customize, etag: :calculate_customize_etag },
22
20
  # finalize calls should be rare and unique enough that we don't need to worry about ETags
@@ -24,6 +22,8 @@ module Metatron
24
22
  "/sync" => { data: :sync, etag: :calculate_sync_etag }
25
23
  }.freeze
26
24
 
25
+ private
26
+
27
27
  def _call
28
28
  return access_control_allow_methods if request.options?
29
29
  return not_found unless request.post?
@@ -4,7 +4,8 @@ module Metatron
4
4
  # Base class for templating Kubernetes resources
5
5
  class Template
6
6
  attr_accessor :api_version, :name, :additional_labels
7
- attr_reader :kind, :label_namespace
7
+ attr_reader :kind
8
+ attr_writer :base_labels
8
9
 
9
10
  class << self
10
11
  attr_writer :label_namespace
@@ -38,7 +39,6 @@ module Metatron
38
39
 
39
40
  def initialize(name)
40
41
  @name = name
41
- @label_namespace = self.class.label_namespace
42
42
  @api_version = "v1"
43
43
  @kind = find_kind
44
44
  @additional_labels = {}
@@ -47,10 +47,15 @@ module Metatron
47
47
 
48
48
  alias apiVersion api_version
49
49
 
50
- def base_labels = { "#{label_namespace}/name": name }
50
+ def base_labels
51
+ @base_labels || { "#{label_namespace}/name": name }
52
+ end
51
53
 
52
54
  private
53
55
 
56
+ # defers to the nearest metatron ancestor to determine the label namespace
57
+ def label_namespace = self.class.label_namespace
58
+
54
59
  def run_initializers
55
60
  self.class.nearest_metatron_ancestor.initializers.each { send(_1.to_sym) }
56
61
  end
@@ -9,13 +9,13 @@ module Metatron
9
9
  # base.extend ClassMethods
10
10
  base.class_eval do
11
11
  attr_accessor :active_deadline_seconds, :additional_pod_labels,
12
- :affinity, :automount_service_account_token, :containers,
13
- :dns_policy, :enable_service_links, :hostname, :host_ipc, :host_network,
14
- :host_pid, :image_pull_secrets, :init_containers, :node_selector,
15
- :node_name, :persistent_volume_claims, :pod_annotations, :restart_policy,
16
- :scheduler_name, :security_context, :service_account,
17
- :service_account_name, :share_process_namespace, :subdomain,
18
- :termination_grace_period_seconds, :tolerations, :volumes
12
+ :additional_pod_match_labels, :affinity, :automount_service_account_token,
13
+ :containers, :dns_policy, :enable_service_links, :hostname, :host_ipc,
14
+ :host_network, :host_pid, :image_pull_secrets, :init_containers,
15
+ :node_selector, :node_name, :persistent_volume_claims, :pod_annotations,
16
+ :priority_class_name, :restart_policy, :scheduler_name, :security_context,
17
+ :service_account, :service_account_name, :share_process_namespace,
18
+ :subdomain, :termination_grace_period_seconds, :tolerations, :volumes
19
19
 
20
20
  initializer :pod_producer_initialize
21
21
 
@@ -26,6 +26,7 @@ module Metatron
26
26
  alias_method :hostIPC, :host_ipc
27
27
  alias_method :hostNetwork, :host_network
28
28
  alias_method :hostPID, :host_pid
29
+ alias_method :priorityClassName, :priority_class_name
29
30
  alias_method :nodeSelector, :node_selector
30
31
  alias_method :nodeName, :node_name
31
32
  alias_method :restartPolicy, :restart_policy
@@ -40,6 +41,7 @@ module Metatron
40
41
 
41
42
  def pod_producer_initialize
42
43
  @additional_pod_labels = {}
44
+ @additional_pod_match_labels = {}
43
45
  @affinity = {}
44
46
  @containers = []
45
47
  @enable_service_links = nil
@@ -48,6 +50,7 @@ module Metatron
48
50
  @node_selector = {}
49
51
  @persistent_volume_claims = []
50
52
  @pod_annotations = {}
53
+ @priority_class_name = nil
51
54
  @restart_policy = nil
52
55
  @security_context = {}
53
56
  @termination_grace_period_seconds = nil
@@ -82,6 +85,18 @@ module Metatron
82
85
  pod_annotations && !pod_annotations.empty? ? { annotations: pod_annotations } : {}
83
86
  end
84
87
 
88
+ def formatted_priority_class_name
89
+ return {} unless priority_class_name
90
+
91
+ if priority_class_name.is_a?(String)
92
+ { priorityClassName: priority_class_name }
93
+ elsif priority_class_name.is_a?(PriorityClass)
94
+ { priorityClassName: priority_class_name.name }
95
+ else
96
+ raise "priority_class_name must be a String or a PriorityClass"
97
+ end
98
+ end
99
+
85
100
  def formatted_security_context
86
101
  security_context && !security_context.empty? ? { securityContext: } : {}
87
102
  end
@@ -138,6 +153,7 @@ module Metatron
138
153
  .merge(formatted_init_containers)
139
154
  .merge(formatted_image_pull_secrets)
140
155
  .merge(formatted_node_selector)
156
+ .merge(formatted_priority_class_name)
141
157
  .compact
142
158
  }.compact
143
159
  end
@@ -25,7 +25,7 @@ module Metatron
25
25
  }.merge(formatted_annotations).merge(formatted_namespace),
26
26
  spec: {
27
27
  selector: {
28
- matchLabels: base_labels.merge(additional_pod_labels)
28
+ matchLabels: base_labels.merge(additional_pod_match_labels)
29
29
  }
30
30
  }.merge(pod_template)
31
31
  }
@@ -28,7 +28,7 @@ module Metatron
28
28
  replicas:,
29
29
  strategy:,
30
30
  selector: {
31
- matchLabels: base_labels.merge(additional_pod_labels)
31
+ matchLabels: base_labels.merge(additional_pod_match_labels)
32
32
  }
33
33
  }.merge(pod_template).compact
34
34
  }
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Metatron
4
+ module Templates
5
+ # Template for the PriorityClass k8s resource
6
+ class PriorityClass < Template
7
+ include Concerns::Annotated
8
+
9
+ attr_accessor :additional_labels, :description, :global_default, :value
10
+
11
+ alias global_default? global_default
12
+ alias globalDefault global_default
13
+
14
+ def initialize(name)
15
+ super
16
+ @api_version = "scheduling.k8s.io/v1"
17
+ @additional_labels = {}
18
+ @description = nil
19
+ @global_default = false
20
+ @value = 0
21
+ end
22
+
23
+ def render
24
+ {
25
+ apiVersion:,
26
+ kind:,
27
+ metadata: {
28
+ name:,
29
+ labels: base_labels.merge(additional_labels)
30
+ }.merge(formatted_annotations),
31
+ description:,
32
+ globalDefault:,
33
+ value:
34
+ }.compact
35
+ end
36
+ end
37
+ end
38
+ end
@@ -27,7 +27,7 @@ module Metatron
27
27
  spec: {
28
28
  replicas:,
29
29
  selector: {
30
- matchLabels: base_labels.merge(additional_pod_labels)
30
+ matchLabels: base_labels.merge(additional_pod_match_labels)
31
31
  }
32
32
  }.merge(pod_template)
33
33
  }
@@ -38,7 +38,7 @@ module Metatron
38
38
  serviceName:,
39
39
  updateStrategy:,
40
40
  selector: {
41
- matchLabels: base_labels.merge(additional_pod_labels)
41
+ matchLabels: base_labels.merge(additional_pod_match_labels)
42
42
  }
43
43
  }.merge(pod_template).merge(volume_claim_templates).compact
44
44
  }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Metatron
4
- VERSION = "0.8.8"
4
+ VERSION = "0.10.0"
5
5
  end
data/lib/metatron.rb CHANGED
@@ -35,6 +35,7 @@ require "metatron/templates/limit_range"
35
35
  require "metatron/templates/namespace"
36
36
  require "metatron/templates/network_policy"
37
37
  require "metatron/templates/persistent_volume_claim"
38
+ require "metatron/templates/priority_class"
38
39
  require "metatron/templates/replica_set"
39
40
  require "metatron/templates/resource_quota"
40
41
  require "metatron/templates/role"
data/metatron.gemspec CHANGED
@@ -14,11 +14,12 @@ Gem::Specification.new do |spec|
14
14
 
15
15
  spec.metadata["homepage_uri"] = spec.homepage
16
16
  spec.metadata["source_code_uri"] = "https://github.com/jgnagy/metatron"
17
+ spec.metadata["changelog_uri"] = "https://github.com/jgnagy/metatron/blob/main/CHANGELOG.md"
17
18
 
18
19
  # Specify which files should be added to the gem when it is released.
19
20
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
20
21
  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
+ `git ls-files -z`.split("\x0").reject { _1.match(%r{^(test|spec|features)/}) }
22
23
  end
23
24
  spec.bindir = "exe"
24
25
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
@@ -0,0 +1,17 @@
1
+ {
2
+ "bootstrap-sha": "35ed7bd080d69b5e323fa748735b4a7ea885f224",
3
+ "last-release-sha": "35ed7bd080d69b5e323fa748735b4a7ea885f224",
4
+ "packages": {
5
+ ".": {
6
+ "package-name": "metatron",
7
+ "changelog-path": "CHANGELOG.md",
8
+ "release-type": "ruby",
9
+ "bump-minor-pre-major": true,
10
+ "bump-patch-for-minor-pre-major": true,
11
+ "draft": false,
12
+ "prerelease": false,
13
+ "version-file": "lib/metatron/version.rb"
14
+ }
15
+ },
16
+ "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json"
17
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metatron
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.8
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Gnagy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-02-12 00:00:00.000000000 Z
11
+ date: 2025-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -219,11 +219,14 @@ executables: []
219
219
  extensions: []
220
220
  extra_rdoc_files: []
221
221
  files:
222
+ - ".github/workflows/ci.yml"
223
+ - ".github/workflows/release.yml"
222
224
  - ".gitignore"
223
- - ".roxanne.yml"
225
+ - ".release-please-manifest.json"
224
226
  - ".rspec"
225
227
  - ".rubocop.yml"
226
228
  - ".ruby-version"
229
+ - CHANGELOG.md
227
230
  - CODE_OF_CONDUCT.md
228
231
  - CONTRIBUTING.md
229
232
  - Gemfile
@@ -255,6 +258,7 @@ files:
255
258
  - lib/metatron/templates/network_policy.rb
256
259
  - lib/metatron/templates/persistent_volume_claim.rb
257
260
  - lib/metatron/templates/pod.rb
261
+ - lib/metatron/templates/priority_class.rb
258
262
  - lib/metatron/templates/replica_set.rb
259
263
  - lib/metatron/templates/resource_quota.rb
260
264
  - lib/metatron/templates/role.rb
@@ -265,15 +269,14 @@ files:
265
269
  - lib/metatron/templates/stateful_set.rb
266
270
  - lib/metatron/version.rb
267
271
  - metatron.gemspec
268
- - scripts/build.sh
269
- - scripts/release.sh
270
- - scripts/test.sh
272
+ - release-please-config.json
271
273
  homepage: https://github.com/jgnagy/metatron
272
274
  licenses:
273
275
  - MIT
274
276
  metadata:
275
277
  homepage_uri: https://github.com/jgnagy/metatron
276
278
  source_code_uri: https://github.com/jgnagy/metatron
279
+ changelog_uri: https://github.com/jgnagy/metatron/blob/main/CHANGELOG.md
277
280
  post_install_message:
278
281
  rdoc_options: []
279
282
  require_paths:
data/.roxanne.yml DELETED
@@ -1,14 +0,0 @@
1
- version: 1.0
2
- stages:
3
- build:
4
- image: ruby:3.3
5
- scripts:
6
- - ./scripts/build.sh
7
- test:
8
- image: ruby:3.3
9
- scripts:
10
- - ./scripts/test.sh
11
- release:
12
- image: ruby:3.3
13
- only:
14
- - main
data/scripts/build.sh DELETED
@@ -1,6 +0,0 @@
1
- #!/bin/sh
2
-
3
- gem install bundler
4
- bundle install --jobs=4
5
- rm -rf pkg/*.gem
6
- bundle exec rake build
data/scripts/release.sh DELETED
@@ -1,7 +0,0 @@
1
- #!/bin/sh
2
-
3
- gem install bundler
4
- bundle install --jobs=4
5
- rm -rf pkg/*.gem
6
- bundle exec rake build
7
- bundle exec gem push pkg/*.gem
data/scripts/test.sh DELETED
@@ -1,6 +0,0 @@
1
- #!/bin/sh
2
-
3
- gem install bundler
4
- bundle install --jobs=4
5
- gem build ./metatron.gemspec
6
- bundle exec rake