metanorma-cli 1.3.3 → 1.3.7
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 +4 -4
- data/.github/workflows/dependent_repos.env +3 -0
- data/.github/workflows/macos.yml +38 -0
- data/.github/workflows/ubuntu.yml +72 -0
- data/.github/workflows/windows.yml +40 -0
- data/.gitignore +21 -0
- data/.hound.yml +3 -0
- data/.rspec +2 -0
- data/.rubocop.yml +515 -0
- data/docs/installation.adoc +61 -0
- data/docs/navigation.adoc +7 -0
- data/docs/usage.adoc +74 -0
- data/lib/metanorma/cli/command.rb +25 -1
- data/lib/metanorma/cli/setup.rb +9 -30
- data/lib/metanorma/cli/version.rb +1 -1
- data/metanorma-cli.gemspec +24 -19
- data/templates/base/.github/workflows/docker.yml +74 -0
- data/templates/base/.github/workflows/macos.yml +50 -0
- data/templates/base/.github/workflows/ubuntu.yml +55 -0
- data/templates/base/.github/workflows/windows.yml +42 -0
- data/templates/base/.gitlab-ci.yml +34 -4
- data/templates/base/Makefile +111 -59
- data/templates/base/Makefile.win +136 -36
- data/templates/base/metanorma.yml +1 -1
- metadata +49 -83
- data/05-020r26.rxl +0 -75
- data/05-020r26.xml.zip +0 -0
- data/Gemfile.lock +0 -336
- data/a +0 -3
- data/a.json +0 -33
- data/a.rb +0 -13
- data/a.rxl +0 -45
- data/b +0 -85
- data/csd-tofix 2.zip +0 -0
- data/csd-tofix.zip +0 -0
- data/exe/metanorma.old +0 -178
- data/extract/sourcecode/sourcecode-0000.txt +0 -5
- data/files.zip +0 -0
- data/relaton/cache/version +0 -1
- data/rice.rxl +0 -51
- data/sourcecode/0 +0 -5
- data/templates/base/.travis.yml +0 -30
- data/templates/base/appveyor.yml +0 -29
- data/test.rxl +0 -52
- data/tmp/my-custom-csd/Gemfile +0 -4
- data/tmp/my-custom-csd/Makefile +0 -144
- data/tmp/my-custom-csd/Makefile.win +0 -116
- data/tmp/my-custom-csd/appveyor.yml +0 -29
- data/tmp/my-custom-csd/metanorma.yml +0 -4
- data/tmp/my-document/Gemfile +0 -4
- data/tmp/my-document/Makefile +0 -144
- data/tmp/my-document/Makefile.win +0 -116
- data/tmp/my-document/appveyor.yml +0 -29
- data/tmp/my-document/metanorma.yml +0 -4
- data/tmp/my-local-document/Gemfile +0 -4
- data/tmp/my-local-document/Makefile +0 -144
- data/tmp/my-local-document/Makefile.win +0 -116
- data/tmp/my-local-document/appveyor.yml +0 -29
- data/tmp/my-local-document/metanorma.yml +0 -4
@@ -0,0 +1,61 @@
|
|
1
|
+
= Installation
|
2
|
+
|
3
|
+
You can get the `metanorma` command-line executable by installing this Ruby gem.
|
4
|
+
|
5
|
+
[IMPORTANT]
|
6
|
+
====
|
7
|
+
To install the Metanorma toolchain we recommend to use one of the ways described in
|
8
|
+
https://www.metanorma.com/author/topics/install/[Metanorma installation] topic.
|
9
|
+
Installing this gem by hand may not be the easiest way.
|
10
|
+
|
11
|
+
When following this installation method, to start building documents you may have to take care
|
12
|
+
of manually installing some required third-party software as well.
|
13
|
+
Which exactly depends on what documents you’re building, below notes cover some of that.
|
14
|
+
====
|
15
|
+
|
16
|
+
|
17
|
+
== Installing the Metanorma CLI gem
|
18
|
+
|
19
|
+
[source,console]
|
20
|
+
----
|
21
|
+
gem install metanorma-cli
|
22
|
+
----
|
23
|
+
|
24
|
+
Installing the gem will also install all officially supported Metanorma flavors
|
25
|
+
(such as ISO, CalConnect, IETF, etc).
|
26
|
+
|
27
|
+
|
28
|
+
== Dependencies
|
29
|
+
|
30
|
+
=== Java
|
31
|
+
|
32
|
+
You will have to have a Java runtime installed. (Use `brew cask install java` on macOS.)
|
33
|
+
|
34
|
+
=== Puppeteer
|
35
|
+
|
36
|
+
*If you are going to generate PDFs from HTML* (which applies to CalConnect Standard Documents),
|
37
|
+
you will also need to install the https://github.com/GoogleChrome/puppeteer[Puppeteer] Node library.
|
38
|
+
|
39
|
+
* Ensure you have Node of at least version 7.6.0:
|
40
|
+
** https://nodejs.org/en/download/
|
41
|
+
** On macOS you should be able to `brew install node`
|
42
|
+
* Ensure you have NPM: https://docs.npmjs.com/getting-started/installing-node
|
43
|
+
* Install Puppeteer globally in your system: `npm install -g --save --save-exact puppeteer`
|
44
|
+
|
45
|
+
=== PlantUML
|
46
|
+
|
47
|
+
*If your documents include link:/author/topics/document-format/diagrams/[PlantUML diagrams]*,
|
48
|
+
PlantUML will have to be installed.
|
49
|
+
|
50
|
+
* `brew install plantuml` on MacOS.
|
51
|
+
* For Linux, link the PlantUML jar file into a command line executable; see
|
52
|
+
`.travis.yml` for an example.
|
53
|
+
|
54
|
+
If PlantUML is not installed locally, the source PlantUML is incorporated into
|
55
|
+
the output document as sourcecode.
|
56
|
+
|
57
|
+
|
58
|
+
== Installation notes for Windows
|
59
|
+
|
60
|
+
To be able to compile gem with a native extension you must have `RIDK` installed.
|
61
|
+
If you are installing metanorma with chocolatey installation script will do this for you
|
data/docs/usage.adoc
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
= Using the Metanorma CLI
|
2
|
+
|
3
|
+
== Usage sample
|
4
|
+
|
5
|
+
[source,sh]
|
6
|
+
----
|
7
|
+
$ metanorma --type iso -x html iso-my-standard-document.adoc
|
8
|
+
----
|
9
|
+
|
10
|
+
== Full syntax & options
|
11
|
+
|
12
|
+
[source,sh]
|
13
|
+
----
|
14
|
+
$ metanorma --type <chosen-type> \
|
15
|
+
[--format input-format] \
|
16
|
+
[--extensions EXT1,EXT2...] \
|
17
|
+
iso-my-standard-document.adoc
|
18
|
+
----
|
19
|
+
|
20
|
+
`type`:: (mandatory, specified via `--type` or `-t`) takes one of the following types:
|
21
|
+
`rfc2`, `rfc3`, `iso`, `gb`, `csd`, `csand`, `m3d`, `rsd`. Each of these corresponds to a
|
22
|
+
standards class and a Metanorma gem; the list of standards classes supported by the script
|
23
|
+
by default will grow (see also `require`).
|
24
|
+
|
25
|
+
`extension`:: (optional) specifies the output formats to be generated. If not specified,
|
26
|
+
all possible output formats are generated. The output formats generated are constrained by
|
27
|
+
what has been defined for each standard type. All standards can generate Metanorma XML (`xml`),
|
28
|
+
and at least one of HTML (`html`), DOC (`doc`), PDF (`pdf`). Some standards generate alternative
|
29
|
+
HTML renderings (e.g. `html_alt` for ISO).
|
30
|
+
|
31
|
+
`wrapper`:: create a separate folder for each instance of HTML output generated; the folder is named
|
32
|
+
the same as the output file, without the `.html` suffix. Used to make distribution of HTML outputs
|
33
|
+
more straightforward.
|
34
|
+
|
35
|
+
`format`:: (optional, defaults to `asciidoc`, specified via `--format` or `-f`) only accepts `asciidoc` for now
|
36
|
+
|
37
|
+
`require`:: If you wish to use metanorma with a document class which has not been included in the types recognised
|
38
|
+
by the metanorma script, you will need to name the corresponding Metnorma gem explicitly with the `-r`
|
39
|
+
option. For example:
|
40
|
+
|
41
|
+
[source,sh]
|
42
|
+
----
|
43
|
+
$ metanorma -t mpfd mpfd-bpn.adoc
|
44
|
+
|
45
|
+
[metanorma] Error: mpfd is not a supported standard type.
|
46
|
+
|
47
|
+
$ metanorma -t mpfd -r metanorma-mpfd mpfd-bpn.adoc
|
48
|
+
----
|
49
|
+
|
50
|
+
== Command-line help
|
51
|
+
|
52
|
+
[source,sh]
|
53
|
+
----
|
54
|
+
$ metanorma -h
|
55
|
+
Usage: metanorma [options] <file>
|
56
|
+
-t, --type TYPE Type of standard to generate: rfc2, rfc3, iso, gb, csd, csand, m3d
|
57
|
+
-x, --extensions EXT1,EXT2,... | all Type of extension to generate per type:
|
58
|
+
{
|
59
|
+
:rfc2=>{:xmlrfc=>"v2.xml"},
|
60
|
+
:rfc3=>{:xmlrfc=>"v3.xml"},
|
61
|
+
:iso=>{:html=>"html", :html_alt=>"alt.html", :doc=>"doc"},
|
62
|
+
:gb=>{:html=>"html", :doc=>"doc"},
|
63
|
+
:csd=>{:html=>"html", :pdf=>"pdf"},
|
64
|
+
:csand=>{:html=>"html"},
|
65
|
+
:m3d=>{:html=>"html", :doc=>"doc"},
|
66
|
+
:rsd=>{:html=>"html"}
|
67
|
+
}
|
68
|
+
In addition, xml (outside of rfc2, rfc3) generates IsoDoc XML. If the argument is "all" or the option is
|
69
|
+
missing, all available extensions are generated.
|
70
|
+
-f, --format FORMAT Format of source file: asciidoc (current default, only format supported)
|
71
|
+
-r, --require LIBRARY Require LIBRARY prior to execution
|
72
|
+
-w, --wrapper Create wrapper folder for HTML output
|
73
|
+
-h, --help Show this message
|
74
|
+
----
|
@@ -49,6 +49,24 @@ module Metanorma
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
+
desc "collection FILENAME", "Render HTML pages from XML/YAML colection"
|
53
|
+
option :format, aliases: "-x", type: :string, desc: "Formats to generate"
|
54
|
+
option "output-folder", aliases: "-w", required: true, desc: "Directory to save compiled files"
|
55
|
+
option :coverpage, aliases: "-c", desc: "Liquid template"
|
56
|
+
|
57
|
+
def collection(filename = nil)
|
58
|
+
if filename
|
59
|
+
opts = options.dup
|
60
|
+
opts[:format] &&= opts[:format].split(",").map &:to_sym
|
61
|
+
opts[:output_folder] = opts.delete :"output-folder"
|
62
|
+
coll = Metanorma::Collection.parse filename
|
63
|
+
coll.render opts
|
64
|
+
else UI.say("Need to specify a file to process")
|
65
|
+
end
|
66
|
+
rescue ArgumentError => e
|
67
|
+
UI.say e.message
|
68
|
+
end
|
69
|
+
|
52
70
|
desc "version", "Version of the code"
|
53
71
|
option :type, aliases: "-t", required: false, desc: "Type of standard to generate"
|
54
72
|
option :format, aliases: "-f", default: :asciidoc, desc: "Format of source file: eg. asciidoc"
|
@@ -86,8 +104,14 @@ module Metanorma
|
|
86
104
|
font: font,
|
87
105
|
term_agreement: options[:agree_to_terms],
|
88
106
|
)
|
107
|
+
rescue Fontist::Errors::LicensingError
|
108
|
+
UI.error(
|
109
|
+
"[error]: License acceptance required to install a necessary font." \
|
110
|
+
"Accept required licenses with: `metanorma setup --agree-to-terms`."
|
111
|
+
)
|
112
|
+
return
|
89
113
|
rescue Fontist::Errors::NonSupportedFontError
|
90
|
-
UI.say("[info]:
|
114
|
+
UI.say("[info]: The font `#{font}` is not yet supported.")
|
91
115
|
end
|
92
116
|
end
|
93
117
|
end
|
data/lib/metanorma/cli/setup.rb
CHANGED
@@ -43,7 +43,7 @@ module Metanorma
|
|
43
43
|
begin
|
44
44
|
Fontist::Font.find(font_name)
|
45
45
|
rescue Fontist::Errors::MissingFontError
|
46
|
-
|
46
|
+
process_font_installation(font_name)
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
@@ -54,39 +54,18 @@ module Metanorma
|
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
57
|
-
def
|
58
|
-
|
59
|
-
formula = Fontist::Formula.find(font_name)
|
57
|
+
def process_font_installation(font_name)
|
58
|
+
accepted_agreement = term_agreement == true ? "yes" : "no"
|
60
59
|
|
61
|
-
if !term_agreement
|
62
|
-
|
63
|
-
end
|
64
|
-
|
65
|
-
if response.downcase === "yes"
|
66
|
-
Fontist::Font.install(font_name, confirmation: response)
|
67
|
-
end
|
60
|
+
UI.say(missing_font_message) if !term_agreement
|
61
|
+
Fontist::Font.install(font_name, confirmation: accepted_agreement)
|
68
62
|
end
|
69
63
|
|
70
|
-
def
|
64
|
+
def missing_font_message
|
71
65
|
<<~MSG
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
for PDF generation. Without those fonts, the generated PDF will use
|
76
|
-
generic fonts that may not resemble the desired styling.
|
77
|
-
|
78
|
-
Metanorma can download these files for you if you accept the font
|
79
|
-
licensing conditions for the font "#{font_name}".
|
80
|
-
|
81
|
-
FONT LICENSE BEGIN ("#{font_name}")
|
82
|
-
-----------------------------------------------------------------------
|
83
|
-
#{license}
|
84
|
-
-----------------------------------------------------------------------
|
85
|
-
FONT LICENSE END ("#{font_name}")
|
86
|
-
|
87
|
-
Do you accept all presented font licenses, and want Metanorma to
|
88
|
-
download these fonts for you?
|
89
|
-
=> TYPE "Yes" or "No":
|
66
|
+
Your system does not have the necessary fonts installed for
|
67
|
+
PDF generation. Without these fonts, the generated PDF will use
|
68
|
+
generic fonts that may not resemble the desired styling.\n
|
90
69
|
MSG
|
91
70
|
end
|
92
71
|
end
|
data/metanorma-cli.gemspec
CHANGED
@@ -14,8 +14,14 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.homepage = "https://www.metanorma.com"
|
15
15
|
spec.license = "BSD-2-Clause"
|
16
16
|
|
17
|
+
=begin
|
17
18
|
spec.files = Dir['**/*'].reject { |f| f.match(%r{^(test|spec|features|templates|.git)/|.(gem|gif|png|jpg|jpeg|xml|html|doc|pdf|dtd|ent)$}) }
|
18
19
|
spec.files += Dir.glob("templates/base/**", File::FNM_DOTMATCH).reject { |f| File.directory?(f) }
|
20
|
+
=end
|
21
|
+
|
22
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
23
|
+
f.match(%r{^(test|spec|features)/})
|
24
|
+
end
|
19
25
|
|
20
26
|
spec.extra_rdoc_files = %w[README.adoc LICENSE]
|
21
27
|
spec.bindir = "exe"
|
@@ -24,7 +30,6 @@ Gem::Specification.new do |spec|
|
|
24
30
|
spec.required_ruby_version = '>= 2.4.0'
|
25
31
|
|
26
32
|
spec.add_development_dependency "pry"
|
27
|
-
spec.add_development_dependency "sassc", "2.4.0"
|
28
33
|
spec.add_development_dependency "rake", "~> 12.0"
|
29
34
|
spec.add_development_dependency "rspec", "~> 3.0"
|
30
35
|
spec.add_development_dependency "byebug", "~> 10.0"
|
@@ -33,26 +38,26 @@ Gem::Specification.new do |spec|
|
|
33
38
|
spec.add_development_dependency "rspec-core", "~> 3.4"
|
34
39
|
|
35
40
|
spec.add_runtime_dependency "thor", "~> 1.0"
|
36
|
-
spec.add_runtime_dependency "metanorma-iso", "~> 1.
|
37
|
-
spec.add_runtime_dependency 'metanorma-ietf', "~> 2.
|
38
|
-
spec.add_runtime_dependency 'metanorma-gb', "~> 1.
|
39
|
-
spec.add_runtime_dependency 'metanorma-iec', "~> 1.
|
40
|
-
spec.add_runtime_dependency 'metanorma-cc', "~> 1.
|
41
|
-
spec.add_runtime_dependency 'metanorma-csa', "~> 1.
|
42
|
-
#spec.add_runtime_dependency 'metanorma-ribose', "~> 1.
|
43
|
-
spec.add_runtime_dependency 'metanorma-m3aawg', "~> 1.
|
44
|
-
spec.add_runtime_dependency 'metanorma-generic', "~> 1.
|
45
|
-
spec.add_runtime_dependency 'metanorma-standoc', "~> 1.
|
46
|
-
#spec.add_runtime_dependency 'metanorma-mpfa', "~> 0.
|
47
|
-
spec.add_runtime_dependency 'metanorma-un', "~> 0.
|
48
|
-
spec.add_runtime_dependency 'metanorma-ogc', "~> 1.
|
49
|
-
spec.add_runtime_dependency 'metanorma-nist', "~> 1.
|
50
|
-
spec.add_runtime_dependency 'metanorma-itu', "~> 1.
|
51
|
-
spec.add_runtime_dependency 'metanorma-iho', "~> 0.
|
52
|
-
spec.add_runtime_dependency 'isodoc', "~> 1.
|
41
|
+
spec.add_runtime_dependency "metanorma-iso", "~> 1.5.0"
|
42
|
+
spec.add_runtime_dependency 'metanorma-ietf', "~> 2.2.0"
|
43
|
+
spec.add_runtime_dependency 'metanorma-gb', "~> 1.5.0"
|
44
|
+
spec.add_runtime_dependency 'metanorma-iec', "~> 1.2.0"
|
45
|
+
spec.add_runtime_dependency 'metanorma-cc', "~> 1.5.0"
|
46
|
+
spec.add_runtime_dependency 'metanorma-csa', "~> 1.6.0"
|
47
|
+
#spec.add_runtime_dependency 'metanorma-ribose', "~> 1.6.0"
|
48
|
+
spec.add_runtime_dependency 'metanorma-m3aawg', "~> 1.5.0"
|
49
|
+
spec.add_runtime_dependency 'metanorma-generic', "~> 1.6.0"
|
50
|
+
spec.add_runtime_dependency 'metanorma-standoc', "~> 1.5.0"
|
51
|
+
#spec.add_runtime_dependency 'metanorma-mpfa', "~> 0.5.0"
|
52
|
+
spec.add_runtime_dependency 'metanorma-un', "~> 0.5.0"
|
53
|
+
spec.add_runtime_dependency 'metanorma-ogc', "~> 1.2.0"
|
54
|
+
spec.add_runtime_dependency 'metanorma-nist', "~> 1.2.0"
|
55
|
+
spec.add_runtime_dependency 'metanorma-itu', "~> 1.2.0"
|
56
|
+
spec.add_runtime_dependency 'metanorma-iho', "~> 0.2.0"
|
57
|
+
spec.add_runtime_dependency 'isodoc', "~> 1.2.0"
|
53
58
|
spec.add_runtime_dependency 'metanorma', "~> 1.1.0"
|
54
59
|
#spec.add_runtime_dependency 'nokogiri', ">= 1"
|
55
60
|
spec.add_runtime_dependency "git", "~> 1.5"
|
56
61
|
spec.add_runtime_dependency "relaton-cli", ">= 0.8.2"
|
57
|
-
spec.add_runtime_dependency "fontist", "~> 1.0"
|
62
|
+
spec.add_runtime_dependency "fontist", "~> 1.3.0"
|
58
63
|
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
+
# See https://github.com/metanorma/cimas
|
3
|
+
name: docker
|
4
|
+
|
5
|
+
on:
|
6
|
+
push:
|
7
|
+
branches: [ master ]
|
8
|
+
pull_request:
|
9
|
+
paths-ignore:
|
10
|
+
- .github/workflows/test.yml
|
11
|
+
- .github/workflows/macos.yml
|
12
|
+
- .github/workflows/ubuntu.yml
|
13
|
+
- .github/workflows/windows.yml
|
14
|
+
- Makefile.win
|
15
|
+
repository_dispatch:
|
16
|
+
types: [ metanorma/metanorma-docker ]
|
17
|
+
|
18
|
+
jobs:
|
19
|
+
test-docker:
|
20
|
+
runs-on: ubuntu-latest
|
21
|
+
container: docker://metanorma/mn
|
22
|
+
steps:
|
23
|
+
- name: Checkout code
|
24
|
+
uses: actions/checkout@v2
|
25
|
+
with:
|
26
|
+
token: ${{ secrets.METANORMA_CI_PAT_TOKEN || github.token }}
|
27
|
+
submodules: true
|
28
|
+
- name: Setup fonts
|
29
|
+
run: |
|
30
|
+
metanorma setup --agree-to-terms
|
31
|
+
- uses: actions/setup-go@v2-beta
|
32
|
+
with:
|
33
|
+
go-version: '^1.13.1'
|
34
|
+
- name: Install yq
|
35
|
+
run: |
|
36
|
+
GO111MODULE=on go get github.com/mikefarah/yq/v3
|
37
|
+
ln -s $GOPATH/bin/yq /usr/local/bin/yq
|
38
|
+
- name: Instal gems from local Gemfile
|
39
|
+
run: |
|
40
|
+
curl -L --retry 3 https://raw.githubusercontent.com/metanorma/metanorma-build-scripts/master/gemfile-to-bundle-add.sh | bash
|
41
|
+
- name: Build document in the Metanorma container
|
42
|
+
env:
|
43
|
+
LC_ALL: C.UTF-8
|
44
|
+
LANG: C.UTF-8
|
45
|
+
LANGUAGE: C.UTF-8
|
46
|
+
run: |
|
47
|
+
make clean all publish
|
48
|
+
- uses: actions/upload-artifact@master
|
49
|
+
with:
|
50
|
+
name: published
|
51
|
+
path: published
|
52
|
+
|
53
|
+
deploy-gh-pages:
|
54
|
+
if: github.ref == 'refs/heads/master'
|
55
|
+
runs-on: ubuntu-latest
|
56
|
+
needs: test-docker
|
57
|
+
steps:
|
58
|
+
- uses: actions/checkout@master
|
59
|
+
- uses: actions/download-artifact@v1
|
60
|
+
with:
|
61
|
+
name: published
|
62
|
+
- name: Deploy to GH Pages
|
63
|
+
uses: peaceiris/actions-gh-pages@v3
|
64
|
+
with:
|
65
|
+
deploy_key: ${{ secrets.GH_DEPLOY_KEY }}
|
66
|
+
publish_dir: ./published
|
67
|
+
force_orphan: true
|
68
|
+
user_name: ${{ github.actor }}
|
69
|
+
user_email: ${{ format('{0}@users.noreply.github.com', github.actor) }}
|
70
|
+
commit_message: "${{ format('Deploy to GitHub Pages: {0}', github.sha) }}"
|
71
|
+
- uses: kolpav/purge-artifacts-action@v1
|
72
|
+
with:
|
73
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
74
|
+
expire-in: 0
|
@@ -0,0 +1,50 @@
|
|
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/test.yml
|
11
|
+
- .github/workflows/docker.yml
|
12
|
+
- .github/workflows/ubuntu.yml
|
13
|
+
- .github/workflows/windows.yml
|
14
|
+
- Makefile.win
|
15
|
+
|
16
|
+
jobs:
|
17
|
+
test-macos:
|
18
|
+
name: Test on macOS
|
19
|
+
runs-on: macos-latest
|
20
|
+
steps:
|
21
|
+
- name: Checkout code
|
22
|
+
uses: actions/checkout@v2
|
23
|
+
with:
|
24
|
+
token: ${{ secrets.METANORMA_CI_PAT_TOKEN || github.token }}
|
25
|
+
submodules: true
|
26
|
+
- name: Cache xml2rfc
|
27
|
+
id: cache-xml2rfc
|
28
|
+
uses: actions/cache@v1
|
29
|
+
with:
|
30
|
+
path: ~/.cache/xml2rfc
|
31
|
+
key: xml2rfc
|
32
|
+
restore-key: xml2rfc
|
33
|
+
- name: Use Metanorma
|
34
|
+
run: |
|
35
|
+
brew update
|
36
|
+
brew install yq
|
37
|
+
brew install https://raw.githubusercontent.com/metanorma/homebrew-metanorma/master/Formula/metanorma.rb
|
38
|
+
metanorma version
|
39
|
+
- name: Setup Fonts
|
40
|
+
run: |
|
41
|
+
metanorma setup --agree-to-terms
|
42
|
+
- name: Install bundler
|
43
|
+
run: |
|
44
|
+
sudo gem install bundler
|
45
|
+
- name: Metanorma compile
|
46
|
+
env:
|
47
|
+
JAVA_OPTS: "java.awt.headless=true"
|
48
|
+
run: |
|
49
|
+
source $(brew --prefix metanorma)/libexec/venv/bin/activate
|
50
|
+
make clean all
|
@@ -0,0 +1,55 @@
|
|
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
|
+
paths-ignore:
|
10
|
+
- .github/workflows/test.yml
|
11
|
+
- .github/workflows/macos.yml
|
12
|
+
- .github/workflows/docker.yml
|
13
|
+
- .github/workflows/windows.yml
|
14
|
+
- Makefile.win
|
15
|
+
|
16
|
+
jobs:
|
17
|
+
test-linux:
|
18
|
+
name: Test on Ubuntu
|
19
|
+
runs-on: ubuntu-latest
|
20
|
+
steps:
|
21
|
+
- name: Checkout code
|
22
|
+
uses: actions/checkout@v2
|
23
|
+
with:
|
24
|
+
token: ${{ secrets.METANORMA_CI_PAT_TOKEN || github.token }}
|
25
|
+
submodules: true
|
26
|
+
- name: Cache xml2rfc
|
27
|
+
id: cache-xml2rfc
|
28
|
+
uses: actions/cache@v1
|
29
|
+
with:
|
30
|
+
path: ~/.cache/xml2rfc
|
31
|
+
key: xml2rfc
|
32
|
+
restore-key: xml2rfc
|
33
|
+
- name: Use Metanorma
|
34
|
+
run: |
|
35
|
+
sudo apt-get update
|
36
|
+
curl -L https://raw.githubusercontent.com/metanorma/metanorma-linux-setup/master/ubuntu.sh | sudo bash
|
37
|
+
sudo chown -R $USER:$(id -gn $USER) $HOME/.config
|
38
|
+
- name: Setup Fonts
|
39
|
+
run: |
|
40
|
+
sudo gem install rake metanorma-cli
|
41
|
+
sudo metanorma setup --agree-to-terms
|
42
|
+
- name: Install yq
|
43
|
+
run: |
|
44
|
+
sudo snap install yq
|
45
|
+
echo "::add-path::/snap/bin"
|
46
|
+
- name: Install bundler
|
47
|
+
run: |
|
48
|
+
sudo gem install bundler
|
49
|
+
- name: Metanorma compile
|
50
|
+
env:
|
51
|
+
JAVA_OPTS: "java.awt.headless=true"
|
52
|
+
run: |
|
53
|
+
source $HOME/.nvm/nvm.sh
|
54
|
+
nvm use mn-node
|
55
|
+
make clean all publish
|