diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
new file mode 100644
index 00000000000..88c036e9dd2
--- /dev/null
+++ b/.github/workflows/nightly.yml
@@ -0,0 +1,30 @@
+name: nightly
+on:
+ schedule:
+ - cron: '0 0 * * *'
+
+jobs:
+ publish-github-packages:
+ if: github.ref == 'refs/heads/main'
+ runs-on: ubuntu-latest
+ permissions:
+ packages: write
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - id: version
+ uses: paulhatch/semantic-version@v5.4.0
+ with:
+ version_format: ${major}.${minor}.${patch}-preview.${increment}
+
+ - uses: ./.github/actions/build
+
+ - name: dotnet pack
+ run: dotnet pack -c Release /p:Version=${{ steps.version.outputs.version }} -o drop/nuget
+
+ - name: dotnet nuget push
+ run: |
+ dotnet nuget push drop/nuget/*.nupkg --api-key "${{ secrets.GITHUB_TOKEN }}" --skip-duplicate --source https://nuget.pkg.github.com/dotnet/index.json
+
diff --git a/README.md b/README.md
index 1efaa4e3373..6686d4e8c1d 100644
--- a/README.md
+++ b/README.md
@@ -36,6 +36,9 @@ Docfx is planned to continue as a community-driven project. We hope to produce f
For more information, refer to [Getting Started](http://dotnet.github.io/docfx/tutorial/docfx_getting_started.html).
+> [!TIP]
+> Docfx publishes nightly builds to [GitHub Packages](https://github.com/orgs/dotnet/packages), this allows you to stay up-to-date with the latest developments in Docfx.
+
## Contributing
Use [Discussions](https://github.com/dotnet/docfx/discussions) for questions and general discussions.
diff --git a/src/Docfx.Dotnet/Filters/ConfigFilterRuleItemUnion.cs b/src/Docfx.Dotnet/Filters/ConfigFilterRuleItemUnion.cs
index 028750cdb85..2ee947681c1 100644
--- a/src/Docfx.Dotnet/Filters/ConfigFilterRuleItemUnion.cs
+++ b/src/Docfx.Dotnet/Filters/ConfigFilterRuleItemUnion.cs
@@ -54,7 +54,10 @@ public ConfigFilterRuleItem Rule
}
// If kind is not specified for exclude. Set `ExtendedSymbolKind.Type` as default kind.
- Exclude.Kind ??= ExtendedSymbolKind.Type | ExtendedSymbolKind.Member;
+ if (Exclude != null)
+ {
+ Exclude.Kind ??= ExtendedSymbolKind.Type | ExtendedSymbolKind.Member;
+ }
return Exclude;
}
diff --git a/templates/package-lock.json b/templates/package-lock.json
index 5d810a40de1..6493774be0d 100644
--- a/templates/package-lock.json
+++ b/templates/package-lock.json
@@ -36,7 +36,7 @@
"@typescript-eslint/parser": "^7.2.0",
"browser-sync": "^3.0.2",
"esbuild": "~0.20.1",
- "esbuild-sass-plugin": "~3.1.0",
+ "esbuild-sass-plugin": "~3.2.0",
"eslint": "^8.57.0",
"eslint-config-standard": "^17.1.0",
"jest": "^29.7.0",
@@ -4451,9 +4451,9 @@
}
},
"node_modules/esbuild-sass-plugin": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/esbuild-sass-plugin/-/esbuild-sass-plugin-3.1.0.tgz",
- "integrity": "sha512-LX/PhMuA7KskPDT8yB10/o3C3fTKVWEzcfzGnGH0wqjZm3FEtm4d6dCxUn+252kuWZAgFOGzGOnBv1FpzClJrA==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/esbuild-sass-plugin/-/esbuild-sass-plugin-3.2.0.tgz",
+ "integrity": "sha512-a+e7rYx4sDHgtKWN2n6/7lH5fgfvJaT6AMHmFhBKZy2ZTSN91X5q12l+DNVYJ8cWViEjJNWEd7k7UVcCg/2S/Q==",
"dev": true,
"dependencies": {
"resolve": "^1.22.8",
@@ -13862,9 +13862,9 @@
}
},
"esbuild-sass-plugin": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/esbuild-sass-plugin/-/esbuild-sass-plugin-3.1.0.tgz",
- "integrity": "sha512-LX/PhMuA7KskPDT8yB10/o3C3fTKVWEzcfzGnGH0wqjZm3FEtm4d6dCxUn+252kuWZAgFOGzGOnBv1FpzClJrA==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/esbuild-sass-plugin/-/esbuild-sass-plugin-3.2.0.tgz",
+ "integrity": "sha512-a+e7rYx4sDHgtKWN2n6/7lH5fgfvJaT6AMHmFhBKZy2ZTSN91X5q12l+DNVYJ8cWViEjJNWEd7k7UVcCg/2S/Q==",
"dev": true,
"requires": {
"resolve": "^1.22.8",
diff --git a/templates/package.json b/templates/package.json
index d3899b5c3ed..efbe2948c23 100644
--- a/templates/package.json
+++ b/templates/package.json
@@ -45,7 +45,7 @@
"@typescript-eslint/parser": "^7.2.0",
"browser-sync": "^3.0.2",
"esbuild": "~0.20.1",
- "esbuild-sass-plugin": "~3.1.0",
+ "esbuild-sass-plugin": "~3.2.0",
"eslint": "^8.57.0",
"eslint-config-standard": "^17.1.0",
"jest": "^29.7.0",
diff --git a/test/Directory.Build.props b/test/Directory.Build.props
index 6c34d66e011..8c90a8f76a3 100644
--- a/test/Directory.Build.props
+++ b/test/Directory.Build.props
@@ -4,6 +4,14 @@
en
+
+
+ false
+
+