diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 87d79c2..c25be37 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -13,3 +13,6 @@ updates:
prefix: "CONFIG"
labels:
- "dependencies"
+ ignore:
+ - dependency-name: "FluentAssertions"
+ versions: ["8.x", "9.x", "10.x", "*"]
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 871201a..b7fccab 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -9,8 +9,6 @@ on:
- synchronize
- reopened
- closed
- branches:
- - main
env:
MESHCONFIGURATION__URL: ${{ secrets.MESHCONFIGURATION__URL }}
MESHCONFIGURATION__MAILBOXID: ${{ secrets.MESHCONFIGURATION__MAILBOXID }}
@@ -25,9 +23,9 @@ jobs:
runs-on: windows-latest
steps:
- name: Check Out
- uses: actions/checkout@v3
+ uses: actions/checkout@v5
- name: Setup Dot Net Version
- uses: actions/setup-dotnet@v3
+ uses: actions/setup-dotnet@v5
with:
dotnet-version: 10.x
- name: Restore
@@ -55,7 +53,7 @@ jobs:
contains(github.event.pull_request.labels.*.name, 'RELEASES')
steps:
- name: Checkout code
- uses: actions/checkout@v3
+ uses: actions/checkout@v5
with:
token: ${{ secrets.PAT_FOR_TAGGING }}
- name: Configure Git
@@ -128,9 +126,9 @@ jobs:
if: needs.add_tag.result == 'success'
steps:
- name: Check out
- uses: actions/checkout@v3
+ uses: actions/checkout@v5
- name: Setup .Net
- uses: actions/setup-dotnet@v3
+ uses: actions/setup-dotnet@v5
with:
dotnet-version: 10.x
- name: Restore
diff --git a/.github/workflows/prLinter.yml b/.github/workflows/prLinter.yml
index e0e71d9..6785565 100644
--- a/.github/workflows/prLinter.yml
+++ b/.github/workflows/prLinter.yml
@@ -11,11 +11,12 @@ on:
- main
jobs:
label:
- name: Add Label(s)
+ name: Label
runs-on: ubuntu-latest
+ if: ${{ github.event.pull_request.head.repo.full_name == github.repository }}
steps:
- name: Apply Label
- uses: actions/github-script@v6
+ uses: actions/github-script@v8
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: >-
@@ -84,16 +85,17 @@ jobs:
}
permissions:
contents: read
+ issues: write
pull-requests: write
requireIssueOrTask:
name: Require Issue Or Task Association
runs-on: ubuntu-latest
steps:
- name: Check out
- uses: actions/checkout@v3
+ uses: actions/checkout@v5
- name: Get PR Information
id: get_pr_info
- uses: actions/github-script@v6
+ uses: actions/github-script@v8
with:
script: >2-
const pr = await github.rest.pulls.get({
@@ -110,7 +112,7 @@ jobs:
console.log(`PR Body: ${prBody}`);
- name: Check For Associated Issues Or Tasks
id: check_for_issues_or_tasks
- if: ${{ steps.get_pr_info.outputs.prOwner != 'dependabot[bot]' }}
+ if: ${{ !contains(',dependabot[bot],', format(',{0},', steps.get_pr_info.outputs.prOwner)) }}
env:
PR_BODY: ${{ steps.get_pr_info.outputs.description }}
run: >2-
@@ -131,3 +133,42 @@ jobs:
permissions:
contents: read
pull-requests: read
+ setAuthorAsPrAssignee:
+ name: Set Author As PR Assignee
+ runs-on: ubuntu-latest
+ if: ${{ github.event.pull_request.head.repo.full_name == github.repository }}
+ steps:
+ - name: Set Author As PR Assignee
+ uses: actions/github-script@v8
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: >
+ const pr = context.payload.pull_request;
+
+ if (!pr) {
+ console.log('No pull request context available.');
+ return;
+ }
+
+
+ const author = pr.user.login;
+
+ if (author.endsWith('[bot]')) {
+ console.log(`Skipping bot author: ${author}`);
+ return;
+ }
+
+
+ console.log(`Assigning PR to author: ${author}`);
+
+
+ await github.rest.issues.addAssignees({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ issue_number: pr.number,
+ assignees: [author]
+ });
+ permissions:
+ contents: read
+ issues: write
+ pull-requests: write
diff --git a/NEL.MESH.Infrastructure/NEL.MESH.Infrastructure.csproj b/NEL.MESH.Infrastructure/NEL.MESH.Infrastructure.csproj
index c8e460d..f14fe4d 100644
--- a/NEL.MESH.Infrastructure/NEL.MESH.Infrastructure.csproj
+++ b/NEL.MESH.Infrastructure/NEL.MESH.Infrastructure.csproj
@@ -10,7 +10,7 @@
-
+
diff --git a/NEL.MESH.Infrastructure/Services/ScriptGenerationService.cs b/NEL.MESH.Infrastructure/Services/ScriptGenerationService.cs
index 4c35b24..28fcf31 100644
--- a/NEL.MESH.Infrastructure/Services/ScriptGenerationService.cs
+++ b/NEL.MESH.Infrastructure/Services/ScriptGenerationService.cs
@@ -5,7 +5,7 @@
using ADotNet.Clients;
using ADotNet.Models.Pipelines.GithubPipelines.DotNets;
using ADotNet.Models.Pipelines.GithubPipelines.DotNets.Tasks;
-using ADotNet.Models.Pipelines.GithubPipelines.DotNets.Tasks.SetupDotNetTaskV3s;
+using ADotNet.Models.Pipelines.GithubPipelines.DotNets.Tasks.SetupDotNetTaskV5s;
namespace NEL.MESH.Infrastructure.Services
{
@@ -28,8 +28,7 @@ public void GenerateBuildScript(string branchName, string projectName, string do
PullRequest = new PullRequestEvent
{
- Types = ["opened", "synchronize", "reopened", "closed"],
- Branches = [branchName]
+ Types = ["opened", "synchronize", "reopened", "closed"]
}
},
@@ -55,16 +54,16 @@ public void GenerateBuildScript(string branchName, string projectName, string do
Steps = new List
{
- new CheckoutTaskV3
+ new CheckoutTaskV5
{
Name = "Check Out"
},
- new SetupDotNetTaskV3
+ new SetupDotNetTaskV5
{
Name = "Setup Dot Net Version",
- With = new TargetDotNetVersionV3
+ With = new TargetDotNetVersionV5
{
DotNetVersion = dotNetVersion
}
@@ -100,7 +99,7 @@ public void GenerateBuildScript(string branchName, string projectName, string do
},
{
"add_tag",
- new TagJob(
+ new TagJobV2(
runsOn: BuildMachines.UbuntuLatest,
dependsOn: "build",
projectRelativePath: $"{projectName}/{projectName}.csproj",
@@ -112,7 +111,7 @@ public void GenerateBuildScript(string branchName, string projectName, string do
},
{
"publish",
- new PublishJobV2(
+ new PublishJobV4(
runsOn: BuildMachines.UbuntuLatest,
dependsOn: "add_tag",
dotNetVersion: dotNetVersion,
@@ -156,18 +155,25 @@ public void GeneratePrLintScript(string branchName)
{
{
"label",
- new LabelJobV2(runsOn: BuildMachines.UbuntuLatest)
+ new LabelJobV3(runsOn: BuildMachines.UbuntuLatest)
{
- Name = "Add Label(s)",
+ Name = "Label"
}
},
{
"requireIssueOrTask",
- new RequireIssueOrTaskJob()
+ new RequireIssueOrTaskJobV2(excludedAuthors: "dependabot[bot]")
{
Name = "Require Issue Or Task Association",
}
},
+ {
+ "setAuthorAsPrAssignee",
+ new SetAuthorAsPrAssigneeJobV2(runsOn: BuildMachines.UbuntuLatest)
+ {
+ Name = "Set Author As PR Assignee",
+ }
+ },
}
};
diff --git a/NEL.MESH.Tests.Acceptance/NEL.MESH.Tests.Acceptance.csproj b/NEL.MESH.Tests.Acceptance/NEL.MESH.Tests.Acceptance.csproj
index 8704355..ae620aa 100644
--- a/NEL.MESH.Tests.Acceptance/NEL.MESH.Tests.Acceptance.csproj
+++ b/NEL.MESH.Tests.Acceptance/NEL.MESH.Tests.Acceptance.csproj
@@ -12,12 +12,12 @@
-
-
-
+
+
+
-
+
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/NEL.MESH.Tests.Integration.Witness/NEL.MESH.Tests.Integration.Witness.csproj b/NEL.MESH.Tests.Integration.Witness/NEL.MESH.Tests.Integration.Witness.csproj
index f393d78..4a5e035 100644
--- a/NEL.MESH.Tests.Integration.Witness/NEL.MESH.Tests.Integration.Witness.csproj
+++ b/NEL.MESH.Tests.Integration.Witness/NEL.MESH.Tests.Integration.Witness.csproj
@@ -16,9 +16,9 @@
-
-
-
+
+
+
diff --git a/NEL.MESH.Tests.Integration/NEL.MESH.Tests.Integration.csproj b/NEL.MESH.Tests.Integration/NEL.MESH.Tests.Integration.csproj
index b79e86f..5689e79 100644
--- a/NEL.MESH.Tests.Integration/NEL.MESH.Tests.Integration.csproj
+++ b/NEL.MESH.Tests.Integration/NEL.MESH.Tests.Integration.csproj
@@ -16,9 +16,9 @@
-
-
-
+
+
+
diff --git a/NEL.MESH.Tests.Unit/NEL.MESH.Tests.Unit.csproj b/NEL.MESH.Tests.Unit/NEL.MESH.Tests.Unit.csproj
index be36932..4cbf49c 100644
--- a/NEL.MESH.Tests.Unit/NEL.MESH.Tests.Unit.csproj
+++ b/NEL.MESH.Tests.Unit/NEL.MESH.Tests.Unit.csproj
@@ -12,9 +12,9 @@
-
-
-
+
+
+
diff --git a/NEL.MESH.UI/NEL.MESH.UI.csproj b/NEL.MESH.UI/NEL.MESH.UI.csproj
index c2fe4cf..ced616a 100644
--- a/NEL.MESH.UI/NEL.MESH.UI.csproj
+++ b/NEL.MESH.UI/NEL.MESH.UI.csproj
@@ -11,10 +11,10 @@
-
-
-
-
+
+
+
+
diff --git a/NEL.MESH/NEL.MESH.csproj b/NEL.MESH/NEL.MESH.csproj
index eaec99b..368d92b 100644
--- a/NEL.MESH/NEL.MESH.csproj
+++ b/NEL.MESH/NEL.MESH.csproj
@@ -51,8 +51,8 @@
-
-
+
+