Skip to content

Commit 67f61af

Browse files
ArkatufuseabaAarononthewebGreg-Petabridge
authored
[TEST] Add AsyncQueue to TestKit (#5672)
* Moved the `akka core` configuration page into `modules`` (#5664) * Fix link issue with `xref` (#5666) Co-authored-by: Aaron Stannard <[email protected]> * [Docs]: Fix Metadata Reference (#5668) * Turn on `ProduceReferenceAssembly` * Add `ProduceReferenceAssembly` to `common.props` * Fix build failures in Akka.FSharp * Revert `<ProduceReferenceAssembly>$(ProduceReferenceAssembly)</ProduceReferenceAssembly>` added to affected projects because it already exists in `common.props' * Resolved invalid links (#5669) * Check for possible broken documentation by failing on DocFX warning (#5542) * Add --warningsAsErrors flag to DocFX * Add check in AzDo pr validation yaml * Use windows image for docfx test * Fix build script name * disable incremental builds for DocFx Co-authored-by: Aaron Stannard <[email protected]> * Removed internal copy of Nito.AsyncEx.AsyncContext, used the nuget package instead * Add asynchronous queue AsyncQueue to replace BlockingQueue * Remove <inheritdoc> XML doc tags, its causing DocFX crash Co-authored-by: Ebere Abanonu <[email protected]> Co-authored-by: Aaron Stannard <[email protected]> Co-authored-by: Gregorius Soedharmo <[email protected]>
1 parent ce274b0 commit 67f61af

34 files changed

+738
-1041
lines changed

build-system/azure-pipeline.template.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@ parameters:
88
scriptArgs: 'all'
99
outputDirectory: ''
1010
timeoutInMinutes: 120
11+
run_if: true
1112

1213
jobs:
1314
- job: ${{ parameters.name }}
15+
condition: eq( ${{ parameters.run_if }}, true )
1416
displayName: ${{ parameters.displayName }}
1517
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
1618
pool:

build-system/pr-validation.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,17 @@ jobs:
124124
outputDirectory: "TestResults"
125125
artifactName: "net_core_tests_linux-$(Build.BuildId)"
126126

127+
- template: azure-pipeline.template.yaml
128+
parameters:
129+
name: "docfx_test"
130+
displayName: "DocFX warning check"
131+
vmImage: "windows-2019"
132+
scriptFileName: build.cmd
133+
scriptArgs: docfx
134+
outputDirectory: "TestResults"
135+
artifactName: "docfx_test-$(Build.BuildId)"
136+
run_if: eq(variables['Build.Reason'], 'PullRequest')
137+
127138
- template: azure-pipeline.template.yaml
128139
parameters:
129140
name: "net_5_tests_windows"

build.fsx

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -632,12 +632,19 @@ Target "DocFx" (fun _ ->
632632
Version = "0.1.0-alpha-1611021200"
633633
OutputDirectory = currentDirectory @@ "tools" }) "msdn.4.5.2"
634634

635-
let docsPath = "./docs"
636-
DocFx (fun p ->
637-
{ p with
638-
Timeout = TimeSpan.FromMinutes 30.0;
639-
WorkingDirectory = docsPath;
640-
DocFxJson = docsPath @@ "docfx.json" })
635+
let docsPath = FullName "./docs"
636+
let docFxPath = FullName(findToolInSubPath "docfx.exe" "tools/docfx.console/tools")
637+
638+
let args = StringBuilder()
639+
|> append (docsPath @@ "docfx.json" )
640+
|> append ("--warningsAsErrors")
641+
|> toText
642+
643+
let result = ExecProcess(fun info ->
644+
info.FileName <- docFxPath
645+
info.WorkingDirectory <- (Path.GetDirectoryName (FullName docFxPath))
646+
info.Arguments <- args) (System.TimeSpan.FromMinutes 45.0) (* Reasonably long-running task. *)
647+
if result <> 0 then failwithf "DocFX failed. %s %s" docFxPath args
641648
)
642649

643650
FinalTarget "KillCreatedProcesses" (fun _ ->
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<title>Akka Configuration</title>
5+
<meta http-equiv = "refresh" content="1;url=../configuration/modules/akka.html" />
6+
</head>
7+
<body>
8+
<p>This page has been moved to <a href="../configuration/modules/akka.html">Akka Configuration</a>.</p>
9+
</body>
10+
</html>

docs/articles/configuration/akka.md renamed to docs/articles/configuration/modules/akka.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ title: Akka Configuration
77

88
Below is the default HOCON configuration for the base `Akka` package.
99

10-
[!code[Akka.dll HOCON Configuration](../../../src/core/Akka/Configuration/Pigeon.conf)]
10+
[!code[Akka.dll HOCON Configuration](../../../../src/core/Akka/Configuration/Pigeon.conf)]

docs/articles/configuration/modules/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
- name: Akka
2+
href: akka.md
13
- name: Akka.Cluster
24
href: akka.cluster.md
35
- name: Akka.Remote

docs/articles/configuration/toc.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,5 @@
22
href: config.md
33
- name: HOCON Syntax and Practices in Akka.NET
44
href: hocon.md
5-
- name: Akka
6-
href: akka.md
75
- name: Modules
86
href: modules/toc.yml

docs/articles/testing/multi-node-testing-old.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ The first step in creating an effective multi-node test is to define the configu
5252

5353
The declaration of the `RoleName` properties is what the MNTR uses to determine how many nodes will be participating in this test. In this example, the test will create exactly two test processes.
5454

55-
The `CommonConfig` element of the [`MultiNodeConfig` implementation class](../../api/Akka.Remote.TestKit.MultiNodeConfig.html) is the common config that will be used throughout all of the nodes inside the multi-node test. So, for instance, if you want all of the nodes in your test to run [Akka.Cluster.Sharding](xref:cluster-sharding) you'd want to include those configuration elements inside the `CommonConfig` property.
55+
The `CommonConfig` element of the [`MultiNodeConfig` implementation class](xref:Akka.Remote.TestKit.MultiNodeConfig) is the common config that will be used throughout all of the nodes inside the multi-node test. So, for instance, if you want all of the nodes in your test to run [Akka.Cluster.Sharding](xref:cluster-sharding) you'd want to include those configuration elements inside the `CommonConfig` property.
5656

5757
#### Configuring Individual Nodes Differently
5858

docs/articles/testing/multi-node-testing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ The first step in creating an effective multi-node test is to define the configu
5757

5858
The declaration of the `RoleName` properties is what the MNTR uses to determine how many nodes will be participating in this test. In this example, the test will create exactly two test processes.
5959

60-
The `CommonConfig` element of the [`MultiNodeConfig` implementation class](../../api/Akka.Remote.TestKit.MultiNodeConfig.html) is the common config that will be used throughout all of the nodes inside the multi-node test. So, for instance, if you want all of the nodes in your test to run [Akka.Cluster.Sharding](xref:cluster-sharding) you'd want to include those configuration elements inside the `CommonConfig` property.
60+
The `CommonConfig` element of the [`MultiNodeConfig` implementation class](xref:Akka.Remote.TestKit.MultiNodeConfig) is the common config that will be used throughout all of the nodes inside the multi-node test. So, for instance, if you want all of the nodes in your test to run [Akka.Cluster.Sharding](xref:cluster-sharding) you'd want to include those configuration elements inside the `CommonConfig` property.
6161

6262
#### Configuring Individual Nodes Differently
6363

docs/articles/toc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@
109109
- name: Streams Cookbook
110110
href: streams/cookbook.md
111111
- name: Configuration
112-
href: configuration/akka.streams.md
112+
href: configuration/modules/akka.streams.md
113113
- name: Networking
114114
items:
115115
- name: I/O

0 commit comments

Comments
 (0)