From 082bb6840de10ae7d3dc005a5512f0ca5df5134e Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Tue, 13 Oct 2026 20:55:27 +0100 Subject: [PATCH 1/2] fix(examples): restore Markdown example pages lost in AsciiDoc migration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Commit bb2e421a ("refactor: migrate Markdown to AsciiDoc (#17)") renamed examples/index.md and examples/about.md to .adoc and converted them. That broke the sample site in two ways: - Ddraig only builds `.md`/`.markdown` sources (`isMarkdown` in Ddraig.idr), so `ddraig build examples _site` found zero pages. The CI `build` job then uploaded an essentially empty `_site` as the GitHub Pages artifact. - The converter mangled the YAML front matter into a bogus `== ` heading followed by a single run-on paragraph (`title: Ddraig site: Ddraig description: ... date: 2026-06-22 —`). These files are test fixtures for a Markdown static-site generator, not project documentation, so they must stay Markdown. Restore both from bb2e421a^ byte-for-byte (including the CC-BY-SA-4.0 SPDX comment, which `parseFrontmatter` skips as a single leading HTML comment) and remove the broken .adoc copies. The restored pages satisfy the O3 build-time certification (`certify` in Attest.idr): index.md has headings h1, h2, h2 and about.md has a single h1, so each has exactly one

and no skipped levels. Co-Authored-By: Claude Opus 5.5 --- examples/about.adoc | 10 ---------- examples/about.md | 12 ++++++++++++ examples/index.adoc | 33 --------------------------------- examples/index.md | 30 ++++++++++++++++++++++++++++++ 4 files changed, 42 insertions(+), 43 deletions(-) delete mode 100644 examples/about.adoc create mode 100644 examples/about.md delete mode 100644 examples/index.adoc create mode 100644 examples/index.md diff --git a/examples/about.adoc b/examples/about.adoc deleted file mode 100644 index 59c3026..0000000 --- a/examples/about.adoc +++ /dev/null @@ -1,10 +0,0 @@ -== - -title: Getting started site: Ddraig description: How to build a site -with Ddraig. date: 2026-06-22 — - -== Getting started - -[arabic] -. Compile: `+idris2 Ddraig.idr -o ddraig+` -. Build: `+ddraig build examples _site+` diff --git a/examples/about.md b/examples/about.md new file mode 100644 index 0000000..ee726e5 --- /dev/null +++ b/examples/about.md @@ -0,0 +1,12 @@ + +--- +title: Getting started +site: Ddraig +description: How to build a site with Ddraig. +date: 2026-06-22 +--- + +# Getting started + +1. Compile: `idris2 Ddraig.idr -o ddraig` +2. Build: `ddraig build examples _site` diff --git a/examples/index.adoc b/examples/index.adoc deleted file mode 100644 index b45d38e..0000000 --- a/examples/index.adoc +++ /dev/null @@ -1,33 +0,0 @@ -== - -title: Ddraig site: Ddraig description: A dependently-typed static-site -generator written in Idris 2. date: 2026-06-22 — - -== Ddraig - -Types that breathe fire. A static-site generator in pure Idris 2. - -____ -Built-in accessible theme, WCAG 2.2 AAA-capable. -____ - -=== Feature matrix - -[cols=",",options="header",] -|=== -|Feature |Status -|Markdown |full -|Tables |yes -|Raw HTML |yes -|=== - -=== Code - -[source,idris] ----- -main : IO () -main = putStrLn "Ddraig" ----- - -See the link:/about.html[getting-started page] and the project -https://github.com/hyperpolymath/ddraig-ssg[README]. diff --git a/examples/index.md b/examples/index.md new file mode 100644 index 0000000..7a310c1 --- /dev/null +++ b/examples/index.md @@ -0,0 +1,30 @@ + +--- +title: Ddraig +site: Ddraig +description: A dependently-typed static-site generator written in Idris 2. +date: 2026-06-22 +--- + +# Ddraig + +Types that breathe fire. A static-site generator in pure Idris 2. + +> Built-in accessible theme, WCAG 2.2 AAA-capable. + +## Feature matrix + +| Feature | Status | +|---------|--------| +| Markdown | full | +| Tables | yes | +| Raw HTML | yes | + +## Code + +```idris +main : IO () +main = putStrLn "Ddraig" +``` + +See the [getting-started page](/about.html) and the project [README](https://github.com/hyperpolymath/ddraig-ssg). From 5ac04498e2b2ff327af10065d17b39bf5cf46a45 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Tue, 13 Oct 2026 21:48:45 +0100 Subject: [PATCH 2/2] fix(ci): bump upload-pages-artifact to v5.0.0 to satisfy SHA-pin policy Every `build` job since run #43 (2026-09-22) has failed at "Set up job", before any step runs, with: The action actions/upload-artifact@v4 is not allowed in hyperpolymath/ddraig-ssg because all actions must be pinned to a full-length commit SHA. The pinned upload-pages-artifact v3.0.1 is a composite action that calls `actions/upload-artifact@v4` by tag. The SHA-pin policy also applies to those nested actions, so it rejects the job. The `test` job is unaffected and still passes. The last green build was run #42 (2026-09-03), so the policy was switched on between those runs; ci.yml did not change. v5.0.0 pins its inner upload-artifact to a SHA (v7.0.0). Since v4, upload-pages-artifact excludes dotfiles by default, which would silently drop .well-known/accessibility-attestation.json (the O3 attestation) from the Pages artifact, so set include-hidden-files: true to keep v3's behaviour. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/ci.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f856620..45f4c52 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,6 +55,11 @@ jobs: # site moves to a custom domain. run: ./build/exec/ddraig build examples _site https://hyperpolymath.github.io/ddraig-ssg - name: Upload artifact - uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3 + # v5 pins its inner actions/upload-artifact to a commit SHA; v3 used the + # `@v4` tag, which the SHA-pin policy rejects at job set-up. v4+ drops + # dotfiles by default, so keep them: .well-known/ carries the O3 + # accessibility attestation. + uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0 with: path: _site + include-hidden-files: true