relaton-iso 1.7.0 → 1.7.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: a4c6dd77577e8878e6e30b94e3f3119457db478738bd38c121b859bb001b4077
4
- data.tar.gz: d11162402603a5202e7c5c436f088064f3541bee0833c717b657e9ba42a188af
3
+ metadata.gz: f0c5bc4d61a17fbf55ecc1d68d689198c181c5d68924b1d4cf73f4d7e166ff14
4
+ data.tar.gz: 1621f2d080eea7e977811a1616e80137317de4339fd9820e69f7245d996b3619
5
5
  SHA512:
6
- metadata.gz: 5004677263e649622322aa2fe66cce4f3d5df90dd28b64ffe153822fe9ac2b9b516a87760a2e096824b862e39d090ac1236bdc586f03bb7040b89ebb49fc35ec
7
- data.tar.gz: a73ca6be99b22b0fc8c1e8b6c26974ac83d5fde73f03566469df00c46835cd2b122e4268bb096c2cc34cb150fc6e4ad27760c91dc1bb36c5ac1901eea0eb81b8
6
+ metadata.gz: 4842a83c61845dc60985b5c916902d21b423be5c6eeeaf27f0d31e6db7badb63accfb48f67e64287cc77685ab23a373a17015cd15df132d7cd18f711ea30cdc6
7
+ data.tar.gz: 3729fbb3e1bdfe2406c1c80e6ad839f9f06b17f9270e5e7c19117ae943e5e750300073c2d701458c472e65a8bd4e56ec086a79b83873ec5c7ac8161cf7f18ca2
@@ -0,0 +1,46 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
+ name: rake
4
+
5
+ on:
6
+ push:
7
+ branches: [ master, main ]
8
+ tags: [ v* ]
9
+ pull_request:
10
+
11
+ jobs:
12
+ rake:
13
+ name: Test on Ruby ${{ matrix.ruby }} ${{ matrix.os }}
14
+ runs-on: ${{ matrix.os }}
15
+ continue-on-error: ${{ matrix.experimental }}
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ ruby: [ '2.7', '2.6', '2.5', '2.4' ]
20
+ os: [ ubuntu-latest, windows-latest, macos-latest ]
21
+ experimental: [ false ]
22
+ include:
23
+ - ruby: '3.0'
24
+ os: 'ubuntu-latest'
25
+ experimental: true
26
+ - ruby: '3.0'
27
+ os: 'windows-latest'
28
+ experimental: true
29
+ - ruby: '3.0'
30
+ os: 'macos-latest'
31
+ experimental: true
32
+ steps:
33
+ - uses: actions/checkout@v2
34
+ with:
35
+ submodules: true
36
+
37
+ # https://github.com/ruby-debug/debase/issues/89#issuecomment-686827382
38
+ - if: matrix.os == 'macos-latest' && matrix.ruby == '2.5'
39
+ run: echo BUNDLE_BUILD__DEBASE="--with-cflags=\"-Wno-error=implicit-function-declaration\"" >> $GITHUB_ENV
40
+
41
+ - uses: ruby/setup-ruby@v1
42
+ with:
43
+ ruby-version: ${{ matrix.ruby }}
44
+ bundler-cache: true
45
+
46
+ - run: bundle exec rake
data/README.adoc CHANGED
@@ -59,6 +59,18 @@ item.docidentifier
59
59
  => "urn:iso:std:iso-ts:ts:19115:-3:stage-90.92:ed-1:en,fr"
60
60
  ----
61
61
 
62
+ === Search for ISO/IEC Directives
63
+
64
+ The ISO/IEC Derectives are stored in a static cache in a relaton gem. It needs to use the relaton gem to fetch the ISO/IEC Directives. Folloving reaferences are allowed to fetch:
65
+
66
+ - ISO/IEC DIR 1 - Procedures for the technical work
67
+ - ISO/IEC DIR 1 IEC SUP - Procedures for the technical work – Procedures specific to IEC
68
+ - ISO/IEC DIR 1 ISO SUP - Consolidated ISO Supplement -- Procedures specific to ISO
69
+ - ISO/IEC DIR 2 IEC - Principles and rules for the structure and drafting of ISO and IEC documents
70
+ - ISO/IEC DIR 2 ISO - Principles and rules for the structure and drafting of ISO and IEC documents
71
+ - ISO/IEC DIR IEC SUP - Procedures specific to IEC
72
+ - ISO/IEC DIR JTC 1 SUP - Procedures specific to JTC 1
73
+
62
74
  === XML serialization
63
75
 
64
76
  Possible options:
data/bin/racc ADDED
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'racc' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require "pathname"
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path("../bundle", __FILE__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require "rubygems"
27
+ require "bundler/setup"
28
+
29
+ load Gem.bin_path("racc", "racc")
@@ -3,6 +3,9 @@
3
3
  module RelatonIso
4
4
  # Hit.
5
5
  class Hit < RelatonBib::Hit
6
+ # @return [RelatonIsoBib::IsoBibliographicItem]
7
+ attr_accessor :fetch
8
+
6
9
  # Parse page.
7
10
  # @param lang [String, NilClass]
8
11
  # @return [RelatonIso::IsoBibliographicItem]
@@ -10,30 +10,12 @@ module RelatonIso
10
10
  # @param text [String] reference to search
11
11
  def initialize(text)
12
12
  super
13
- %r{\s(?<num>\d+)(-(?<part>[\d-]+))?} =~ text
14
- http = Net::HTTP.new "www.iso.org", 443
15
- http.use_ssl = true
16
- search = ["status=ENT_ACTIVE,ENT_PROGRESS,ENT_INACTIVE,ENT_DELETED"]
17
- search << "docNumber=#{num}"
18
- search << "docPartNo=#{part}" if part
19
- q = search.join "&"
20
- resp = http.get("/cms/render/live/en/sites/isoorg.advancedSearch.do?#{q}",
21
- "Accept" => "application/json, text/plain, */*")
22
- return if resp.body.empty?
23
-
24
- json = JSON.parse resp.body
25
- @array = json["standards"].map { |h| Hit.new h, self }.sort! do |a, b|
26
- if a.sort_weight == b.sort_weight
27
- (parse_date(b.hit) - parse_date(a.hit)).to_i
28
- else
29
- a.sort_weight - b.sort_weight
30
- end
31
- end
13
+ @array = text.match?(/^ISO\sTC\s184\/SC\s?4/) ? fetch_github : fetch_iso
32
14
  end
33
15
 
34
16
  # @param lang [String, NilClass]
35
17
  # @return [RelatonIsoBib::IsoBibliographicItem]
36
- def to_all_parts(lang = nil)
18
+ def to_all_parts(lang = nil) # rubocop:disable Metrics/CyclomaticComplexity
37
19
  parts = @array.reject { |h| h.hit["docPart"]&.empty? }
38
20
  hit = parts.min_by { |h| h.hit["docPart"].to_i }
39
21
  return @array.first.fetch lang unless hit
@@ -42,10 +24,10 @@ module RelatonIso
42
24
  all_parts_item = bibitem.to_all_parts
43
25
  parts.reject { |h| h.hit["docRef"] == hit.hit["docRef"] }.each do |hi|
44
26
  isobib = RelatonIsoBib::IsoBibliographicItem.new(
45
- formattedref: RelatonBib::FormattedRef.new(content: hi.hit["docRef"]),
27
+ formattedref: RelatonBib::FormattedRef.new(content: hi.hit["docRef"])
46
28
  )
47
29
  all_parts_item.relation << RelatonBib::DocumentRelation.new(
48
- type: "instance", bibitem: isobib,
30
+ type: "instance", bibitem: isobib
49
31
  )
50
32
  end
51
33
  all_parts_item
@@ -54,6 +36,52 @@ module RelatonIso
54
36
 
55
37
  private
56
38
 
39
+ #
40
+ # Fetch document from GitHub repository
41
+ #
42
+ # @return [Array<RelatonIso::Hit]
43
+ #
44
+ def fetch_github
45
+ ref = text.gsub(/[\s\/]/, "_").upcase
46
+ url = "https://raw.githubusercontent.com/relaton/relaton-data-iso/main/data/#{ref}.yaml"
47
+ resp = Net::HTTP.get_response URI(url)
48
+ return [] unless resp.code == "200"
49
+
50
+ hash = YAML.safe_load resp.body
51
+ bib_hash = RelatonIsoBib::HashConverter.hash_to_bib hash
52
+ bib = RelatonIsoBib::IsoBibliographicItem.new **bib_hash
53
+ hit = Hit.new({ "docRef" => text }, self)
54
+ hit.fetch = bib
55
+ [hit]
56
+ end
57
+
58
+ #
59
+ # Fetch hits from iso.org
60
+ #
61
+ # @return [Array<RelatonIso::Hit>]
62
+ #
63
+ def fetch_iso
64
+ %r{\s(?<num>\d+)(-(?<part>[\d-]+))?} =~ text
65
+ http = Net::HTTP.new "www.iso.org", 443
66
+ http.use_ssl = true
67
+ search = ["status=ENT_ACTIVE,ENT_PROGRESS,ENT_INACTIVE,ENT_DELETED"]
68
+ search << "docNumber=#{num}"
69
+ search << "docPartNo=#{part}" if part
70
+ q = search.join "&"
71
+ resp = http.get("/cms/render/live/en/sites/isoorg.advancedSearch.do?#{q}",
72
+ "Accept" => "application/json, text/plain, */*")
73
+ return if resp.body.empty?
74
+
75
+ json = JSON.parse resp.body
76
+ json["standards"].map { |h| Hit.new h, self }.sort! do |a, b|
77
+ if a.sort_weight == b.sort_weight
78
+ (parse_date(b.hit) - parse_date(a.hit)).to_i
79
+ else
80
+ a.sort_weight - b.sort_weight
81
+ end
82
+ end
83
+ end
84
+
57
85
  # @param hit [Hash]
58
86
  # @return [Date]
59
87
  def parse_date(hit)
@@ -26,32 +26,13 @@ module RelatonIso
26
26
  # return actual reference with year
27
27
  # @return [String] Relaton XML serialisation of reference
28
28
  def get(ref, year = nil, opts = {})
29
- opts[:ref] = ref.gsub(/\u2013/, "-")
30
-
31
- %r{
32
- ^(?<code1>[^\s]+\s[^/]+) # match code
33
- /?
34
- (?<corr>(Amd|DAmd|(CD|WD|AWI|NP)\sAmd|Cor|CD\sCor|FDAmd|PRF\sAmd)\s\d+ # correction name
35
- :?(\d{4})?(/Cor\s\d+:\d{4})?) # match correction year
36
- }x =~ opts[:ref]
37
- code = code1 || opts[:ref]
38
-
39
- if year.nil?
40
- /^(?<code1>[^\s]+(\s\w+)?\s[\d-]+)(:(?<year1>\d{4}))?(?<code2>\s\w+)?/ =~ code
41
- /:(?<year2>\d{4})/ =~ corr
42
- unless code1.nil?
43
- code = code1 + code2.to_s
44
- year = year2 || year1
45
- end
46
- end
47
- %r{\s(?<num>\d+)(-(?<part>[\d-]+))?} =~ code
48
- opts[:part] = part
49
- opts[:num] = num
50
- opts[:corr] = corr
51
- opts[:all_parts] ||= !part && opts[:all_parts].nil? && code2.nil?
52
- if %r[^ISO/IEC DIR].match? code
53
- return RelatonIec::IecBibliography.get(code, year, opts)
54
- end
29
+ code = ref.gsub(/\u2013/, "-")
30
+ %r{\s(?<num>\d+)(-(?<part>[\d-]+))?(:(?<year1>\d{4}))?} =~ code
31
+ year ||= year1
32
+ opts[:all_parts] ||= !part && opts[:all_parts].nil? # && code2.nil?
33
+ # if %r[^ISO/IEC DIR].match? code
34
+ # return RelatonIec::IecBibliography.get(code, year, opts)
35
+ # end
55
36
 
56
37
  ret = isobib_get1(code, year, opts)
57
38
  return nil if ret.nil?
@@ -95,7 +76,7 @@ module RelatonIso
95
76
  # @param opts [Hash]
96
77
  # @return [Array<RelatonIso::Hit>]
97
78
  def isobib_search_filter(code, opts)
98
- warn "[relaton-iso] (\"#{opts[:ref]}\") fetching..."
79
+ warn "[relaton-iso] (\"#{code}\") fetching..."
99
80
  result = search(code)
100
81
  res = search_code result, code, opts
101
82
  return res unless res.empty?
@@ -140,17 +121,24 @@ module RelatonIso
140
121
  # @param opts [Hash]
141
122
  # @return [RelatonIso::HitCollection]
142
123
  def search_code(result, code, opts) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity
143
- ref_regex = %r{^#{code}(?!-)}
144
- corr_regex = %r{^#{code}[\w-]*(:\d{4})?/#{opts[:corr]}}
145
- no_corr_regex = %r{^#{code}[\w-]*(:\d{4})?/}
124
+ code1, part1, corr1, coryear1 = ref_components code
146
125
  result.select do |i|
147
- (opts[:all_parts] || i.hit["docRef"] =~ ref_regex) && (
148
- opts[:corr] && corr_regex =~ i.hit["docRef"] ||
149
- !opts[:corr] && no_corr_regex !~ i.hit["docRef"]
150
- )
126
+ code2, part2, corr2, coryear2 = ref_components i.hit["docRef"]
127
+ code1 == code2 && (!part1 || part1 == part2) &&
128
+ corr1 == corr2 && (!coryear1 || coryear1 == coryear2)
151
129
  end
152
130
  end
153
131
 
132
+ def ref_components(ref)
133
+ %r{
134
+ ^(?<code>ISO(?:\s|\/)[^-\/:]+)
135
+ (?:-(?<part>[^:\/]+))?
136
+ (?::\d{4})?
137
+ (?:\/(?<corr>\w+(?:\s\w+)?\s\d+)(?:(?<coryear>\d{4}))?)?
138
+ }x =~ ref
139
+ [code, part, corr, coryear]
140
+ end
141
+
154
142
  # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
155
143
 
156
144
  # Sort through the results from RelatonIso, fetching them three at a time,
@@ -188,7 +176,7 @@ module RelatonIso
188
176
  result = isobib_search_filter(code, opts) || return
189
177
  ret = isobib_results_filter(result, year, opts)
190
178
  if ret[:ret]
191
- warn "[relaton-iso] (\"#{opts[:ref]}\") found #{ret[:ret].docidentifier.first.id}"
179
+ warn "[relaton-iso] (\"#{code}\") found #{ret[:ret].docidentifier.first.id}"
192
180
  ret[:ret]
193
181
  else
194
182
  fetch_ref_err(code, year, ret[:years])
@@ -29,7 +29,7 @@ module RelatonIso
29
29
  # @return [RelatonIsoBib::IsoBibliographicItem]
30
30
  def hash_to_bib(hash)
31
31
  item_hash = ::RelatonIsoBib::HashConverter.hash_to_bib(hash)
32
- ::RelatonIsoBib::IsoBibliographicItem.new item_hash
32
+ ::RelatonIsoBib::IsoBibliographicItem.new **item_hash
33
33
  end
34
34
 
35
35
  # Returns hash of XML grammar
@@ -37,5 +37,11 @@ module RelatonIso
37
37
  def grammar_hash
38
38
  @grammar_hash ||= ::RelatonIsoBib.grammar_hash
39
39
  end
40
+
41
+ # Returns number of workers
42
+ # @return [Integer]
43
+ def threads
44
+ 3
45
+ end
40
46
  end
41
47
  end
@@ -224,9 +224,8 @@ module RelatonIso
224
224
  # @param status [String]
225
225
  # @return [Hash]
226
226
  def fetch_status(doc)
227
- stg, substg = doc.css(
228
- "li.dropdown.active span.stage-code > strong"
229
- ).text.split "."
227
+ stg, substg = doc.at("//ul[@class='dropdown-menu']/li[@class='active']/a/span[@class='stage-code']")
228
+ .text.split "."
230
229
  RelatonBib::DocumentStatus.new(stage: stg, substage: substg)
231
230
  end
232
231
 
@@ -260,20 +259,15 @@ module RelatonIso
260
259
  # @param doc [Nokogiri::HTML::Document]
261
260
  # @return [Array<Hash>]
262
261
  def fetch_relations(doc) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity
263
- doc.css("ul.steps li").reduce([]) do |a, r| # rubocop:disable Metrics/BlockLength
264
- r_type = r.css("strong").text
262
+ doc.xpath("//ul[@class='steps']/li", "//div[@class='sub-step']").reduce([]) do |a, r|
263
+ r_type = r.at("h4", "h5").text
265
264
  date = []
266
265
  type = case r_type
267
266
  when "Previously", "Will be replaced by" then "obsoletes"
268
- when "Corrigenda/Amendments", "Revised by", "Now confirmed"
269
- on = doc.xpath(
270
- '//span[@class="stage-date"][contains(., "-")]'
271
- ).last
272
- if on
273
- date << { type: "circulated",
274
- on: on.text }
275
- "updates"
276
- end
267
+ when "Corrigenda / Amendments", "Revised by", "Now confirmed"
268
+ on = doc.xpath('//span[@class="stage-date"][contains(., "-")]').last
269
+ date << { type: "circulated", on: on.text } if on
270
+ "updates"
277
271
  else r_type
278
272
  end
279
273
  if ["Now", "Now under review"].include?(type) then a
@@ -408,8 +402,7 @@ module RelatonIso
408
402
  owner_name = ref.match(/.*?(?=\s)/).to_s
409
403
  from = ref.match(/(?<=:)\d{4}/).to_s
410
404
  if from.empty?
411
- from = doc.xpath("//span[@itemprop='releaseDate']").text
412
- .match(/\d{4}/).to_s
405
+ from = doc.xpath("//span[@itemprop='releaseDate']").text.match(/\d{4}/).to_s
413
406
  end
414
407
  [{ owner: [{ name: owner_name }], from: from }]
415
408
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RelatonIso
4
- VERSION = "1.7.0"
4
+ VERSION = "1.7.5"
5
5
  end
data/relaton_iso.gemspec CHANGED
@@ -27,12 +27,12 @@ Gem::Specification.new do |spec|
27
27
  spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
28
28
 
29
29
  spec.add_development_dependency "byebug"
30
- spec.add_development_dependency "debase"
30
+ # spec.add_development_dependency "debase"
31
31
  spec.add_development_dependency "equivalent-xml", "~> 0.6"
32
32
  spec.add_development_dependency "pry-byebug"
33
- spec.add_development_dependency "rake", "~> 10.0"
33
+ spec.add_development_dependency "rake", "~> 13.0"
34
34
  spec.add_development_dependency "rspec", "~> 3.0"
35
- spec.add_development_dependency "ruby-debug-ide"
35
+ # spec.add_development_dependency "ruby-debug-ide"
36
36
  spec.add_development_dependency "simplecov"
37
37
  spec.add_development_dependency "vcr"
38
38
  spec.add_development_dependency "webmock"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-iso
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.7.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-27 00:00:00.000000000 Z
11
+ date: 2021-05-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: byebug
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: debase
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: equivalent-xml
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +58,14 @@ dependencies:
72
58
  requirements:
73
59
  - - "~>"
74
60
  - !ruby/object:Gem::Version
75
- version: '10.0'
61
+ version: '13.0'
76
62
  type: :development
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
66
  - - "~>"
81
67
  - !ruby/object:Gem::Version
82
- version: '10.0'
68
+ version: '13.0'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: rspec
85
71
  requirement: !ruby/object:Gem::Requirement
@@ -94,20 +80,6 @@ dependencies:
94
80
  - - "~>"
95
81
  - !ruby/object:Gem::Version
96
82
  version: '3.0'
97
- - !ruby/object:Gem::Dependency
98
- name: ruby-debug-ide
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
83
  - !ruby/object:Gem::Dependency
112
84
  name: simplecov
113
85
  requirement: !ruby/object:Gem::Requirement
@@ -186,9 +158,7 @@ executables: []
186
158
  extensions: []
187
159
  extra_rdoc_files: []
188
160
  files:
189
- - ".github/workflows/macos.yml"
190
- - ".github/workflows/ubuntu.yml"
191
- - ".github/workflows/windows.yml"
161
+ - ".github/workflows/rake.yml"
192
162
  - ".gitignore"
193
163
  - ".hound.yml"
194
164
  - ".rspec"
@@ -208,6 +178,7 @@ files:
208
178
  - bin/ldiff
209
179
  - bin/nokogiri
210
180
  - bin/pry
181
+ - bin/racc
211
182
  - bin/rake
212
183
  - bin/rdebug-ide
213
184
  - bin/rspec
@@ -240,7 +211,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
240
211
  - !ruby/object:Gem::Version
241
212
  version: '0'
242
213
  requirements: []
243
- rubygems_version: 3.0.6
214
+ rubygems_version: 3.2.3
244
215
  signing_key:
245
216
  specification_version: 4
246
217
  summary: 'RelatonIso: retrieve ISO Standards for bibliographic use using the IsoBibliographicItem
@@ -1,34 +0,0 @@
1
- # Auto-generated by Cimas: Do not edit it manually!
2
- # See https://github.com/metanorma/cimas
3
- name: macos
4
-
5
- on:
6
- push:
7
- branches: [ master ]
8
- pull_request:
9
- branches: [ '**' ]
10
-
11
- jobs:
12
- test-macos:
13
- name: Test on Ruby ${{ matrix.ruby }} macOS
14
- runs-on: macos-latest
15
- strategy:
16
- fail-fast: false
17
- matrix:
18
- ruby: [ '2.6', '2.5', '2.4' ]
19
- steps:
20
- - uses: actions/checkout@master
21
- - name: Use Ruby
22
- uses: actions/setup-ruby@v1
23
- with:
24
- ruby-version: ${{ matrix.ruby }}
25
- architecture: 'x64'
26
- - name: Update gems
27
- run: |
28
- sudo gem install bundler --force
29
- ruby -v | grep 2.5 && bundle config set build.debase --with-cflags="-Wno-error=implicit-function-declaration"
30
- ruby -v | grep 2.5 && bundle config set build.ruby-debug-ide --with-cflags="-Wno-error=implicit-function-declaration"
31
- bundle install --jobs 4 --retry 3
32
- - name: Run specs
33
- run: |
34
- bundle exec rake
@@ -1,32 +0,0 @@
1
- # Auto-generated by Cimas: Do not edit it manually!
2
- # See https://github.com/metanorma/cimas
3
- name: ubuntu
4
-
5
- on:
6
- push:
7
- branches: [ master ]
8
- pull_request:
9
- branches: [ '**' ]
10
-
11
- jobs:
12
- test-linux:
13
- name: Test on Ruby ${{ matrix.ruby }} Ubuntu
14
- runs-on: ubuntu-latest
15
- strategy:
16
- fail-fast: false
17
- matrix:
18
- ruby: [ '2.6', '2.5', '2.4' ]
19
- steps:
20
- - uses: actions/checkout@master
21
- - name: Use Ruby
22
- uses: actions/setup-ruby@v1
23
- with:
24
- ruby-version: ${{ matrix.ruby }}
25
- architecture: 'x64'
26
- - name: Update gems
27
- run: |
28
- gem install bundler
29
- bundle install --jobs 4 --retry 3
30
- - name: Run specs
31
- run: |
32
- bundle exec rake
@@ -1,35 +0,0 @@
1
- # Auto-generated by Cimas: Do not edit it manually!
2
- # See https://github.com/metanorma/cimas
3
- name: windows
4
-
5
- on:
6
- push:
7
- branches: [ master ]
8
- pull_request:
9
- branches: [ '**' ]
10
-
11
- jobs:
12
- test-windows:
13
- name: Test on Ruby ${{ matrix.ruby }} Windows
14
- runs-on: windows-latest
15
- strategy:
16
- fail-fast: false
17
- matrix:
18
- ruby: [ '2.6', '2.5', '2.4' ]
19
- steps:
20
- - uses: actions/checkout@master
21
- - name: Use Ruby
22
- uses: actions/setup-ruby@v1
23
- with:
24
- ruby-version: ${{ matrix.ruby }}
25
- architecture: 'x64'
26
- - name: Update gems
27
- shell: pwsh
28
- run: |
29
- gem install bundler
30
- bundle config --local path vendor/bundle
31
- bundle update
32
- bundle install --jobs 4 --retry 3
33
- - name: Run specs
34
- run: |
35
- bundle exec rake