From 3a73e4ae3782e5523be38459639371763d2b16ac Mon Sep 17 00:00:00 2001 From: Friedrich von Never Date: Mon, 12 Jan 2026 23:01:47 +0100 Subject: [PATCH 1/3] CI: less notifications on dependency updates --- .github/workflows/main.yml | 5 +++-- .github/workflows/main.yml.license | 2 +- .github/workflows/release.yml | 1 + .github/workflows/release.yml.license | 2 +- renovate.json | 1 + renovate.json.license | 2 +- scripts/github-actions.fsx | 3 ++- 7 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1b21ba0..33d906d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,6 +4,7 @@ on: push: branches: - main + - renovate/** pull_request: branches: - main @@ -34,11 +35,11 @@ jobs: steps: - uses: actions/checkout@v6 - name: Set up .NET SDK - uses: actions/setup-dotnet@v5 + uses: actions/setup-dotnet@v4 with: dotnet-version: 8.0.x - name: NuGet cache - uses: actions/cache@v5 + uses: actions/cache@v4 with: key: ${{ runner.os }}.nuget.${{ hashFiles('**/*.csproj') }} path: ${{ env.NUGET_PACKAGES }} diff --git a/.github/workflows/main.yml.license b/.github/workflows/main.yml.license index 0943795..6de35a8 100644 --- a/.github/workflows/main.yml.license +++ b/.github/workflows/main.yml.license @@ -1,3 +1,3 @@ -SPDX-FileCopyrightText: 2024 TruePath contributors +SPDX-FileCopyrightText: 2024-2026 TruePath contributors SPDX-License-Identifier: MIT diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c11fc25..0e54773 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,6 +4,7 @@ on: push: branches: - main + - renovate/** tags: - v* pull_request: diff --git a/.github/workflows/release.yml.license b/.github/workflows/release.yml.license index dc04a80..c4861d2 100644 --- a/.github/workflows/release.yml.license +++ b/.github/workflows/release.yml.license @@ -1,3 +1,3 @@ -SPDX-FileCopyrightText: 2024-2025 Friedrich von Never +SPDX-FileCopyrightText: 2024-2026 Friedrich von Never SPDX-License-Identifier: MIT diff --git a/renovate.json b/renovate.json index 02d9d3e..6bb774a 100644 --- a/renovate.json +++ b/renovate.json @@ -4,6 +4,7 @@ "config:recommended" ], "automerge": true, + "automergeType": "branch", "customManagers": [ { "description": "Update the F# script dependencies.", diff --git a/renovate.json.license b/renovate.json.license index cd1d78a..40ac802 100644 --- a/renovate.json.license +++ b/renovate.json.license @@ -1,3 +1,3 @@ -SPDX-FileCopyrightText: 2025 Friedrich von Never +SPDX-FileCopyrightText: 2025-2026 Friedrich von Never SPDX-License-Identifier: MIT diff --git a/scripts/github-actions.fsx b/scripts/github-actions.fsx index d8a6118..fe1244f 100644 --- a/scripts/github-actions.fsx +++ b/scripts/github-actions.fsx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2024-2025 TruePath contributors +// SPDX-FileCopyrightText: 2024-2026 TruePath contributors // // SPDX-License-Identifier: MIT @@ -22,6 +22,7 @@ let images = [ let workflows = [ let mainTriggers = [ onPushTo mainBranch + onPushTo "renovate/**" onPullRequestTo mainBranch onSchedule(day = DayOfWeek.Saturday) onWorkflowDispatch From 313a0f511e73660b40b202ba8123b879beee32e5 Mon Sep 17 00:00:00 2001 From: Friedrich von Never Date: Mon, 12 Jan 2026 23:02:44 +0100 Subject: [PATCH 2/3] CI: fix the TruePath workflow verifier --- scripts/github-actions.fsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/github-actions.fsx b/scripts/github-actions.fsx index fe1244f..70c2c1d 100644 --- a/scripts/github-actions.fsx +++ b/scripts/github-actions.fsx @@ -125,4 +125,4 @@ let workflows = [ ] ] -EntryPoint.Process fsi.CommandLineArgs workflows +exit <| EntryPoint.Process fsi.CommandLineArgs workflows From 37685819edf07065cb68ce0eb501d5e67a9414de Mon Sep 17 00:00:00 2001 From: Friedrich von Never Date: Mon, 12 Jan 2026 23:09:37 +0100 Subject: [PATCH 3/3] CI: integrate the docs workflow with Generaptor --- .github/workflows/docs.yml | 50 ++++++++++------------ .github/workflows/main.yml | 4 ++ .github/workflows/main.yml.license | 3 -- .github/workflows/release.yml | 4 ++ .github/workflows/release.yml.license | 3 -- TruePath.sln | 2 - scripts/github-actions.fsx | 60 +++++++++++++++++++++++++-- 7 files changed, 88 insertions(+), 38 deletions(-) delete mode 100644 .github/workflows/main.yml.license delete mode 100644 .github/workflows/release.yml.license diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 8e78cd7..c68d161 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,23 +1,21 @@ -# SPDX-FileCopyrightText: 2024 Friedrich von Never +# SPDX-FileCopyrightText: 2024-2026 TruePath contributors # # SPDX-License-Identifier: MIT +# This file is auto-generated. name: Docs on: push: branches: - - main - workflow_dispatch: - + - main + workflow_dispatch: +concurrency: + group: pages + cancel-in-progress: false permissions: actions: read - pages: write id-token: write - -concurrency: - group: "pages" - cancel-in-progress: false - + pages: write jobs: publish-docs: environment: @@ -25,20 +23,18 @@ jobs: url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-24.04 steps: - - name: Checkout - uses: actions/checkout@v6 - - name: Dotnet Setup - uses: actions/setup-dotnet@v5 - with: - dotnet-version: 8.x - - - run: dotnet tool restore - - run: dotnet docfx docs/docfx.json - - - name: Upload artifact - uses: actions/upload-pages-artifact@v4 - with: - path: 'docs/_site' - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 + - name: Checkout + uses: actions/checkout@v6 + - name: Set up .NET SDK + uses: actions/setup-dotnet@v5 + with: + dotnet-version: 8.x + - run: dotnet tool restore + - run: dotnet docfx docs/docfx.json + - name: Upload artifact + uses: actions/upload-pages-artifact@v4 + with: + path: docs/_site + - id: deployment + name: Deploy to GitHub Pages + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 33d906d..7f7b370 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024-2026 TruePath contributors +# +# SPDX-License-Identifier: MIT + # This file is auto-generated. name: Main on: diff --git a/.github/workflows/main.yml.license b/.github/workflows/main.yml.license deleted file mode 100644 index 6de35a8..0000000 --- a/.github/workflows/main.yml.license +++ /dev/null @@ -1,3 +0,0 @@ -SPDX-FileCopyrightText: 2024-2026 TruePath contributors - -SPDX-License-Identifier: MIT diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0e54773..7c747ba 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024-2026 TruePath contributors +# +# SPDX-License-Identifier: MIT + # This file is auto-generated. name: Release on: diff --git a/.github/workflows/release.yml.license b/.github/workflows/release.yml.license deleted file mode 100644 index c4861d2..0000000 --- a/.github/workflows/release.yml.license +++ /dev/null @@ -1,3 +0,0 @@ -SPDX-FileCopyrightText: 2024-2026 Friedrich von Never - -SPDX-License-Identifier: MIT diff --git a/TruePath.sln b/TruePath.sln index dd11f62..01b534b 100644 --- a/TruePath.sln +++ b/TruePath.sln @@ -34,9 +34,7 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{55C1E2A5-1630-4C22-A403-65DA2B1B969D}" ProjectSection(SolutionItems) = preProject .github\workflows\main.yml = .github\workflows\main.yml - .github\workflows\main.yml.license = .github\workflows\main.yml.license .github\workflows\release.yml = .github\workflows\release.yml - .github\workflows\release.yml.license = .github\workflows\release.yml.license .github\workflows\docs.yml = .github\workflows\docs.yml EndProjectSection EndProject diff --git a/scripts/github-actions.fsx b/scripts/github-actions.fsx index 70c2c1d..14d6b36 100644 --- a/scripts/github-actions.fsx +++ b/scripts/github-actions.fsx @@ -1,6 +1,9 @@ -// SPDX-FileCopyrightText: 2024-2026 TruePath contributors -// -// SPDX-License-Identifier: MIT +let licenseHeader = """ +# SPDX-FileCopyrightText: 2024-2026 TruePath contributors +# +# SPDX-License-Identifier: MIT + +# This file is auto-generated.""".Trim() #r "nuget: Generaptor.Library, 1.9.0" @@ -28,6 +31,11 @@ let workflows = [ onWorkflowDispatch ] + let workflow name actions = workflow name [ + header licenseHeader + yield! actions + ] + workflow "main" [ name "Main" yield! mainTriggers @@ -123,6 +131,52 @@ let workflows = [ ] ] ] + + workflow "docs" [ + name "Docs" + onPushTo "main" + onWorkflowDispatch + workflowPermission(PermissionKind.Actions, AccessKind.Read) + workflowPermission(PermissionKind.Pages, AccessKind.Write) + workflowPermission(PermissionKind.IdToken, AccessKind.Write) + workflowConcurrency( + group = "pages", + cancelInProgress = false + ) + job "publish-docs" [ + environment(name = "github-pages", url = "${{ steps.deployment.outputs.page_url }}") + runsOn "ubuntu-24.04" + step( + name = "Checkout", + usesSpec = Auto "actions/checkout" + ) + step( + name = "Set up .NET SDK", + usesSpec = Auto "actions/setup-dotnet", + options = Map.ofList [ + "dotnet-version", "8.x" + ] + ) + step( + run = "dotnet tool restore" + ) + step( + run = "dotnet docfx docs/docfx.json" + ) + step( + name = "Upload artifact", + usesSpec = Auto "actions/upload-pages-artifact", + options = Map.ofList [ + "path", "docs/_site" + ] + ) + step( + name = "Deploy to GitHub Pages", + id = "deployment", + usesSpec = Auto "actions/deploy-pages" + ) + ] + ] ] exit <| EntryPoint.Process fsi.CommandLineArgs workflows