isodoc 1.2.5 → 1.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +69 -0
- data/README.adoc +1 -3
- data/isodoc.gemspec +3 -1
- data/lib/isodoc-yaml/i18n-en.yaml +1 -0
- data/lib/isodoc-yaml/i18n-fr.yaml +8 -7
- data/lib/isodoc-yaml/i18n-zh-Hans.yaml +1 -0
- data/lib/isodoc/base_style/all.css +5 -1
- data/lib/isodoc/base_style/blocks.scss +2 -2
- data/lib/isodoc/base_style/reset.css +5 -1
- data/lib/isodoc/base_style/reset.scss +6 -1
- data/lib/isodoc/base_style/typography.scss +1 -1
- data/lib/isodoc/convert.rb +12 -97
- data/lib/isodoc/css.rb +95 -0
- data/lib/isodoc/function/inline.rb +0 -33
- data/lib/isodoc/function/inline_simple.rb +4 -1
- data/lib/isodoc/function/lists.rb +2 -1
- data/lib/isodoc/function/references.rb +8 -13
- data/lib/isodoc/function/table.rb +10 -0
- data/lib/isodoc/function/to_word_html.rb +3 -2
- data/lib/isodoc/gem_tasks.rb +4 -0
- data/lib/isodoc/html_function/html.rb +1 -0
- data/lib/isodoc/html_function/postprocess.rb +12 -3
- data/lib/isodoc/i18n.rb +23 -51
- data/lib/isodoc/metadata.rb +42 -115
- data/lib/isodoc/metadata_contributor.rb +90 -0
- data/lib/isodoc/metadata_date.rb +11 -0
- data/lib/isodoc/presentation_function/bibdata.rb +79 -7
- data/lib/isodoc/presentation_function/block.rb +14 -9
- data/lib/isodoc/presentation_function/inline.rb +126 -22
- data/lib/isodoc/presentation_function/section.rb +6 -0
- data/lib/isodoc/presentation_xml_convert.rb +4 -0
- data/lib/isodoc/version.rb +1 -1
- data/lib/isodoc/word_convert.rb +0 -20
- data/lib/isodoc/word_function/body.rb +12 -0
- data/lib/isodoc/word_function/postprocess.rb +38 -80
- data/lib/isodoc/word_function/postprocess_cover.rb +55 -0
- data/lib/isodoc/word_function/table.rb +10 -0
- data/lib/isodoc/xref.rb +1 -0
- data/lib/isodoc/xref/xref_counter.rb +20 -9
- data/lib/isodoc/xref/xref_gen.rb +20 -2
- data/lib/isodoc/xslfo_convert.rb +6 -1
- data/spec/assets/html.scss +14 -0
- data/spec/assets/i18n.yaml +17 -9
- data/spec/isodoc/blocks_spec.rb +88 -240
- data/spec/isodoc/cleanup_spec.rb +0 -1
- data/spec/isodoc/footnotes_spec.rb +4 -5
- data/spec/isodoc/i18n_spec.rb +73 -38
- data/spec/isodoc/inline_spec.rb +177 -199
- data/spec/isodoc/lists_spec.rb +1 -1
- data/spec/isodoc/metadata_spec.rb +68 -20
- data/spec/isodoc/postproc_spec.rb +306 -8
- data/spec/isodoc/presentation_xml_spec.rb +584 -1
- data/spec/isodoc/ref_spec.rb +327 -12
- data/spec/isodoc/table_spec.rb +28 -0
- data/spec/isodoc/xref_spec.rb +162 -17
- data/spec/spec_helper.rb +6 -0
- metadata +35 -7
- data/.github/workflows/macos.yml +0 -42
- data/.github/workflows/ubuntu.yml +0 -62
- data/.github/workflows/windows.yml +0 -44
data/spec/isodoc/xref_spec.rb
CHANGED
@@ -2313,7 +2313,7 @@ OUTPUT
|
|
2313
2313
|
<li id="N1"><p>A</p></li>
|
2314
2314
|
</ol>
|
2315
2315
|
<clause id="xyz"><title>Preparatory</title>
|
2316
|
-
<ol id="N02">
|
2316
|
+
<ol id="N02" type="arabic">
|
2317
2317
|
<li id="N2"><p>A</p></li>
|
2318
2318
|
</ol>
|
2319
2319
|
</clause>
|
@@ -2321,17 +2321,17 @@ OUTPUT
|
|
2321
2321
|
</preface>
|
2322
2322
|
<sections>
|
2323
2323
|
<clause id="scope" type="scope"><title>Scope</title>
|
2324
|
-
<ol id="N0">
|
2324
|
+
<ol id="N0" type="roman">
|
2325
2325
|
<li id="N"><p>A</p></li>
|
2326
2326
|
</ol>
|
2327
2327
|
</clause>
|
2328
2328
|
<terms id="terms"/>
|
2329
2329
|
<clause id="widgets"><title>Widgets</title>
|
2330
2330
|
<clause id="widgets1">
|
2331
|
-
<ol id="note1l">
|
2331
|
+
<ol id="note1l" type="alphabet">
|
2332
2332
|
<li id="note1"><p>A</p></li>
|
2333
2333
|
</ol>
|
2334
|
-
<ol id="note2l">
|
2334
|
+
<ol id="note2l" type="roman_upper">
|
2335
2335
|
<li id="note2"><p>A</p></li>
|
2336
2336
|
</ol>
|
2337
2337
|
</clause>
|
@@ -2339,12 +2339,12 @@ OUTPUT
|
|
2339
2339
|
</sections>
|
2340
2340
|
<annex id="annex1">
|
2341
2341
|
<clause id="annex1a">
|
2342
|
-
<ol id="ANl">
|
2342
|
+
<ol id="ANl" type="alphabet_upper">
|
2343
2343
|
<li id="AN"><p>A</p></li>
|
2344
2344
|
</ol>
|
2345
2345
|
</clause>
|
2346
2346
|
<clause id="annex1b">
|
2347
|
-
<ol id="Anote1l">
|
2347
|
+
<ol id="Anote1l" type="roman" start="4">
|
2348
2348
|
<li id="Anote1"><p>A</p></li>
|
2349
2349
|
</ol>
|
2350
2350
|
<ol id="Anote2l">
|
@@ -2360,12 +2360,12 @@ OUTPUT
|
|
2360
2360
|
<foreword>
|
2361
2361
|
<p>
|
2362
2362
|
<xref target='N1'>Introduction, a)</xref>
|
2363
|
-
<xref target='N2'>Preparatory,
|
2364
|
-
<xref target='N'>Clause 1,
|
2363
|
+
<xref target='N2'>Preparatory, 1)</xref>
|
2364
|
+
<xref target='N'>Clause 1, i)</xref>
|
2365
2365
|
<xref target='note1'>Clause 3.1, List 1 a)</xref>
|
2366
|
-
<xref target='note2'>Clause 3.1, List 2
|
2367
|
-
<xref target='AN'>Annex A.1,
|
2368
|
-
<xref target='Anote1'>Annex A.2, List 1
|
2366
|
+
<xref target='note2'>Clause 3.1, List 2 I)</xref>
|
2367
|
+
<xref target='AN'>Annex A.1, A)</xref>
|
2368
|
+
<xref target='Anote1'>Annex A.2, List 1 iv)</xref>
|
2369
2369
|
<xref target='Anote2'>Annex A.2, List 2 a)</xref>
|
2370
2370
|
</p>
|
2371
2371
|
</foreword>
|
@@ -2377,7 +2377,7 @@ OUTPUT
|
|
2377
2377
|
</ol>
|
2378
2378
|
<clause id='xyz'>
|
2379
2379
|
<title depth='2'>Preparatory</title>
|
2380
|
-
<ol id='N02'>
|
2380
|
+
<ol id='N02' type="arabic">
|
2381
2381
|
<li id='N2'>
|
2382
2382
|
<p>A</p>
|
2383
2383
|
</li>
|
@@ -2392,7 +2392,7 @@ OUTPUT
|
|
2392
2392
|
<tab/>
|
2393
2393
|
Scope
|
2394
2394
|
</title>
|
2395
|
-
<ol id='N0'>
|
2395
|
+
<ol id='N0' type="roman">
|
2396
2396
|
<li id='N'>
|
2397
2397
|
<p>A</p>
|
2398
2398
|
</li>
|
@@ -2408,12 +2408,12 @@ OUTPUT
|
|
2408
2408
|
Widgets
|
2409
2409
|
</title>
|
2410
2410
|
<clause id='widgets1'><title>3.1.</title>
|
2411
|
-
<ol id='note1l'>
|
2411
|
+
<ol id='note1l' type="alphabet">
|
2412
2412
|
<li id='note1'>
|
2413
2413
|
<p>A</p>
|
2414
2414
|
</li>
|
2415
2415
|
</ol>
|
2416
|
-
<ol id='note2l'>
|
2416
|
+
<ol id='note2l' type="roman_upper">
|
2417
2417
|
<li id='note2'>
|
2418
2418
|
<p>A</p>
|
2419
2419
|
</li>
|
@@ -2428,14 +2428,14 @@ OUTPUT
|
|
2428
2428
|
(informative)
|
2429
2429
|
</title>
|
2430
2430
|
<clause id='annex1a'><title>A.1.</title>
|
2431
|
-
<ol id='ANl'>
|
2431
|
+
<ol id='ANl' type="alphabet_upper">
|
2432
2432
|
<li id='AN'>
|
2433
2433
|
<p>A</p>
|
2434
2434
|
</li>
|
2435
2435
|
</ol>
|
2436
2436
|
</clause>
|
2437
2437
|
<clause id='annex1b'><title>A.2.</title>
|
2438
|
-
<ol id='Anote1l'>
|
2438
|
+
<ol id='Anote1l' type="roman" start="4">
|
2439
2439
|
<li id='Anote1'>
|
2440
2440
|
<p>A</p>
|
2441
2441
|
</li>
|
@@ -2547,6 +2547,151 @@ OUTPUT
|
|
2547
2547
|
OUTPUT
|
2548
2548
|
end
|
2549
2549
|
|
2550
|
+
it "cross-references bookmarks" do
|
2551
|
+
expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
2552
|
+
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
2553
|
+
<preface>
|
2554
|
+
<foreword>
|
2555
|
+
<p>
|
2556
|
+
<xref target="N1"/>
|
2557
|
+
<xref target="N2"/>
|
2558
|
+
<xref target="N"/>
|
2559
|
+
<xref target="note1"/>
|
2560
|
+
<xref target="note2"/>
|
2561
|
+
<xref target="AN"/>
|
2562
|
+
<xref target="Anote1"/>
|
2563
|
+
<xref target="Anote2"/>
|
2564
|
+
</p>
|
2565
|
+
</foreword>
|
2566
|
+
<introduction id="intro">
|
2567
|
+
<p id="N01">
|
2568
|
+
<bookmark id="N1"/>
|
2569
|
+
</p>
|
2570
|
+
<clause id="xyz"><title>Preparatory</title>
|
2571
|
+
<p id="N02" type="arabic">
|
2572
|
+
<bookmark id="N2"/>
|
2573
|
+
</p>
|
2574
|
+
</clause>
|
2575
|
+
</introduction>
|
2576
|
+
</preface>
|
2577
|
+
<sections>
|
2578
|
+
<clause id="scope" type="scope"><title>Scope</title>
|
2579
|
+
<p id="N0" type="roman">
|
2580
|
+
<bookmark id="N"/>
|
2581
|
+
</p>
|
2582
|
+
</clause>
|
2583
|
+
<terms id="terms"/>
|
2584
|
+
<clause id="widgets"><title>Widgets</title>
|
2585
|
+
<clause id="widgets1">
|
2586
|
+
<p id="note1l" type="alphabet">
|
2587
|
+
<bookmark id="note1"/>
|
2588
|
+
</p>
|
2589
|
+
<p id="note2l" type="roman_upper">
|
2590
|
+
<bookmark id="note2"/>
|
2591
|
+
</p>
|
2592
|
+
</clause>
|
2593
|
+
</clause>
|
2594
|
+
</sections>
|
2595
|
+
<annex id="annex1">
|
2596
|
+
<clause id="annex1a">
|
2597
|
+
<p id="ANl" type="alphabet_upper">
|
2598
|
+
<bookmark id="AN"/>
|
2599
|
+
</p>
|
2600
|
+
</clause>
|
2601
|
+
<clause id="annex1b">
|
2602
|
+
<p id="Anote1l" type="roman" start="4">
|
2603
|
+
<bookmark id="Anote1"/>
|
2604
|
+
</p>
|
2605
|
+
<p id="Anote2l">
|
2606
|
+
<bookmark id="Anote2"/>
|
2607
|
+
</p>
|
2608
|
+
</clause>
|
2609
|
+
</annex>
|
2610
|
+
</iso-standard>
|
2611
|
+
INPUT
|
2612
|
+
<iso-standard xmlns='http://riboseinc.com/isoxml' type='presentation'>
|
2613
|
+
<preface>
|
2614
|
+
<foreword>
|
2615
|
+
<p>
|
2616
|
+
<xref target='N1'>Introduction</xref>
|
2617
|
+
<xref target='N2'>Preparatory</xref>
|
2618
|
+
<xref target='N'>Clause 1</xref>
|
2619
|
+
<xref target='note1'>Clause 3.1</xref>
|
2620
|
+
<xref target='note2'>Clause 3.1</xref>
|
2621
|
+
<xref target='AN'>Annex A.1</xref>
|
2622
|
+
<xref target='Anote1'>Annex A.2</xref>
|
2623
|
+
<xref target='Anote2'>Annex A.2</xref>
|
2624
|
+
</p>
|
2625
|
+
</foreword>
|
2626
|
+
<introduction id='intro'>
|
2627
|
+
<p id='N01'>
|
2628
|
+
<bookmark id='N1'/>
|
2629
|
+
</p>
|
2630
|
+
<clause id='xyz'>
|
2631
|
+
<title depth='2'>Preparatory</title>
|
2632
|
+
<p id='N02' type='arabic'>
|
2633
|
+
<bookmark id='N2'/>
|
2634
|
+
</p>
|
2635
|
+
</clause>
|
2636
|
+
</introduction>
|
2637
|
+
</preface>
|
2638
|
+
<sections>
|
2639
|
+
<clause id='scope' type='scope'>
|
2640
|
+
<title depth='1'>
|
2641
|
+
1.
|
2642
|
+
<tab/>
|
2643
|
+
Scope
|
2644
|
+
</title>
|
2645
|
+
<p id='N0' type='roman'>
|
2646
|
+
<bookmark id='N'/>
|
2647
|
+
</p>
|
2648
|
+
</clause>
|
2649
|
+
<terms id='terms'>
|
2650
|
+
<title>2.</title>
|
2651
|
+
</terms>
|
2652
|
+
<clause id='widgets'>
|
2653
|
+
<title depth='1'>
|
2654
|
+
3.
|
2655
|
+
<tab/>
|
2656
|
+
Widgets
|
2657
|
+
</title>
|
2658
|
+
<clause id='widgets1'>
|
2659
|
+
<title>3.1.</title>
|
2660
|
+
<p id='note1l' type='alphabet'>
|
2661
|
+
<bookmark id='note1'/>
|
2662
|
+
</p>
|
2663
|
+
<p id='note2l' type='roman_upper'>
|
2664
|
+
<bookmark id='note2'/>
|
2665
|
+
</p>
|
2666
|
+
</clause>
|
2667
|
+
</clause>
|
2668
|
+
</sections>
|
2669
|
+
<annex id='annex1'>
|
2670
|
+
<title>
|
2671
|
+
<strong>Annex A</strong>
|
2672
|
+
<br/>
|
2673
|
+
(informative)
|
2674
|
+
</title>
|
2675
|
+
<clause id='annex1a'>
|
2676
|
+
<title>A.1.</title>
|
2677
|
+
<p id='ANl' type='alphabet_upper'>
|
2678
|
+
<bookmark id='AN'/>
|
2679
|
+
</p>
|
2680
|
+
</clause>
|
2681
|
+
<clause id='annex1b'>
|
2682
|
+
<title>A.2.</title>
|
2683
|
+
<p id='Anote1l' type='roman' start='4'>
|
2684
|
+
<bookmark id='Anote1'/>
|
2685
|
+
</p>
|
2686
|
+
<p id='Anote2l'>
|
2687
|
+
<bookmark id='Anote2'/>
|
2688
|
+
</p>
|
2689
|
+
</clause>
|
2690
|
+
</annex>
|
2691
|
+
</iso-standard>
|
2692
|
+
OUTPUT
|
2693
|
+
end
|
2694
|
+
|
2550
2695
|
it "realises subsequences" do
|
2551
2696
|
expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
2552
2697
|
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
data/spec/spec_helper.rb
CHANGED
@@ -29,6 +29,12 @@ def xmlpp(x)
|
|
29
29
|
s
|
30
30
|
end
|
31
31
|
|
32
|
+
def metadata(x)
|
33
|
+
Hash[x.sort].delete_if{ |k, v| v.nil? || v.respond_to?(:empty?) && v.empty? }
|
34
|
+
end
|
35
|
+
|
36
|
+
# expect(metadata(c.info(Nokogiri::XML(<<~"INPUT"), nil))).to be_equivalent_to <<~"OUTPUT"
|
37
|
+
|
32
38
|
def strip_guid(x)
|
33
39
|
x.gsub(%r{ id="_[^"]+"}, ' id="_"').gsub(%r{ target="_[^"]+"}, ' target="_"').
|
34
40
|
gsub(%r( href="#[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{13}"), ' href="#_"').
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: isodoc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.1
|
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-
|
11
|
+
date: 2020-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciimath
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: twitter_cldr
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: roman-numerals
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,14 +142,28 @@ dependencies:
|
|
128
142
|
requirements:
|
129
143
|
- - "~>"
|
130
144
|
- !ruby/object:Gem::Version
|
131
|
-
version: 1.
|
145
|
+
version: 1.2.0
|
132
146
|
type: :runtime
|
133
147
|
prerelease: false
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
135
149
|
requirements:
|
136
150
|
- - "~>"
|
137
151
|
- !ruby/object:Gem::Version
|
138
|
-
version: 1.
|
152
|
+
version: 1.2.0
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: relaton-cli
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
139
167
|
- !ruby/object:Gem::Dependency
|
140
168
|
name: rake
|
141
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -287,9 +315,7 @@ executables: []
|
|
287
315
|
extensions: []
|
288
316
|
extra_rdoc_files: []
|
289
317
|
files:
|
290
|
-
- ".github/workflows/
|
291
|
-
- ".github/workflows/ubuntu.yml"
|
292
|
-
- ".github/workflows/windows.yml"
|
318
|
+
- ".github/workflows/rake.yml"
|
293
319
|
- ".hound.yml"
|
294
320
|
- ".oss-guides.rubocop.yml"
|
295
321
|
- ".rubocop.ribose.yml"
|
@@ -326,6 +352,7 @@ files:
|
|
326
352
|
- lib/isodoc/class_utils.rb
|
327
353
|
- lib/isodoc/common.rb
|
328
354
|
- lib/isodoc/convert.rb
|
355
|
+
- lib/isodoc/css.rb
|
329
356
|
- lib/isodoc/function.rb
|
330
357
|
- lib/isodoc/function/blocks.rb
|
331
358
|
- lib/isodoc/function/blocks_example_note.rb
|
@@ -350,6 +377,7 @@ files:
|
|
350
377
|
- lib/isodoc/html_function/postprocess.rb
|
351
378
|
- lib/isodoc/i18n.rb
|
352
379
|
- lib/isodoc/metadata.rb
|
380
|
+
- lib/isodoc/metadata_contributor.rb
|
353
381
|
- lib/isodoc/metadata_date.rb
|
354
382
|
- lib/isodoc/pdf_convert.rb
|
355
383
|
- lib/isodoc/presentation_function/bibdata.rb
|
data/.github/workflows/macos.yml
DELETED
@@ -1,42 +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: Install Inkscape
|
33
|
-
run: |
|
34
|
-
brew cask install inkscape
|
35
|
-
inkscape --version
|
36
|
-
- name: Update gems
|
37
|
-
run: |
|
38
|
-
sudo gem install bundler --force
|
39
|
-
bundle install --jobs 4 --retry 3
|
40
|
-
- name: Run specs
|
41
|
-
run: |
|
42
|
-
bundle exec rake
|
@@ -1,62 +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: Install Inkscape
|
35
|
-
run: |
|
36
|
-
sudo add-apt-repository ppa:inkscape.dev/stable
|
37
|
-
sudo apt update
|
38
|
-
sudo apt install inkscape
|
39
|
-
inkscape --version
|
40
|
-
- name: Update gems
|
41
|
-
run: |
|
42
|
-
gem install bundler
|
43
|
-
bundle install --jobs 4 --retry 3
|
44
|
-
- name: Run specs
|
45
|
-
run: |
|
46
|
-
bundle exec rake
|
47
|
-
- name: Trigger repositories
|
48
|
-
if: matrix.ruby == '2.6'
|
49
|
-
env:
|
50
|
-
GH_USERNAME: metanorma-ci
|
51
|
-
GH_ACCESS_TOKEN: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
|
52
|
-
run: |
|
53
|
-
curl -LO --retry 3 https://raw.githubusercontent.com/metanorma/metanorma-build-scripts/master/trigger-gh-actions.sh
|
54
|
-
[[ -f ".github/workflows/dependent_repos.env" ]] && source .github/workflows/dependent_repos.env
|
55
|
-
CLIENT_PAYLOAD=$(cat <<EOF
|
56
|
-
"{ "ref": "${GITHUB_REF}", "repo": "${GITHUB_REPOSITORY}" }"
|
57
|
-
EOF
|
58
|
-
)
|
59
|
-
for repo in $REPOS
|
60
|
-
do
|
61
|
-
sh trigger-gh-actions.sh $ORGANISATION $repo $GH_USERNAME $GH_ACCESS_TOKEN $GITHUB_REPOSITORY "$CLIENT_PAYLOAD"
|
62
|
-
done
|