Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions .github/labeler-areas.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,8 @@
"area: website":
changed-files:
- any-glob-to-any-file:
- docs/**
- "!docs/content/**"
- website/**
- "!website/docs/**"

"breaking change":
changed-files:
Expand All @@ -124,7 +124,9 @@ dependencies:

documentation:
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.

Not necessarily for this PR but maybe this label should change too?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I was actually assuming this would expand to include things we put under the new docs directory. So this would be reviewers of any documentation content (versus the website one above). Or maybe we would want those to be distinct. But yeah, probably a conversation for the future.

changed-files:
- any-glob-to-any-file: docs/content/**
- any-glob-to-any-file:
- website/docs/**
- website/src/**

# flag changes to public APIs so they can be reviewed to see if they're breaking
"public api change":
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/website-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on:
pull_request:
types: [opened, synchronize, reopened]
paths:
- "docs/**"
- "website/**"
- "*.md"
- "**/*.md"
- "!.changeset/**"
Expand All @@ -13,7 +13,7 @@ on:

defaults:
run:
working-directory: ./docs
working-directory: ./website

permissions:
contents: read
Expand All @@ -39,7 +39,7 @@ jobs:
with:
node-version: "22"
cache: "pnpm"
cache-dependency-path: docs/pnpm-lock.yaml
cache-dependency-path: website/pnpm-lock.yaml
- name: Build site artifact
run: |
pnpm i --frozen-lockfile
Expand All @@ -52,7 +52,7 @@ jobs:
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # ratchet:actions/upload-artifact@v7
with:
name: fluidframework-site
path: docs/build
path: website/build
retention-days: 3

# Run linter checks against the website content and infrastructure.
Expand All @@ -73,7 +73,7 @@ jobs:
with:
node-version: "22"
cache: "pnpm"
cache-dependency-path: docs/pnpm-lock.yaml
cache-dependency-path: website/pnpm-lock.yaml
- name: pnpm lint
run: |
pnpm i --frozen-lockfile
Expand All @@ -98,14 +98,14 @@ jobs:
with:
node-version: "22"
cache: "pnpm"
cache-dependency-path: docs/pnpm-lock.yaml
cache-dependency-path: website/pnpm-lock.yaml

- name: Download site artifact
# release notes: https://github.com/actions/download-artifact/releases/tag/v6.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # ratchet:actions/download-artifact@v8
with:
name: fluidframework-site
path: docs/build
path: website/build
- name: Install dependencies
run: "pnpm i --frozen-lockfile"
- name: Run tests
Expand All @@ -131,7 +131,7 @@ jobs:
with:
node-version: "22"
cache: "pnpm"
cache-dependency-path: docs/pnpm-lock.yaml
cache-dependency-path: website/pnpm-lock.yaml
- name: Create results folder
run: mkdir -p ./results

Expand All @@ -140,7 +140,7 @@ jobs:
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # ratchet:actions/download-artifact@v8
with:
name: fluidframework-site
path: docs/build
path: website/build
- name: Install dependencies
run: "pnpm i --frozen-lockfile"
- name: Check for broken links
Expand All @@ -163,5 +163,5 @@ jobs:
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # ratchet:actions/upload-artifact@v7
with:
name: website-validation-results
path: ./docs/results
path: ./website/results
retention-days: 3
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ bundleAnalyzerJson
# Misc pipeline artifacts
artifacts

docs/resources/_gen/
website/resources/_gen/

# PNPM store (when mounting host file system in docker container)
.pnpm-store/
Expand Down
16 changes: 8 additions & 8 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -86,18 +86,18 @@ packages/runtime/test-runtime-utils/src/assertionShortCodesMap.ts

# Prettier does not yet support mdx v3.
# See <https://github.com/prettier/prettier/issues/12209>
docs/**/*.mdx
website/**/*.mdx

# Generated
docs/.doc-models
docs/.docusaurus
docs/build
docs/versions.json
docs/docs/api/*
docs/versioned_docs/*/api/*
website/.doc-models
website/.docusaurus
website/build
website/versions.json
website/docs/api/*
website/versioned_docs/*/api/*

# Formatting gets clobbered by swa
docs/swa-cli.config.json
website/swa-cli.config.json

# This is a test file
tools/markdown-magic/test/include.md
Expand Down
2 changes: 1 addition & 1 deletion biome.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@
// Paths below are outside the client release group and aren't configured for biome.
"!**/common/build/**",
"!**/common/lib/**",
"!**/docs/**",
"!**/website/**",
"!**/server/**",
"!**/tools/benchmark/**",
"!**/tools/getkeys/**",
Expand Down
12 changes: 6 additions & 6 deletions fluidBuild.config.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,7 @@ module.exports = {
"tools/markdown-magic/test/package.json",

// Not a real package
"docs/api/",
"website/api/",

// Source to output package.json files - not real packages
// These should only be files that are not in an pnpm workspace.
Expand Down Expand Up @@ -390,7 +390,7 @@ module.exports = {
"server/routerlicious/packages/tinylicious/src/index.ts",

// minified DOMPurify is not a source file, so it doesn't need a header.
"docs/static/dompurify/purify.min.js",
"website/static/dompurify/purify.min.js",

// printed ESLint configs do not need headers
".*/.eslint-print-configs/.*",
Expand Down Expand Up @@ -428,9 +428,9 @@ module.exports = {
"^packages/.+/.mocharc.js$",

// Avoids MIME-type issues in the browser.
"docs/static/trusted-types-policy.js",
"docs/static/dompurify/purify.min.js",
"docs/static/js/add-code-copy-button.js",
"website/static/trusted-types-policy.js",
"website/static/dompurify/purify.min.js",
"website/static/js/add-code-copy-button.js",
"examples/data-objects/monaco/loaders/blobUrl.js",
"examples/data-objects/monaco/loaders/compile.js",
"examples/service-clients/odsp-client/shared-tree-demo/tailwind.config.js",
Expand Down Expand Up @@ -504,7 +504,7 @@ module.exports = {
// this package has a irregular build pattern, so our clean script rule doesn't apply.
"tools/markdown-magic/package.json",
// Docs directory breaks cleaning down into multiple scripts.
"docs/package.json",
"website/package.json",
],
"npm-strange-package-name": [
"server/gitrest/package.json",
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,15 @@
"build:fast": "fluid-build --task build --worker",
"build:full": "fluid-build --task full",
"build:full:compile": "fluid-build --task compile --task webpack",
"build:gendocs": "concurrently npm:build:gendocs:client npm:build:gendocs:server && cd docs && npm run build",
"build:gendocs": "concurrently npm:build:gendocs:client npm:build:gendocs:server && cd website && npm run build",
"build:gendocs:client": "fluid-build --task build:gendocs:client",
"build:gendocs:client:azure": "copyfiles \"azure/**/*.api.json\" ./_api-extractor-temp/doc-models/ -e \"**/node_modules/**\" -f -V",
"build:gendocs:client:examples": "copyfiles \"examples/**/*.api.json\" ./_api-extractor-temp/doc-models/ -e \"**/node_modules/**\" -f -V",
"build:gendocs:client:experimental": "copyfiles \"experimental/**/*.api.json\" ./_api-extractor-temp/doc-models/ -e \"**/node_modules/**\" -f -V",
"build:gendocs:client:packages": "copyfiles \"packages/**/*.api.json\" ./_api-extractor-temp/doc-models/ -e \"**/node_modules/**\" -f -V",
"build:gendocs:server": "concurrently \"npm:build:gendocs:server:*\"",
"build:gendocs:server:routerlicious": "copyfiles \"server/routerlicious/**/*.api.json\" ./_api-extractor-temp/doc-models/ -e \"**/node_modules/**\" -f -V",
"build:readme": "markdown-magic --files \"**/*.md\" !docs",
"build:readme": "markdown-magic --files \"**/*.md\" !website",
"bundle-analysis:collect": "npm run webpack:profile && flub generate bundleStats",
"changeset": "flub changeset add --releaseGroup client",
"check:are-the-types-wrong": "fluid-build --task check:are-the-types-wrong",
Expand Down
2 changes: 1 addition & 1 deletion packages/framework/presence/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ API documentation for **@fluidframework/presence** is available at <https://flui

<!-- AUTO-GENERATED-CONTENT:END -->

<!-- AUTO-GENERATED-CONTENT:START (INCLUDE:path=../../../docs/docs/build/presence.mdx&start=19) -->
<!-- AUTO-GENERATED-CONTENT:START (INCLUDE:path=../../../website/docs/build/presence.mdx&start=19) -->

<!-- prettier-ignore-start -->
<!-- NOTE: This section is automatically generated by embedding the referenced file contents. Do not update these generated contents directly. -->
Expand Down
30 changes: 15 additions & 15 deletions tools/pipelines/build-docs.yml
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.

Nit: would love to rename this file too but that's a bit more intricate; I think we'd have to create the new file as a copy, go to ADO and re-point the pipeline, then delete the old file. Not sure how it would impact branches other than main... we don't tend (should?) touch the docs(website) folder in other branches, right?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yeah, fair point. I think I would prefer to do that as a separate PR, but probably worth doing.

Not sure how it would impact branches other than main... we don't tend (should?) touch the docs(website) folder in other branches, right?

We shouldn't be making website changes on other branches - those changes wouldn't go anywhere. But I don't know if we currently build on those branches or not. Would need to be verified.

Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ stages:
- task: ComponentGovernanceComponentDetection@0
displayName: Component Detection
inputs:
sourceScanPath: docs
sourceScanPath: website
verbosity: Verbose
scanType: Register
alertWarningLevel: High
Expand All @@ -173,14 +173,14 @@ stages:

- template: /tools/pipelines/templates/include-install-pnpm.yml@self
parameters:
buildDirectory: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)/docs
buildDirectory: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)/website

- task: Bash@3
displayName: Install dependencies
retryCountOnTaskFailure: 4
inputs:
targetType: 'inline'
workingDirectory: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)/docs
workingDirectory: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)/website
script: |
set -eu -o pipefail
pnpm i --frozen-lockfile
Expand All @@ -189,28 +189,28 @@ stages:
displayName: npm run build
inputs:
command: 'custom'
workingDir: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)/docs
workingDir: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)/website
customCommand: 'run build'

# Run the tests
- task: Npm@1
displayName: Run tests
inputs:
command: 'custom'
workingDir: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)/docs
workingDir: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)/website
customCommand: 'run test'

- task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0
displayName: 'Generate SBOM'
inputs:
BuildDropPath: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)/docs/build
BuildDropPath: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)/website/build
PackageName: 'fluidframework-docs'
PackageVersion: '$(Build.BuildId)'

- task: PublishPipelineArtifact@1
displayName: 'Publish site build artifact'
inputs:
targetPath: '$(Pipeline.Workspace)/$(FluidFrameworkDirectory)/docs/build'
targetPath: '$(Pipeline.Workspace)/$(FluidFrameworkDirectory)/website/build'
artifactName: 'fluidframework-docs'
publishLocation: 'pipeline'

Expand Down Expand Up @@ -263,7 +263,7 @@ stages:
inputs:
GdnBreakPolicyMinSev: Warning
GdnBreakAllTools: true
GdnBreakBaselineFiles: '$(Pipeline.Workspace)/$(FluidFrameworkDirectory)/docs/.gdnbaselines'
GdnBreakBaselineFiles: '$(Pipeline.Workspace)/$(FluidFrameworkDirectory)/website/.gdnbaselines'
GdnBreakGdnToolESLint: true
GdnBreakGdnToolESLintSeverity: Warning
GdnBreakPolicy: M365
Expand Down Expand Up @@ -298,14 +298,14 @@ stages:

- template: /tools/pipelines/templates/include-install-pnpm.yml@self
parameters:
buildDirectory: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)/docs
buildDirectory: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)/website

- task: Bash@3
displayName: Install dependencies
retryCountOnTaskFailure: 4
inputs:
targetType: 'inline'
workingDirectory: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)/docs
workingDirectory: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)/website
script: |
set -eu -o pipefail
# Ensure it's easy to tell which workspace this is running in by inspecting the logs
Expand All @@ -316,14 +316,14 @@ stages:
displayName: Build
inputs:
command: 'custom'
workingDir: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)/docs
workingDir: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)/website
customCommand: 'run build'

- task: Npm@1
displayName: Validate links
inputs:
command: 'custom'
workingDir: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)/docs
workingDir: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)/website
customCommand: 'run ci:check-links'

- stage: deploy
Expand Down Expand Up @@ -351,15 +351,15 @@ stages:
inputs:
source: current
artifact: fluidframework-docs
path: '$(Pipeline.Workspace)/$(FluidFrameworkDirectory)/docs/build'
path: '$(Pipeline.Workspace)/$(FluidFrameworkDirectory)/website/build'

- task: AzureStaticWebApp@0
displayName: 'Deploy website to ASWA'
inputs:
skip_app_build: true # site was built in previous stage
skip_api_build: true # api is written in js, no build needed
cwd: $(Pipeline.Workspace)/$(FluidFrameworkDirectory)
app_location: 'docs/build'
api_location: 'docs/api'
app_location: 'website/build'
api_location: 'website/api'
output_location: ''
azure_static_web_apps_api_token: '${{ variables.deploymentToken }}'
Loading
Loading