Closed josteinaj closed 1 year ago
Hi @josteinaj,
Is this when EPUBCheck fails or regardless? And are guidelines-revision/date releases and v1.5.0 using the same version of Pipeline?
It fails regardless. It has to do with parsing the report document from epubcheck.
I suspect there's some versioning trouble, yes. Since the tests are successful, but the resulting build fails.
@martinpub is this critical to have ready before May 1st? I have a lot on my table and I'm not sure if I'll be able to look at this in time. This could also be something @kalaspuffar could have a look at at some point, if he has time?
(In the future, if we want to use the nordic validator outside of Pipeline 2, we'd have to run epubcheck and ace separately anyway.)
I see @josteinaj. I think that it simplifies communication if we can say that the Nordic Migrator validation bundles an EPUBCheck validation which is run at the beginning.
I don't know what you say @AndersEkl?
I will check internally if this dev work is something MTM could support, will get back.
If we can't solve this issue before the work samples are sent out to the bidders I think we can instruct them to run EPUBCheck separately.
If we can't solve this issue before the work samples are sent out to the bidders I think we can instruct them to run EPUBCheck separately.
Yes, it is possible but I still want to exhaust the possibilities of us supporting the fix first. It is much preferable I think. But we'll see. If not possible it should be clearly noted in the release that the functionality is lacking.
Yes, of course.
@martinpub IMHO bundling them into the migrator would give you more headaches and mix concerns. Then again, writing a small runner that could run each separately and merging the results are straightforward. That is pretty much what our validator and pipeline do.
The issue mentioned here is that when validating any EPUBs with EPUBCheck and if so what version of EPUBCheck are you running? 4.2.5?
The JAR file in the Docker image is org.w3c.epubcheck-4.2.2.jar. This is from Pipeline 2 v1.14.1. I don't use the most recent Pipeline 2 since there were some build problems last time I tried.
The pom.xml refers to 4.2.5, so maybe that's why it works when running the tests.
Is this related to 3dc9e482e5b79b30dfa2199234bd960652d6ccfa?
I managed to upgrade to Pipeline 2 v1.14.2, which includes epubcheck v4.2.5. So version 1.5.1 of the nordic migrator should hopefully now work. The docker image is still building so I haven't tested it in practice yet.
It seems that Pipeline 2 v1.14.2 doesn't have epubcheck v4.2.5 either, it still uses v4.2.2, so updating to that didn't work :(
@martinpub IMHO bundling them into the migrator would give you more headaches and mix concerns. Then again, writing a small runner that could run each separately and merging the results are straightforward. That is pretty much what our validator and pipeline do.
I see, and yeah, probably in the future we will look into this, but currently we are trying to get the present release working with minimal changes.
This is working in the guidelines-revision branch/unofficial date releases. Or at least it is working in 20210901, which we use in production. It is using Pipeline v1.14.3 I think, as the Docker file defines "latest" for pipeline-assembly, and v.1.14.3 was published in July 2021, and the release after that not until end of September. Did you try building with v.1.14.3 @josteinaj or only with later versions?
I think we were building using an older version of Pipeline 2, and creating the Docker image using a newer version of Pipeline 2. We could do that again I suppose, and see if that works. But ideally we should run the tests against the same version of Pipeline 2 that we plan to use in production.
I released a Docker-only version (tagged as 1.5.2, but it will show up in the web interface and API as 1.5.2-SNAPSHOT) to Docker Hub. It seems to work.
@martinpub @AndersEkl could you give it a try? For Docker, the 1.5.2 version would have to be used, but the 1.5.1 JAR can be used for other installation methods as long as it's based on Pipeline 2 v1.14.3.
Wohoo, that's great, thanks @josteinaj! Will test right away and report back.
@josteinaj I can confirm that the docker release v.1.5.2 is working, including EPUBCheck, great fix.
Should it be clarified in https://github.com/nlbdev/nordic-epub3-dtbook-migrator/releases/tag/v1.5.1 that the Docker image is not working? Maybe remove it from Docker Hub if possible?
Also, will v.1.5.2 have a release page?
I haven't planned a release page for 1.5.2, no. We should fix the issue with the Pipeline 2 versions used for building/testing and make a release that properly fixes this.
I haven't updated the updater descriptor yet either, so using the updater mechanism won't work yet.
OK, sounds good. Will you be able to look into a proper fix?
Currently, it's noted on the web page that only Docker images are available for 1.5.2.
I don't know when I'll have time to look at doing a proper fix. From the little I tried it seemed to be changes in Pipeline 2 that caused the errors, so I don't know how much work it will be to fix.
I tried looking into a proper fix today (upgrading to modules-parent:1.14.3 in pom.xml) but I'm faced with an error I don't know how to fix. I've created an issue for it here in the official Pipeline 2 repository:
Thanks for looking into this further @josteinaj!
Epubchecks seem to be working in the latest version.
When validating EPUBs (both 2015-1 and 2020-1), there's an error when parsing epubcheck reports.
The scripts can still be used if epubcheck validation is disabled.
2020-1 stacktrace:
2015-1 stacktrace: