diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 222d69af81..d6b5435816 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,10 +3,11 @@
"isRoot": true,
"tools": {
"fsdocs-tool": {
- "version": "16.0.2",
+ "version": "21.0.0-beta-005",
"commands": [
"fsdocs"
- ]
+ ],
+ "rollForward": false
}
}
-}
+}
\ No newline at end of file
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000000..8ce0230202
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,12 @@
+version: 2
+updates:
+
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: "weekly"
+
+ - package-ecosystem: "nuget"
+ directory: "/"
+ schedule:
+ interval: "daily"
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index 53ec80290b..74a94b1d2a 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -10,33 +10,43 @@ on:
- main
workflow_dispatch:
+env:
+ FSHARP_DIR: fsharp
+
jobs:
build:
- runs-on: windows-latest
+ runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
- - name: Setup .NET Core
- uses: actions/setup-dotnet@v1
- with:
- dotnet-version: 6.0.203
- - name: Setup .NET Core
- uses: actions/setup-dotnet@v1
- with:
- dotnet-version: 7.0.100-preview.6.22352.1
- - name: Restore tools
- run: dotnet tool restore
- - name: Restore projects
- run: dotnet restore FSharp.Compiler.Service\FSharp.Compiler.Service.fsproj
- - name: Checkout fsharp master
- run: git clone https://github.com/dotnet/fsharp --depth 1 fsharp -b main
- - name: Build fsharp master (turn of CI build status)
- run: cd fsharp && eng\CIBuild.cmd -noVisualStudio
- - name: Run fsdocs
- run: dotnet fsdocs build --sourcefolder fsharp --input fsharp/docs
- - name: Deploy
- uses: peaceiris/actions-gh-pages@v3
- with:
- personal_token: ${{ secrets.GITHUB_TOKEN }}
- publish_dir: ./output
- publish_branch: gh-pages
- force_orphan: true
+ - uses: actions/checkout@v4
+ - name: Checkout fsharp main
+ uses: actions/checkout@v4
+ with:
+ repository: dotnet/fsharp
+ path: ${{ env.FSHARP_DIR }}
+ ref: main
+ - name: Setup .NET for FSharp
+ uses: actions/setup-dotnet@v4
+ with:
+ global-json-file: ${{ env.FSHARP_DIR }}/global.json
+ - name: Restore tools
+ run: dotnet tool restore
+ - name: Restore FSharp.Compiler.Service.fsproj
+ run: dotnet restore FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
+ - name: Build FCS
+ run: dotnet build FSharp.Compiler.Service.sln
+ working-directory: ${{ env.FSHARP_DIR }}
+
+ - name: Run fsdocs
+ env:
+ # allow roll forward to latest major version - this would happen for us if we invoked the fsdocs tool instead of invoking the binary directly
+ DOTNET_ROLL_FORWARD: "LatestMajor"
+ # need previews because .NET 8 is what's being used at runtime
+ DOTNET_ROLL_FORWARD_TO_PRERELEASE: "1"
+ run: dotnet fsdocs build --eval --sourcefolder fsharp --input fsharp/docs
+ - name: Deploy
+ uses: peaceiris/actions-gh-pages@v4
+ with:
+ personal_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_dir: ./output
+ publish_branch: gh-pages
+ force_orphan: true
diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml
index 68426085a4..f215d56de8 100644
--- a/.github/workflows/pr.yml
+++ b/.github/workflows/pr.yml
@@ -5,32 +5,37 @@ on:
branches:
- '**'
+env:
+ FSHARP_DIR: fsharp
+
jobs:
build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Checkout fsharp main
+ uses: actions/checkout@v4
+ with:
+ repository: dotnet/fsharp
+ path: ${{ env.FSHARP_DIR }}
+ ref: main
+ - name: Setup .NET for FSharp
+ uses: actions/setup-dotnet@v4
+ with:
+ global-json-file: ${{ env.FSHARP_DIR }}/global.json
+ - name: Restore tools
+ run: dotnet tool restore
+ - name: Restore FSharp.Compiler.Service.fsproj
+ run: dotnet restore FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
- strategy:
- matrix:
- os: [windows-latest]
- dotnet: [6.0.203]
- runs-on: ${{ matrix.os }}
+ - name: Build FCS
+ run: dotnet build FSharp.Compiler.Service.sln
+ working-directory: ${{ env.FSHARP_DIR }}
- steps:
- - uses: actions/checkout@v2
- - name: Setup .NET Core
- uses: actions/setup-dotnet@v1
- with:
- dotnet-version: 6.0.203
- - name: Setup .NET Core
- uses: actions/setup-dotnet@v1
- with:
- dotnet-version: 7.0.100-preview.6.22352.1
- - name: Restore tools
- run: dotnet tool restore
- - name: Restore projects
- run: dotnet restore FSharp.Compiler.Service\FSharp.Compiler.Service.fsproj
- - name: Checkout fsharp master
- run: git clone https://github.com/dotnet/fsharp --depth 1 fsharp -b main
- - name: Build fsharp master (turn of CI build status)
- run: cd fsharp && eng\CIBuild.cmd -noVisualStudio
- - name: Run fsdocs
- run: dotnet fsdocs build --sourcefolder fsharp --input fsharp/docs
+ - name: Run fsdocs
+ env:
+ # allow roll forward to latest major version - this would happen for us if we invoked the fsdocs tool instead of invoking the binary directly
+ DOTNET_ROLL_FORWARD: "LatestMajor"
+ # need previews because .NET 8 is what's being used at runtime
+ DOTNET_ROLL_FORWARD_TO_PRERELEASE: "1"
+ run: dotnet fsdocs build --eval --sourcefolder fsharp --input fsharp/docs
diff --git a/.gitignore b/.gitignore
index 6e2e1f7f49..0d5e6eea97 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,4 +9,4 @@ FSharp.Formatting/
.fsdocs/
FSharp.Compiler.Service/obj/
tmp/
-
+output/
diff --git a/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj b/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
index f03f03d8d0..c7745d00d9 100644
--- a/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
+++ b/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
@@ -18,10 +18,10 @@
- $(MSBuildThisFileDirectory)..\..\fsharp\artifacts\bin\FSharp.Compiler.Service\Debug\netstandard2.0\FSharp.Compiler.Service.dll
+ $(MSBuildThisFileDirectory)..\..\fsharp\artifacts\bin\FSharp.Compiler.Service\Debug\netstandard2.0\FSharp.Compiler.Service.dll
- $(MSBuildThisFileDirectory)..\fsharp\artifacts\bin\FSharp.Compiler.Service\Debug\netstandard2.0\FSharp.Compiler.Service.dll
+ $(MSBuildThisFileDirectory)..\fsharp\artifacts\bin\FSharp.Compiler.Service\Debug\netstandard2.0\FSharp.Compiler.Service.dll
diff --git a/README.md b/README.md
index d6934b1191..cd27934674 100644
--- a/README.md
+++ b/README.md
@@ -25,20 +25,21 @@ Eventually the build will just be
For now, we make a fresh build of FSharp.Compiler.Service.
- (start in fsharp-conpiler-docs)
- dotnet restore fsharp-conpiler-docs
+ (start in fsharp-compiler-docs)
+ dotnet restore FSharp.Compiler.Service
+ dotnet tool restore
- (make fsharp-conpiler-docs/fsharp)
+ (make fsharp-compiler-docs/fsharp)
git clone https://github.com/dotnet/fsharp --depth 1 -b main
- (build fsharp-conpiler-docs)
+ (build fsharp-compiler-docs/fsharp)
pushd fsharp
- .\build -noVisualStudio
+ dotnet build src/Compiler/FSharp.Compiler.Service.fsproj /p:BUILDING_USING_DOTNET=true
popd
Then do iterative development using:
- (from fsharp-conpiler-docs)
+ (from fsharp-compiler-docs)
dotnet fsdocs watch --sourcefolder fsharp --input fsharp/docs
## CI Pipeline