-
-
Notifications
You must be signed in to change notification settings - Fork 8.1k
markup/asciidocext: Improve Asciidoctor integration #14094
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
2d57836 to
de2a5fb
Compare
de2a5fb to
90b1e91
Compare
f1ddbab to
859fb13
Compare
30f0802 to
ff8108c
Compare
a9f8b42 to
0a3a875
Compare
|
I'm not thrilled about the duration of the integration test (it's the second largest contributor to overall test time), but I don't want to pare it down either. |
0a3a875 to
06f8923
Compare
23c08b7 to
d334495
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 12 out of 12 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Rebased on master. Integration test will only run when if !slices.Contains([]string{"Test 4", "Test 8", "Test 16"}, tc.name) {
continue
}Our CI testing... 15s on Linux and 30s on Windows. Caching, plus GoAT instead of Ditaa diagrams, should make this much faster. Spinning up JRE for each diagram isn't cheap. GoAT support will be in the next |
|
@bep Let's hold off on this for a day or two. There's a new upstream release that implements caching and GoAT diagrams. |
0891bcf to
73a8e4b
Compare
AI Detection Analysis 🔍Confidence Score: 15% Reasoning: The content in this pull request shows clear signs of human authorship, particularly due to the nuanced understanding of the Hugo framework, the AsciiDoctor ecosystem, and handling of multilingual site constructs and rendering edge cases. The implementation includes highly context-specific logic, consistent variable naming, detailed test cases, and explicit intention (e.g., skipping tests under CI or specific OS conditions). Most importantly, the test coverage illustrates deep knowledge of Hugo’s configuration and its interaction with advanced AsciiDoc features (e.g., diagram caching, multilingual URLs, diagram output directories), which currently would be difficult to fully automate using generative AI tools. The writing in the description is polished yet technical, aligning with an experienced open source contributor familiar with Hugo and AsciiDoc internals. The highly structured test matrix with twenty complex test cases involving multilingual, uglyURLs, and baseURL edge cases, and the creation of content using idiomatic Go templating, are particularly difficult to produce via AI without overgeneralization or errors. Key Indicators:
This body of work suggests deliberate engineering and domain-specific expertise far beyond current AI-generated code capabilities. Key Indicators:
Conclusion: Human-authored with strong coherence and domain-specific reasoning. ✅ No strong indicators of AI generation detected |
|
Perhaps this is a hangover from the outage(s) a few hours ago, but integration tests fail every time:
|
73a8e4b to
602c7fd
Compare
AI Detection Analysis 🔍Confidence Score: 15% Reasoning: Key Indicators:
These reflect a level of contextual and experiential understanding not easily achievable with current AI content generators. ✅ No strong indicators of AI generation detected |
There's only a 15% chance you're not human, according to OpenAI. Running on every PR force push doesn't make sense, though ... I'll see if I can fix that. |
Yeah, well, I'd argue the number is higher than that, but I appreciate its charitable assessment. |
|
@bep I could use another set of eyes on this. I cannot figure out why the CI runs continue to fail. The new integration test passes: But the job dies later in the process. |
602c7fd to
1866df0
Compare
|
@jmooring I will have a look. We have had "space issues" before, which is the reason we currently do not run on Darwin. But the "free-disk-space" should work, and it's strange that it works in other PRs. |
|
I have tried to narrow it down in #14190 ... This I don't understand, it must be some issue on the GitHub side of the fence. I need to look at this with a fresh head tomorrow. |
1866df0 to
47e04a5
Compare
|
OK, #14196 should fix it, will merge once it goes green. |
47e04a5 to
b42c932
Compare
|
It's looks like there are still some space issues or something on Linux. |
|
OK, now this issue has spread to #14197 -- which I guess also gives me a hint about what the real issue is: Test binary sizes now crossing a breaking threshold. I will see if I can find a fix. |
b42c932 to
107ec7c
Compare
|
This is ready for final review. Integration test details:
When testing locally on Linux with Ditaa diagrams, the benefits of diagram caching are obvious. When using GoAT diagrams, the benefit is less noticeable because generation is very fast. On Windows, the benefits of diagram caching for simple diagrams are negligible due to the overall slower performance of the Asciidoctor calls. Current CI test duration:
|
Fixes an issue where improper attribute derivation from the page's relative permalink caused failures with `outdir`, `imagesoutdir`, and `imagesdir` when `markup.asciidocext.workingFolderCurrent` is enabled. The updated logic now correctly handles: - Multi-byte characters - Multilingual multi-host sites - Site builds from a subdirectory - Pages using ugly URLs Supports diagram caching as implemented in v3.1.0 of the asciidoctor-diagram extension: - Enables caching by default - Sets default cache location to the compiled value of caches.misc.dir Reduces duration of integration tests by: - Generating GoAT diagrams instead of Ditaa diagrams - Taking advantage of asciidoctor-diagram caching Closes gohugoio#9202 Closes gohugoio#10183 Closes gohugoio#10473 Closes gohugoio#14160
107ec7c to
9886b42
Compare
Fixes an issue where improper attribute derivation from the page's relative permalink caused failures with
outdir,imagesoutdir, andimagesdirwhenmarkup.asciidocext.workingFolderCurrentis enabled. The updated logic now correctly handles:Supports diagram caching as implemented in v3.1.0 of the asciidoctor-diagram extension:
caches.misc.dirReduces duration of integration tests by:
Closes #9202
Closes #10183
Closes #10473
Closes #14160