Skip to content

Updated Drasi Server "Build from Source" installation guide and added CI verification - #262

Draft
ruokun-niu wants to merge 10 commits into
drasi-project:mainfrom
ruokun-niu:drasi-server-installation
Draft

Updated Drasi Server "Build from Source" installation guide and added CI verification#262
ruokun-niu wants to merge 10 commits into
drasi-project:mainfrom
ruokun-niu:drasi-server-installation

Conversation

@ruokun-niu

@ruokun-niu ruokun-niu commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Description

Reworks the Drasi Server Build from Source installation path into a documented, install-based flow and adds CI that verifies the documented commands actually work across platforms. Also mounts the remaining Drasi Server tutorials into the site and clears Hugo deprecation warnings.

Note: the corresponding tutorial content changes in learning-drasi-server (adding a "Build from Source" option to each tutorial) ship in a separate PR. We should merge in drasi-project/learning-drasi-server#9 first

Changes

Installation guides

  • Build from Source (docs/content/drasi-server/how-to-guides/installation/build-from-source/_index.md): switched from raw cargo build/cargo run to cargo install --path . --root . producing a stable ./bin/drasi-server; bumped the required Rust to 1.95+; added verify steps and an "iterating on source" tip. Tagged the documented code fences with stable ids (clone-drasi-server, build-drasi-server, verify-drasi-server) so CI can extract them.
  • Native prerequisites (docs/shared-content/installation/drasi-server/build-from-source-prereqs.md): added a stable id to the Windows block and made the winget command non-interactive (--source winget, --accept-*-agreements, --disable-interactivity) so it works unattended.
  • New: Install the SSE CLI (docs/content/drasi-server/how-to-guides/installation/install-sse-cli/_index.md): prebuilt-binary and build-from-source options, with build-sse-cli / verify-sse-cli snippet ids.
  • Added an SSE CLI card to the installation index (docs/content/drasi-server/how-to-guides/installation/_index.md) and a minor tweak to docs/shared-content/installation/drasi-server/download-binary.md.

CI: verify the guide never drifts

  • New workflow (.github/workflows/verify-build-from-source.yml): runs the documented commands (extracted at build time, never hardcoded) on a matrix of Linux, macOS (Apple Silicon), macOS (Intel, macos-26-intel), and Windows. Windows uses a dedicated PowerShell step. Triggers on PR (to the guide/script), manual dispatch, and a weekly schedule.
  • Scheduled-failure issue: a report-failure job opens (or comments on) a tracking issue only when the scheduled run fails, so upstream drasi-server drift doesn't go unnoticed.
  • New extraction script (.github/scripts/extract-doc-commands.js): pulls commands from the Markdown by fenced-code-block id, with a linux / macos / windows manifest.

Docs site

  • Mounted the remaining Drasi Server tutorials (Building Comfort, High Risk Containers, Curbside Pickup) from the learning-drasi-server module in docs/config.toml so they render in the site nav (previously only Getting Started was mounted).

Hugo deprecation fixes

  • .Language.LanguageDirection.Language.Direction in docs/layouts/docs/baseof.html, plus project overrides of the theme's docs/layouts/baseof.html and docs/layouts/_partials/head-css.html (docsy is a pinned submodule).
  • .Site.Datahugo.Data in docs/layouts/shortcodes/glossary-terms.html and docs/layouts/shortcodes/term.html.
  • languages.en.languageNamelabel in docs/config.toml.

Build now reports 0 deprecation warnings.

Type of change

  • This pull request fixes a bug in Drasi and has an approved issue (issue link required).
  • This pull request adds or changes features of Drasi and has an approved issue (issue link required).
  • This pull request is a minor refactor, code cleanup, test improvement, or other maintenance task and doesn't change the functionality of Drasi (issue link optional).

Fixes: #260 #259

Signed-off-by: Ruokun Niu <ruokunniu@microsoft.com>
Signed-off-by: Ruokun Niu <ruokunniu@microsoft.com>
Signed-off-by: Ruokun Niu <ruokunniu@microsoft.com>
Signed-off-by: Ruokun Niu <ruokunniu@microsoft.com>
Signed-off-by: Ruokun Niu <ruokunniu@microsoft.com>
Signed-off-by: Ruokun Niu <ruokunniu@microsoft.com>
@ruokun-niu
ruokun-niu requested review from a team and Copilot July 31, 2026 21:46
@ruokun-niu ruokun-niu self-assigned this Jul 31, 2026
@ruokun-niu
ruokun-niu marked this pull request as draft July 31, 2026 21:48

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR modernizes the Drasi Server “Build from Source” documentation into an install-based flow, adds CI to continuously verify the documented commands across platforms, expands the mounted tutorial content, and applies Hugo-template updates to eliminate deprecation warnings.

Changes:

  • Reworked build-from-source and prerequisites docs (including snippet IDs) and added a new “Install the SSE CLI” guide.
  • Added a GitHub Actions workflow + extraction script to execute the docs’ fenced-command snippets on Linux/macOS/Windows and report scheduled failures.
  • Updated Hugo layouts/config to address deprecations and mount additional tutorial content into the site.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
docs/shared-content/installation/drasi-server/download-binary.md Updates example output to reflect newer Rust toolchain.
docs/shared-content/installation/drasi-server/build-from-source-prereqs.md Adds platform-specific prereqs and environment guidance; tags code fences for CI extraction.
docs/layouts/shortcodes/term.html Replaces deprecated site.Data usage with hugo.Data.
docs/layouts/shortcodes/glossary-terms.html Replaces deprecated site.Data usage with hugo.Data.
docs/layouts/docs/baseof.html Updates deprecated language direction property usage.
docs/layouts/baseof.html Adds a project override of the theme base layout (contains a blocking template bug noted in comments).
docs/layouts/_partials/head-css.html Adds a project override to address Hugo/CSS pipeline deprecations/behavior.
docs/content/drasi-server/how-to-guides/installation/install-sse-cli/_index.md Adds a new installation guide for the SSE CLI (binary + source).
docs/content/drasi-server/how-to-guides/installation/build-from-source/_index.md Switches to cargo install --root . flow, adds verification steps, raises Rust requirement, adds snippet IDs.
docs/content/drasi-server/how-to-guides/installation/_index.md Adds an installation card linking to the SSE CLI guide.
docs/config.toml Mounts additional tutorials via Hugo modules and updates language config key.
.github/workflows/verify-build-from-source.yml New CI workflow that executes commands extracted from docs and files issues on scheduled failures.
.github/scripts/extract-doc-commands.js New script to extract fenced-code-block commands by stable snippet ID.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/layouts/baseof.html Outdated
Comment thread .github/workflows/verify-build-from-source.yml Outdated
Signed-off-by: Ruokun Niu <ruokunniu@microsoft.com>
Signed-off-by: Ruokun Niu <ruokunniu@microsoft.com>
Signed-off-by: Ruokun Niu <ruokunniu@microsoft.com>
Signed-off-by: Ruokun Niu <ruokunniu@microsoft.com>
@ruokun-niu ruokun-niu linked an issue Aug 4, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Why do we have two different sets of installation instructions for Drasi Server Drasi Server setup instructions for Build from Source do not work

2 participants