Bug #5112
closedosmo-gsm-manuals: build verification is broken
100%
Description
Today I submitted a set of patches for osmo-gsm-manuals:
https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23687 TRXD: generalze description of the 'RFU' ('PAD') field
https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23688 TRXD: clarify modulation specific length of Soft-/Hard-bits
https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/22867 TRXD: add documentation for TRXDv2 protocol
and all of them did not pass the build verification. lynxis also faced this problem with his:
https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393 common/chapters: extend gb/ns2 chapters
The build logs contain a very cryptic failure reason:
# Do print the WARNING output but return error if any was found # (grep -v would omit the WARNING output from the log). asciidoc: WARNING: mgcp_extension_osmux.adoc: line 2: section title out of sequence: expected level 1, got level 2 ../build/Makefile.asciidoc.inc:90: recipe for target 'test-usermanual.check' failed make[3]: Leaving directory '/build/tests' make[3]: *** [test-usermanual.check] Error 1 ../build/Makefile.asciidoc.inc:80: recipe for target 'check' failed
Files
Related issues
Updated by fixeria over 2 years ago
- Blocks Feature #4941: VAMOS support in OsmoBTS added
Updated by fixeria over 2 years ago
- Status changed from New to In Progress
I forgot to mention that job 'master-osmo-gsm-manuals', that is executed every day, is doing fine and shows no errors. Neither I can reproduce the failure in my local containerized setup: building osmo-gsm-manuals in image 'debian-stretch-jenkins' works fine.
Updated by fixeria over 2 years ago
- File osmo-gsm-manuals-order.patch osmo-gsm-manuals-order.patch added
- % Done changed from 0 to 30
Good news: I managed to reproduce the problem locally, and it seems to be related to this part:
osmo-gsm-manuals$ cat tests/Makefile.am ... # Generate adoc file that includes all chapters (OS#4183: glossary.adoc must be the last file) ASCIIDOC = test-usermanual.adoc ASCIIDOC_DEPS = COMMON_CHAPTERS = $(shell find $(OSMO_GSM_MANUALS_DIR)/common/chapters -name '*.adoc' | grep -v glossary\.adoc) \ $(OSMO_GSM_MANUALS_DIR)/common/chapters/glossary.adoc $(ASCIIDOC): $(COMMON_CHAPTERS) echo ":gfdl-enabled:" > $@ echo ":program-name: Test" >> $@ echo "" >> $@ echo "Osmo GSM Manuals Shared Content Test" >> $@ echo "====================================" >> $@ echo "Oliver Smith <osmith@sysmocom.de>" >> $@ echo "" >> $@ for chapter in $(COMMON_CHAPTERS); do \ echo "include::$${chapter}[]" >> $@; \ done; CLEAN_FILES = $(ASCIIDOC) ...
Here file 'test-usermanual.adoc' is generated dynamically, basically by including all \*.asciidoc files. Note that the list of includes is generated using 'find' command, which sometimes may by in different order. This can be seen in the logs:
Successful build¶
for chapter in ../common/chapters/preface.adoc ../common/chapters/osmux/osmux.adoc ../common/chapters/osmux/mgcp_extension_osmux.adoc ../common/chapters/bibliography.adoc ../common/chapters/cs7-config.adoc ../common/chapters/gfdl.adoc ../common/chapters/control_if.adoc ../common/chapters/sigtran-osmocom.adoc ../common/chapters/abis.adoc ../common/chapters/counters-overview.adoc ../common/chapters/trx_if.adoc ../common/chapters/mncc.adoc ../common/chapters/gb-pool.adoc ../common/chapters/gb.adoc ../common/chapters/oap.adoc ../common/chapters/cell-broadcast.adoc ../common/chapters/spectrum.adoc ../common/chapters/sigtran.adoc ../common/chapters/logging.adoc ../common/chapters/vty_cpu_sched.adoc ../common/chapters/port_numbers.adoc ../common/chapters/smpp.adoc ../common/chapters/gsup.adoc ../common/chapters/vty.adoc ../common/chapters/rf.adoc ../common/chapters/gb-variants.adoc ../common/chapters/glossary.adoc; do \
Failed build¶
for chapter in ../common/chapters/osmux/mgcp_extension_osmux.adoc ../common/chapters/osmux/osmux.adoc ../common/chapters/abis.adoc ../common/chapters/bibliography.adoc ../common/chapters/cell-broadcast.adoc ../common/chapters/control_if.adoc ../common/chapters/counters-overview.adoc ../common/chapters/cs7-config.adoc ../common/chapters/gb-pool.adoc ../common/chapters/gb-variants.adoc ../common/chapters/gb.adoc ../common/chapters/gfdl.adoc ../common/chapters/gsup.adoc ../common/chapters/logging.adoc ../common/chapters/mncc.adoc ../common/chapters/oap.adoc ../common/chapters/port_numbers.adoc ../common/chapters/preface.adoc ../common/chapters/rf.adoc ../common/chapters/sigtran-osmocom.adoc ../common/chapters/sigtran.adoc ../common/chapters/smpp.adoc ../common/chapters/spectrum.adoc ../common/chapters/trx_if.adoc ../common/chapters/vty.adoc ../common/chapters/vty_cpu_sched.adoc ../common/chapters/glossary.adoc; do \
I tried to re-create the same order of includes (see attached patch), and gave it a run in my setup. Now it fails.
Updated by fixeria over 2 years ago
- Status changed from In Progress to Feedback
- % Done changed from 30 to 100
Apparently, asciidoc is not happy about 'mgcp_extension_osmux.adoc' being included before 'osmux.adoc'. The later actually includes the former, so we need to make sure to exclude 'mgcp_extension_osmux.adoc' from the search candidates. Here we go:
https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23693 fix tests/Makefile.am: exclude file 'mgcp_extension_osmux.adoc'
This also fixes the following errors (somehow `make check` ignores them):
Build the book set list... xsltproc -o doclist.txt --xinclude --xincludestyle doclist.xsl /build/tests/test-usermanual.xml /build/tests/test-usermanual.xml:643: element section: validity error : ID mgcp-extension-osmux already defined <section id="mgcp-extension-osmux"> ^ Build the listings... xsltproc -o listings.xml --xinclude --xincludestyle --param current.dir '/build/tests' /usr/share/dblatex/xsl/common/mklistings.xsl /build/tests/test-usermanual.xml /build/tests/test-usermanual.xml:643: element section: validity error : ID mgcp-extension-osmux already defined <section id="mgcp-extension-osmux"> ^ xsltproc -o test-usermanual.rtex --xinclude --xincludestyle --param current.dir '/build/tests' --param listings.xml '/tmp/tmpjd3JQ2/listings.xml' /tmp/tmpjd3JQ2/custom.xsl /build/tests/test-usermanual.xml /build/tests/test-usermanual.xml:643: element section: validity error : ID mgcp-extension-osmux already defined <section id="mgcp-extension-osmux"> ^