Skip to content

Commit 0f09d35

Browse files
committed
Change the approach to IETF builds to support for md I-Ds
1 parent da00384 commit 0f09d35

13 files changed

+74
-119
lines changed

.github/workflows/ci.yml

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,9 @@ jobs:
1919
specs-ietf:
2020
runs-on: ubuntu-latest
2121
steps:
22+
- name: Install docker-compose
23+
run: |
24+
sudo apt-get update
25+
sudo apt-get install -y docker-compose
2226
- uses: actions/checkout@v4
23-
- uses: actions/setup-python@v5
24-
with:
25-
python-version: "3.10"
26-
- run: pip install --requirement requirements.txt
27-
- run: xml2rfc --version
28-
- run: make all
29-
- uses: actions/upload-artifact@v4
30-
with:
31-
name: specification-docs
32-
path: |
33-
*.html
34-
*.txt
35-
!requirements.txt
27+
- run: npm run build-ietf

.gitignore

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,7 @@
22
web/
33

44
# IETF builds
5-
json-schema-use-cases.html
6-
json-schema-use-cases.pdf
7-
json-schema-use-cases.txt
8-
relative-json-pointer.html
9-
relative-json-pointer.pdf
10-
relative-json-pointer.txt
11-
12-
# For the Python enviornment
13-
.venv
5+
.refcache/
146

157
# For the node-based build tools
168
node_modules/
17-
18-
.env

Dockerfile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
FROM fedora
2+
3+
RUN dnf install -y ruby python3-pip
4+
RUN gem install kramdown-rfc
5+
RUN pip install xml2rfc
6+
7+
WORKDIR /app
8+
9+
COPY . .
10+
11+
# First covert md to xml. Then convert xml to html
12+
CMD sh -c "xml2rfc --version \
13+
&& ls ietf/*.md | xargs -n1 sh -c 'kramdown-rfc \"\$0\" > \"\${0%.md}.xml\"' \
14+
&& ls ietf/*.xml | xargs -n1 sh -c 'xml2rfc --html \"\$0\" -p web'"

Makefile

Lines changed: 0 additions & 37 deletions
This file was deleted.

README.md

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -113,17 +113,7 @@ features they make available to you.
113113
### Internet-Drafts
114114

115115
To build components that are being maintained as IETF Internet-Drafts, run
116-
`make`. The Makefile will create the necessary Python venv for you as part of
117-
the regular make target.
118-
119-
`make clean` will remove all output including the venv. To clean just the spec
120-
output and keep the venv, use `make spec-clean`.
121-
122-
If you want to run `xml2rfc` manually after running make for the first time, you
123-
will need to activate the virtual environment: `source .venv/bin/activate`.
124-
125-
The version of "xml2rfc" that this project uses is updated by modifying
126-
`requirements.in` and running `pip-compile requirements.in`.
116+
`npm run build-ietf`.
127117

128118
Descriptions of the xml2rfc, I-D documents, and RFC processes:
129119

docker-compose.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
services:
2+
build:
3+
build:
4+
context: .
5+
working_dir: /app
6+
volumes:
7+
- .:/app:Z

ietf/.remarkrc.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import lintPreset from "../.remarkrc-lint.js";
2+
import remarkLintNoMultipleToplevelHeadings from "remark-lint-no-multiple-toplevel-headings";
3+
import remarkLintFencedCodeMarker from "remark-lint-fenced-code-marker";
4+
5+
6+
export default {
7+
plugins: [
8+
lintPreset,
9+
[remarkLintNoMultipleToplevelHeadings, false],
10+
[remarkLintFencedCodeMarker, "~"]
11+
]
12+
};

ietf/example.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
3+
stand_alone: true
4+
ipr: trust200902
5+
submissiontype: independent
6+
category: info
7+
8+
author:
9+
- name: Jason Desrosiers
10+
11+
role: editor
12+
13+
title: Example
14+
15+
--- abstract
16+
17+
An example of an I-D in markdown
18+
19+
--- middle
20+
21+
# Introduction
22+
23+
## Notational Conventions
24+
25+
{::boilerplate bcp14+}
26+
27+
# Security Considerations
28+
29+
TODO: Required section
30+
31+
--- back
32+
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)