Repository navigation
Install Dart Sass in CI - #563
Merged
Merged
Conversation
Brings in the Dart Sass install in `check-links.yml` (SpineEventEngine/config#824), along with the other files `./config/pull` distributes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copies the `Install Dart Sass` and `Check Dart Sass` steps from `check-links.yml`, so the deploy build has the `sass` binary once the site takes a `site-commons` version that compiles with Dart Sass. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
🟢 Approved
No active review issues remain for the changes preparing the site’s CI for the Dart Sass migration.
No open issues 🎉
What changed in this PR
Prepares the Hugo site’s CI for the upcoming site-commons migration to Dart Sass, without changing the theme version or stylesheet syntax.
Changes:
- Installs pinned Dart Sass 1.99.0 in deployment and link-check workflows, verifies its checksum, and checks Hugo can discover it.
- Documents Dart Sass as a local build prerequisite.
- Refreshes config-managed workflows, submodule bootstrap behavior, and agent settings.
| File | Description |
|---|---|
README.md |
Adds Dart Sass prerequisites, installation instructions, and discovery checks. |
init-submodules |
Updates shared bootstrap logic to float newly initialized managed submodules and handle worktrees. |
AGENTS.md |
Documents the revised submodule bootstrap behavior. |
.github/workflows/gradle-wrapper-validation.yml |
Targets master, adds read-only permissions, and updates actions. |
.github/workflows/gh-pages.yml |
Installs and verifies Dart Sass before deployment builds. |
.github/workflows/check-links.yml |
Adds conditional Dart Sass installation and verification for site checks. |
.claude/settings.json |
Allows ordinary commits and pushes without prompts while adding prompts for force and mirror pushes. |
Review effort: Balanced
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of SpineEventEngine/site-commons#38. Follows #562, which moved the site to Hugo v0.169.0. This branch was cut from #562's branch, which has since merged.
Why
SpineEventEngine/site-commons#40 switches the theme's stylesheet partial to
"transpiler" "dartsass", because Hugo deprecated LibSass in v0.153.0 and will remove it. This site builds its CSS through that partial. Hugo doesn't bundle Dart Sass: it runs thesassbinary it finds onPATH. So the site needs that binary in CI before it takes that theme version, or the build fails. Installing it now does no harm: while the site is on LibSass, Hugo ignores it.Changes
configupdateThe
configsubmodule moves to config's latestmaster(f5a8d409), and./config/pullis re-run. What it brought in:check-links.yml: the pinned Dart Sass 1.99.0 install from Install Dart Sass in the Check Links workflow config#824, i.e. theDART_SASS_VERSION/DART_SASS_SHA256env entries and theInstall Dart SassandCheck Dart Sasssteps. The install checks the release tarball's SHA-256, as the workflow already does for Lychee.HUGO_VERSIONstays0.169.0.gradle-wrapper-validation.yml: thepushtrigger now namesmaster(it saidmain, which this repo doesn't have). The workflow also getspermissions: contents: read,actions/checkout@v6,gradle/actions/wrapper-validation@v6, and a comment on why Hugo-only repos receive it..claude/settings.json: Claude Code may now commit and push without a dialog. Force pushes and--mirrorpushes still ask.init-submodulesandAGENTS.md: the bootstrap script now floats newly initialized config-managed submodules to their branch tip instead of the stale pin. It also finds the right tree when a session runs in a worktree.AGENTS.mddescribes the new behaviour.Each of these files is byte-identical to its template in config.
.agents/sharedis floated on disk but its gitlink isn't committed: it'signore = all, and./config/pullnever commits it.gh-pages.ymlThe deploy workflow isn't synced from config, so it gets the same env entries and the two steps right after
Setup Hugo, without theif:guards. That workflow has nodocsdetection step to guard on. The step names andrunscripts matchcheck-links.ymlword for word. The only difference is one comment clause: there, the checksum guards the download "as it does for Lychee below", andgh-pages.ymlhas no Lychee step.gh-pages.ymlruns only on pushes tomaster/stagingand on manual dispatch, so this PR doesn't exercise it. The same steps run in Check Links on this PR.README.mdDart Sass is now a prerequisite, worded as in SpineEventEngine/documentation#95: install it with
brew install sass/sass/sasson macOS, andhugo envlistsgithub.com/sass/dart-sass/...when Hugo finds it.docs/project.mddoesn't list the build toolchain, so it's unchanged.Out of scope
site-commonsinsite/go.modto the Dart Sass version of the theme.site/assets/scss/main.scssfrom@importto@use. That follows Compile the styles with Dart Sass site-commons#40 and Move the theme styles from@importto@usesite-commons#41.🤖 Generated with Claude Code