metanorma 1.1.7 → 1.2.4

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: f6bdfc7913fb212cb141c23550aacaf2dd5c4261feea33946760a4b22af68298
4
- data.tar.gz: 2a2fc2ae5c8b193b21063b368b8f6cac542dc98662e0376787d946020fe1e2b7
3
+ metadata.gz: bf7d6f99cb5eec27df20786b79a6932eb9e339c49072f4183b5cf9cb2ff747a3
4
+ data.tar.gz: '049577c6c56eb8092765b8e3679ac7f0c8362f9129e787e4e7b923f5b3b61734'
5
5
  SHA512:
6
- metadata.gz: 939e66856ea7e3bcdba7f67771606913e8510be72d52ac09dd22643cdc155b7cc2ed41c09a2a5fed32c322470ca44c2fe975c941eb0d0581d39f5cd775aac723
7
- data.tar.gz: f6cf21861fe6154831fb4e47b93b88224bb3d65f37ea2496fd2c0c868e1836d1b590b1a67376229fefed57c019b97ec9ef5adef8a7d84d8ef0f8af9b29c322c8
6
+ metadata.gz: 7de4db35db282e2ec0665d79533885c31fd8a1b46493177d47a48920ab685e20d2f5a74e473b11d0dfa54b357b8d4e0be15d2908885a770b4e3ec518dd427975
7
+ data.tar.gz: 8ef45f441c0129920575751b10bf3d86b132395d020794d39e69429e099ba6bcde65f1d5930dca240ad07209e12eddada6926bf56ec54322674ef8f47e07cedc
@@ -0,0 +1,47 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
+ name: notify
4
+
5
+ on:
6
+ push:
7
+ branches: [ master ]
8
+ tags:
9
+ - '*'
10
+
11
+ jobs:
12
+ notify:
13
+ name: Notify dependent repos
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - name: Trigger repositories
17
+ env:
18
+ GH_USERNAME: metanorma-ci
19
+ GH_ACCESS_TOKEN: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
20
+ run: |
21
+ curl -LO --retry 3 https://raw.githubusercontent.com/metanorma/metanorma-build-scripts/master/trigger-gh-actions.sh
22
+ [[ -f ".github/workflows/dependent_repos.env" ]] && source .github/workflows/dependent_repos.env
23
+ CLIENT_PAYLOAD=$(cat <<EOF
24
+ "{ "ref": "${GITHUB_REF}", "repo": "${GITHUB_REPOSITORY}" }"
25
+ EOF
26
+ )
27
+ for repo in $TEMPLATE_REPOS" $SAMPLES_REPOS"
28
+ do
29
+ sh trigger-gh-actions.sh $ORGANISATION $repo $GH_USERNAME $GH_ACCESS_TOKEN $GITHUB_REPOSITORY "$CLIENT_PAYLOAD"
30
+ done
31
+
32
+ - name: Trigger release repositories
33
+ if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/v')
34
+ env:
35
+ GH_USERNAME: metanorma-ci
36
+ GH_ACCESS_TOKEN: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
37
+ run: |
38
+ curl -LO --retry 3 https://raw.githubusercontent.com/metanorma/metanorma-build-scripts/master/trigger-gh-actions.sh
39
+ [[ -f ".github/workflows/dependent_repos.env" ]] && source .github/workflows/dependent_repos.env
40
+ CLIENT_PAYLOAD=$(cat <<EOF
41
+ "{ "ref": "${GITHUB_REF}", "repo": "${GITHUB_REPOSITORY}" }"
42
+ EOF
43
+ )
44
+ for repo in $DEPENDENT_REPOS
45
+ do
46
+ sh trigger-gh-actions.sh $ORGANISATION $repo $GH_USERNAME $GH_ACCESS_TOKEN $GITHUB_REPOSITORY "$CLIENT_PAYLOAD"
47
+ done
@@ -0,0 +1,65 @@
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.6', '2.5', '2.4' ]
20
+ os: [ ubuntu-latest, windows-latest, macos-latest ]
21
+ experimental: [ false ]
22
+ include:
23
+ - ruby: '2.7'
24
+ os: 'ubuntu-latest'
25
+ experimental: true
26
+ - ruby: '2.7'
27
+ os: 'windows-latest'
28
+ experimental: true
29
+ - ruby: '2.7'
30
+ os: 'macos-latest'
31
+ experimental: true
32
+ steps:
33
+ - uses: actions/checkout@master
34
+
35
+ - uses: ruby/setup-ruby@v1
36
+ with:
37
+ ruby-version: ${{ matrix.ruby }}
38
+
39
+ - if: matrix.os == 'macos-latest'
40
+ run: brew install autoconf automake libtool
41
+
42
+ - uses: actions/cache@v2
43
+ with:
44
+ path: vendor/bundle
45
+ key: bundle-${{ matrix.os }}-${{ matrix.ruby }}-${{ hashFiles('**/*.gemspec') }}
46
+ restore-keys: bundle-${{ matrix.os }}-${{ matrix.ruby }}
47
+
48
+ - run: bundle config set path 'vendor/bundle'
49
+
50
+ - run: bundle install --jobs 4 --retry 3
51
+
52
+ - run: bundle exec rake
53
+
54
+ tests-passed:
55
+ needs: rake
56
+ runs-on: ubuntu-latest
57
+ steps:
58
+ - name: Trigger tests passed event
59
+ uses: Sibz/github-status-action@v1
60
+ with:
61
+ authToken: ${{ secrets.GITHUB_TOKEN }}
62
+ context: 'tests-passed-successfully'
63
+ description: 'Tests passed successfully'
64
+ state: 'success'
65
+ sha: ${{ github.event.pull_request.head.sha || github.sha }}
@@ -1,9 +1,7 @@
1
1
  = Metanorma: the standard for standards
2
2
 
3
3
  image:https://img.shields.io/gem/v/metanorma.svg["Gem Version", link="https://rubygems.org/gems/metanorma"]
4
- image:https://github.com/metanorma/metanorma/workflows/ubuntu/badge.svg["Ubuntu Build Status", link="https://github.com/metanorma/metanorma/actions?query=workflow%3Aubuntu"]
5
- image:https://github.com/metanorma/metanorma/workflows/macos/badge.svg["OSX Build Status", link="https://github.com/metanorma/metanorma/actions?query=workflow%3Amacos"]
6
- image:https://github.com/metanorma/metanorma/workflows/windows/badge.svg["Windows Build Status", link="https://github.com/metanorma/metanorma/actions?query=workflow%3Awindows"]
4
+ image:https://github.com/metanorma/metanorma/workflows/rake/badge.svg["Build Status", link="https://github.com/metanorma/metanorma/actions?workflow=rake"]
7
5
  image:https://codeclimate.com/github/metanorma/metanorma/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/metanorma"]
8
6
  image:https://img.shields.io/github/issues-pr-raw/metanorma/metanorma.svg["Pull Requests", link="https://github.com/metanorma/metanorma/pulls"]
9
7
  image:https://img.shields.io/github/commits-since/metanorma/metanorma/latest.svg["Commits since latest",link="https://github.com/metanorma/metanorma/releases"]
@@ -33,6 +33,7 @@ module Metanorma
33
33
  @outdir = options[:output_folder]
34
34
  @coverpage = options[:coverpage]
35
35
  @format = options[:format]
36
+ @compile_options = options[:compile] || {}
36
37
 
37
38
  # list of files in the collection
38
39
  @files = read_files folder
@@ -129,12 +130,34 @@ module Metanorma
129
130
  end
130
131
  file, _filename = targetfile(files[identifier], true)
131
132
  xml = Nokogiri::XML(file)
133
+ add_document_suffix(identifier, xml)
132
134
  files[identifier][:anchors] = read_anchors(xml)
133
135
  files[identifier][:bibdata] = xml.at(ns("//bibdata"))
134
136
  end
135
137
  files
136
138
  end
137
139
 
140
+ def add_suffix_to_attributes(doc, suffix, tag_name, attribute_name)
141
+ doc.xpath(ns("//#{tag_name}[@#{attribute_name}]")).each do |elem|
142
+ elem.attributes[attribute_name].value =
143
+ "#{elem.attributes[attribute_name].value}_#{suffix}"
144
+ end
145
+ end
146
+
147
+ def add_document_suffix(identifier, doc)
148
+ document_suffix = Asciidoctor::Standoc::Cleanup.to_ncname(identifier)
149
+ [%w[* id],
150
+ %w[* bibitemid],
151
+ %w[review from],
152
+ %w[review to],
153
+ %w[index to],
154
+ %w[xref target],
155
+ %w[callout target]]
156
+ .each do |(tag_name, attribute_name)|
157
+ add_suffix_to_attributes(doc, document_suffix, tag_name, attribute_name)
158
+ end
159
+ end
160
+
138
161
  # map locality type and label (e.g. "clause" "1") to id = anchor for
139
162
  # a document
140
163
  def read_anchors(xml)
@@ -142,9 +165,13 @@ module Metanorma
142
165
  xrefs = @isodoc.xref_init(@lang, @script, @isodoc, @isodoc.i18n, {})
143
166
  xrefs.parse xml
144
167
  xrefs.get.each do |k, v|
145
- v[:label] && v[:type] || next
146
168
  ret[v[:type]] ||= {}
147
- ret[v[:type]][v[:label]] = k
169
+ index = v[:container] || v[:label].nil? || v[:label].empty? ?
170
+ UUIDTools::UUID.random_create.to_s : v[:label]
171
+ # Note: will only key clauses, which have unambiguous reference label in locality.
172
+ # Notes, examples etc with containers are just plunked agaisnt UUIDs, so that their
173
+ # IDs can at least be registered to be tracked as existing.
174
+ ret[v[:type]][index] = k
148
175
  end
149
176
  ret
150
177
  end
@@ -250,6 +277,7 @@ module Metanorma
250
277
  newbib = bib.replace(@files[docid][:bibdata])
251
278
  newbib.name = "bibitem"
252
279
  newbib["id"] = id
280
+ newbib["hidden"] = "true"
253
281
  newbib&.at(ns("./ext"))&.remove
254
282
  _file, url = targetfile(@files[docid], false)
255
283
  uri_node = Nokogiri::XML::Node.new "uri", newbib
@@ -270,13 +298,16 @@ module Metanorma
270
298
  # @return [String] XML content
271
299
  def update_xrefs(file, identifier)
272
300
  docxml = Nokogiri::XML(file)
301
+ add_document_suffix(identifier, docxml)
273
302
  docxml.xpath(ns("//bibitem[not(ancestor::bibitem)]")).each do |b|
274
303
  docid = b&.at(ns("./docidentifier[@type = 'repository']"))&.text
275
304
  next unless docid && %r{^current-metanorma-collection/}.match(docid)
276
-
277
305
  update_bibitem(b, identifier)
278
306
  update_anchors(b, docxml, docid)
279
307
  end
308
+ docxml.xpath(ns("//references[not(./bibitem[not(@hidden) or @hidden = 'false'])]")).each do |f|
309
+ f["hidden"] = "true"
310
+ end
280
311
  docxml.to_xml
281
312
  end
282
313
 
@@ -284,18 +315,25 @@ module Metanorma
284
315
  # anchor given the locality, and insert it into the crossref
285
316
  def update_anchors(bib, docxml, _id) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
286
317
  docid = bib&.at(ns("./docidentifier"))&.text
318
+ document_suffix = Asciidoctor::Standoc::Cleanup.to_ncname(docid)
287
319
  docxml.xpath("//xmlns:eref[@citeas = '#{docid}']").each do |e|
288
- e.at(ns(".//locality[@type = 'anchor']")).nil? || next
289
- ins = e.at(ns("./localityStack")) || next
290
- type = ins&.at(ns("./locality/@type"))&.text
291
- ref = ins&.at(ns("./locality/referenceFrom"))&.text
292
- (anchor = @files[docid][:anchors][type][ref]) || next
293
- ref_from = Nokogiri::XML::Node.new "referenceFrom", bib
294
- ref_from.content = anchor.sub(/^_/, "")
295
- locality = Nokogiri::XML::Node.new "locality", bib
296
- locality[:type] = "anchor"
297
- locality.add_child ref_from
298
- ins << locality
320
+ if loc = e.at(ns(".//locality[@type = 'anchor']"))
321
+ ref = loc.at(ns("./referenceFrom")) || next
322
+ anchor = "#{ref.text}_#{document_suffix}"
323
+ next unless @files[docid][:anchors].inject([]) { |m, (_, x)| m+= x.values }.include?(anchor)
324
+ ref.content = anchor
325
+ else
326
+ ins = e.at(ns("./localityStack")) || next
327
+ type = ins&.at(ns("./locality/@type"))&.text
328
+ ref = ins&.at(ns("./locality/referenceFrom"))&.text
329
+ (anchor = @files[docid][:anchors][type][ref]) || next
330
+ ref_from = Nokogiri::XML::Node.new "referenceFrom", bib
331
+ ref_from.content = anchor.sub(/^_/, "")
332
+ locality = Nokogiri::XML::Node.new "locality", bib
333
+ locality[:type] = "anchor"
334
+ locality.add_child ref_from
335
+ ins << locality
336
+ end
299
337
  end
300
338
  end
301
339
 
@@ -310,7 +348,8 @@ module Metanorma
310
348
  f.close
311
349
  # warn "metanorma compile -x html #{f.path}"
312
350
  c = Compile.new
313
- c.compile f.path, format: :asciidoc, extension_keys: @format
351
+ options = { format: :asciidoc, extension_keys: @format }.merge @compile_options
352
+ c.compile f.path, options
314
353
  @files[identifier][:outputs] = {}
315
354
  @format.each do |e|
316
355
  ext = c.processor.output_formats[e]
@@ -2,6 +2,9 @@ require "fileutils"
2
2
  require "nokogiri"
3
3
  require "htmlentities"
4
4
 
5
+ require "fontist"
6
+ require "fontist/manifest/install"
7
+
5
8
  module Metanorma
6
9
  class Compile
7
10
  # @return [Array<String>]
@@ -21,6 +24,7 @@ module Metanorma
21
24
  (file, isodoc = process_input(filename, options)) or return nil
22
25
  relaton_export(isodoc, options)
23
26
  extract(isodoc, options[:extract], options[:extract_type])
27
+ install_fonts(options)
24
28
  process_extensions(extensions, file, isodoc, options)
25
29
  end
26
30
 
@@ -63,21 +67,32 @@ module Metanorma
63
67
  Util.log("[metanorma] Error: Please specify a standard type: #{@registry.supported_backends}.", :error)
64
68
  return nil
65
69
  end
70
+
66
71
  stdtype = options[:type].to_sym
72
+ metanorma_flavor = "metanorma-#{stdtype}"
73
+
67
74
  unless @registry.supported_backends.include? stdtype
68
- Util.log("[metanorma] Info: Loading `metanorma-#{stdtype}` gem for standard type `#{stdtype}`.", :info)
75
+ Util.log("[metanorma] Info: Loading `#{metanorma_flavor}` gem for standard type `#{stdtype}`.", :info)
69
76
  end
77
+
70
78
  begin
71
79
  require "metanorma-#{stdtype}"
72
- Util.log("[metanorma] Info: gem `metanorma-#{stdtype}` loaded.", :info)
80
+ Util.log("[metanorma] Info: gem `#{metanorma_flavor}` loaded.", :info)
81
+
82
+ rescue Gem::ConflictError
83
+ Util.log("[metanorma] Error: Couldn't resolve dependencies for `metanorma-#{stdtype}`, Please add it to your Gemfile and run bundle install first", :error)
84
+ return false
85
+
73
86
  rescue LoadError
74
- Util.log("[metanorma] Error: loading gem `metanorma-#{stdtype}` failed. Exiting.", :error)
87
+ Util.log("[metanorma] Error: loading gem `#{metanorma_flavor}` failed. Exiting.", :error)
75
88
  return false
76
89
  end
90
+
77
91
  unless @registry.supported_backends.include? stdtype
78
- Util.log("[metanorma] Error: The `metanorma-#{stdtype}` gem still doesn't support `#{stdtype}`. Exiting.", :error)
92
+ Util.log("[metanorma] Error: The `#{metanorma_flavor}` gem still doesn't support `#{stdtype}`. Exiting.", :error)
79
93
  return false
80
94
  end
95
+
81
96
  true
82
97
  end
83
98
 
@@ -246,14 +261,60 @@ module Metanorma
246
261
  @processor.output(isodoc, xml_name, outfilename, ext, isodoc_options)
247
262
  rescue StandardError => e
248
263
  puts e.message
264
+ puts e.backtrace.join("\n")
249
265
  end
250
266
  end
251
267
  wrap_html(options, file_extension, outfilename)
252
268
  end
253
269
  end
254
270
 
271
+ def install_fonts(options)
272
+ if options[:"no-install-fonts"]
273
+ Util.log("[fontist] Skip font installation because" \
274
+ " --no-install-fonts argument passed", :debug)
275
+ return
276
+ end
277
+
278
+ if !@processor.respond_to?(:fonts_manifest) || @processor.fonts_manifest.nil?
279
+ Util.log("[fontist] Skip font installation because font_manifest is missing", :debug)
280
+ return
281
+ end
282
+
283
+ manifest = @processor.fonts_manifest
284
+ agree_to_terms = options[:"agree-to-terms"] || false
285
+ continue_without_fonts = options[:"continue-without-fonts"] || false
286
+
287
+ install_fonts_safe(manifest, agree_to_terms, continue_without_fonts)
288
+ end
289
+
255
290
  private
256
291
 
292
+ def install_fonts_safe(manifest, agree, continue)
293
+ fontist_install(manifest, agree)
294
+ rescue Fontist::Errors::LicensingError
295
+ if continue
296
+ Util.log("[fontist] Processing will continue without fonts installed", :debug)
297
+ else
298
+ Util.log("[fontist] Aborting without proper fonts installed," \
299
+ " make sure that you have set option --agree-to-terms", :fatal)
300
+ end
301
+ rescue Fontist::Errors::FontError => e
302
+ Util.log("[fontist] '#{e.font}' font is not supported. " \
303
+ "Please report this issue at github.com/metanorma/metanorma-#{@processor.short}/issues" \
304
+ " to report this issue.", :info)
305
+ rescue Fontist::Errors::FormulaIndexNotFoundError
306
+ Util.log("[fontist] Missing formula index. Fetching it...", :debug)
307
+ Fontist::Formula.update_formulas_repo
308
+ fontist_install(manifest, agree)
309
+ end
310
+
311
+ def fontist_install(manifest, agree)
312
+ Fontist::Manifest::Install.from_hash(
313
+ manifest,
314
+ confirmation: agree ? "yes" : "no"
315
+ )
316
+ end
317
+
257
318
  # @param options [Hash]
258
319
  # @return [String]
259
320
  def change_output_dir(options)
@@ -15,7 +15,7 @@ module Metanorma
15
15
  attr_accessor :logs
16
16
 
17
17
  def initialize
18
- @logs ||= [:warning, :error]
18
+ @logs ||= [:warning, :error, :fatal]
19
19
  end
20
20
  end
21
21
 
@@ -6,6 +6,10 @@ module Metanorma
6
6
  if log_types.include?(type.to_s)
7
7
  puts(message)
8
8
  end
9
+
10
+ if type == :fatal
11
+ exit(1)
12
+ end
9
13
  end
10
14
  end
11
15
  end
@@ -1,3 +1,3 @@
1
1
  module Metanorma
2
- VERSION = "1.1.7"
2
+ VERSION = "1.2.4"
3
3
  end
@@ -27,6 +27,9 @@ Gem::Specification.new do |spec|
27
27
  spec.add_runtime_dependency 'htmlentities'
28
28
  spec.add_runtime_dependency 'nokogiri'
29
29
  spec.add_runtime_dependency 'mn2pdf', "~> 1"
30
+ spec.add_runtime_dependency 'pry'
31
+ spec.add_runtime_dependency 'fontist', '~> 1.8'
32
+
30
33
  # get relaton-cli to avoic circular reference with metanorma-standoc
31
34
  #spec.add_dependency "relaton-cli"
32
35
  #spec.add_dependency "metanorma-standoc", "~> 1.5.3"
@@ -36,7 +39,7 @@ Gem::Specification.new do |spec|
36
39
  spec.add_development_dependency "byebug", "~> 10.0"
37
40
  spec.add_development_dependency "rspec-command", "~> 1.0"
38
41
  spec.add_development_dependency "equivalent-xml", "~> 0.6"
39
- spec.add_development_dependency "metanorma-iso", "~> 1.5.8"
42
+ spec.add_development_dependency "metanorma-iso", "~> 1.6.0"
40
43
  spec.add_development_dependency "sassc", "~> 2.4.0"
41
44
  #spec.add_development_dependency "isodoc", "~> 1.2.1"
42
45
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.7
4
+ version: 1.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-11 00:00:00.000000000 Z
11
+ date: 2021-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciidoctor
@@ -66,6 +66,34 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: fontist
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.8'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.8'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: rake
71
99
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +170,14 @@ dependencies:
142
170
  requirements:
143
171
  - - "~>"
144
172
  - !ruby/object:Gem::Version
145
- version: 1.5.8
173
+ version: 1.6.0
146
174
  type: :development
147
175
  prerelease: false
148
176
  version_requirements: !ruby/object:Gem::Requirement
149
177
  requirements:
150
178
  - - "~>"
151
179
  - !ruby/object:Gem::Version
152
- version: 1.5.8
180
+ version: 1.6.0
153
181
  - !ruby/object:Gem::Dependency
154
182
  name: sassc
155
183
  requirement: !ruby/object:Gem::Requirement
@@ -175,9 +203,8 @@ extra_rdoc_files:
175
203
  - LICENSE.txt
176
204
  files:
177
205
  - ".github/workflows/dependent_repos.env"
178
- - ".github/workflows/macos.yml"
179
- - ".github/workflows/ubuntu.yml"
180
- - ".github/workflows/windows.yml"
206
+ - ".github/workflows/notify.yml"
207
+ - ".github/workflows/rake.yml"
181
208
  - ".gitignore"
182
209
  - ".hound.yml"
183
210
  - ".rspec"
@@ -1,38 +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
- paths-ignore:
10
- - .github/workflows/ubuntu.yml
11
- - .github/workflows/windows.yml
12
-
13
- jobs:
14
- test-macos:
15
- name: Test on Ruby ${{ matrix.ruby }} macOS
16
- runs-on: macos-latest
17
- continue-on-error: ${{ matrix.experimental }}
18
- strategy:
19
- fail-fast: false
20
- matrix:
21
- ruby: [ '2.6', '2.5', '2.4' ]
22
- experimental: [false]
23
- include:
24
- - ruby: '2.7'
25
- experimental: true
26
- steps:
27
- - uses: actions/checkout@master
28
- - name: Use Ruby
29
- uses: actions/setup-ruby@v1
30
- with:
31
- ruby-version: ${{ matrix.ruby }}
32
- - name: Update gems
33
- run: |
34
- sudo gem install bundler --force
35
- bundle install --jobs 4 --retry 3
36
- - name: Run specs
37
- run: |
38
- bundle exec rake
@@ -1,56 +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
- tags:
9
- - '*'
10
- pull_request:
11
- paths-ignore:
12
- - .github/workflows/macos.yml
13
- - .github/workflows/windows.yml
14
-
15
- jobs:
16
- test-linux:
17
- name: Test on Ruby ${{ matrix.ruby }} Ubuntu
18
- runs-on: ubuntu-latest
19
- continue-on-error: ${{ matrix.experimental }}
20
- strategy:
21
- fail-fast: false
22
- matrix:
23
- ruby: [ '2.6', '2.5', '2.4' ]
24
- experimental: [false]
25
- include:
26
- - ruby: '2.7'
27
- experimental: true
28
- steps:
29
- - uses: actions/checkout@master
30
- - name: Use Ruby
31
- uses: actions/setup-ruby@v1
32
- with:
33
- ruby-version: ${{ matrix.ruby }}
34
- - name: Update gems
35
- run: |
36
- gem install bundler
37
- bundle install --jobs 4 --retry 3
38
- - name: Run specs
39
- run: |
40
- bundle exec rake
41
- - name: Trigger repositories
42
- if: matrix.ruby == '2.6'
43
- env:
44
- GH_USERNAME: metanorma-ci
45
- GH_ACCESS_TOKEN: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
46
- run: |
47
- curl -LO --retry 3 https://raw.githubusercontent.com/metanorma/metanorma-build-scripts/master/trigger-gh-actions.sh
48
- [[ -f ".github/workflows/dependent_repos.env" ]] && source .github/workflows/dependent_repos.env
49
- CLIENT_PAYLOAD=$(cat <<EOF
50
- "{ "ref": "${GITHUB_REF}", "repo": "${GITHUB_REPOSITORY}" }"
51
- EOF
52
- )
53
- for repo in $REPOS
54
- do
55
- sh trigger-gh-actions.sh $ORGANISATION $repo $GH_USERNAME $GH_ACCESS_TOKEN $GITHUB_REPOSITORY "$CLIENT_PAYLOAD"
56
- done
@@ -1,40 +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
- paths-ignore:
10
- - .github/workflows/macos.yml
11
- - .github/workflows/ubuntu.yml
12
-
13
- jobs:
14
- test-windows:
15
- name: Test on Ruby ${{ matrix.ruby }} Windows
16
- runs-on: windows-latest
17
- continue-on-error: ${{ matrix.experimental }}
18
- strategy:
19
- fail-fast: false
20
- matrix:
21
- ruby: [ '2.6', '2.5', '2.4' ]
22
- experimental: [false]
23
- include:
24
- - ruby: '2.7'
25
- experimental: true
26
- steps:
27
- - uses: actions/checkout@master
28
- - name: Use Ruby
29
- uses: actions/setup-ruby@v1
30
- with:
31
- ruby-version: ${{ matrix.ruby }}
32
- - name: Update gems
33
- shell: pwsh
34
- run: |
35
- gem install bundler
36
- bundle config --local path vendor/bundle
37
- bundle install --jobs 4 --retry 3
38
- - name: Run specs
39
- run: |
40
- bundle exec rake