Skip to content

Commit 2d11ad1

Browse files
authored
Merge branch 'master' into dependabot/npm_and_yarn/src/Frontend/nanoid-3.3.8
2 parents 8db5389 + f2d8889 commit 2d11ad1

File tree

123 files changed

+3032
-1241
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+3032
-1241
lines changed

.github/dependabot.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
version: 2
2+
registries:
3+
particular-packages:
4+
type: nuget-feed
5+
url: https://f.feedz.io/particular-software/packages/nuget/index.json
26
updates:
37
- package-ecosystem: nuget
48
directory: "/src"
9+
registries: "*"
510
schedule:
611
interval: daily
712
open-pull-requests-limit: 1000
@@ -29,11 +34,6 @@ updates:
2934
schedule:
3035
interval: daily
3136
open-pull-requests-limit: 1000
32-
- package-ecosystem: "docker"
33-
directory: "/src/ServicePulse"
34-
schedule:
35-
interval: daily
36-
open-pull-requests-limit: 1000
3737
- package-ecosystem: "npm"
3838
directory: "/src/Frontend"
3939
schedule:

.github/workflows/ci.yml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ on:
88
workflow_dispatch:
99
env:
1010
DOTNET_NOLOGO: true
11+
defaults:
12+
run:
13+
shell: pwsh
1114
jobs:
1215
build:
1316
name: Windows
@@ -18,13 +21,13 @@ jobs:
1821
with:
1922
fetch-depth: 0
2023
- name: Setup .NET SDK
21-
uses: actions/setup-dotnet@v4.1.0
24+
uses: actions/setup-dotnet@v4.3.1
2225
with:
2326
dotnet-version: 7.0.x
2427
- name: Set up Node.js
25-
uses: actions/setup-node@v4.1.0
28+
uses: actions/setup-node@v4.3.0
2629
with:
27-
node-version: 21.6.x
30+
node-version: 22.13.x
2831
- name: Build Frontend
2932
run: .\build.ps1
3033
working-directory: src/ServicePulse.Host
@@ -41,13 +44,13 @@ jobs:
4144
uses: Particular/[email protected]
4245
# Upload assets and packages
4346
- name: Upload assets
44-
uses: actions/upload-artifact@v4.4.3
47+
uses: actions/upload-artifact@v4.6.1
4548
with:
4649
name: Assets
4750
path: src/ServicePulse.Host/bin/Release/
4851
retention-days: 7
4952
- name: Upload packages
50-
uses: actions/upload-artifact@v4.4.3
53+
uses: actions/upload-artifact@v4.6.1
5154
with:
5255
name: NuGet packages
5356
path: nugets/
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: Code Analysis
2+
on:
3+
push:
4+
branches:
5+
- main
6+
- master
7+
- release-*
8+
pull_request:
9+
workflow_dispatch:
10+
jobs:
11+
code-analysis:
12+
uses: particular/shared-workflows/.github/workflows/code-analysis.yml@main

.github/workflows/nuget-audit.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
name: NuGet Audit
2+
on:
3+
workflow_dispatch:
4+
env:
5+
DOTNET_NOLOGO: true
6+
jobs:
7+
call-shared-nuget-audit:
8+
uses: particular/shared-workflows/.github/workflows/nuget-audit.yml@main
9+
secrets: inherit

.github/workflows/push-container-images.yml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,34 +22,34 @@ jobs:
2222
with:
2323
version: ${{ inputs.version }}
2424
- name: Log in to GitHub container registry
25-
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
25+
uses: docker/[email protected]
26+
with:
27+
registry: ghcr.io
28+
username: ${{ github.actor }}
29+
password: ${{ secrets.GITHUB_TOKEN }}
2630
- name: Login to Docker Hub
27-
uses: docker/login-action@v3.3.0
31+
uses: docker/login-action@v3.4.0
2832
with:
2933
username: ${{ secrets.DOCKERHUB_USERNAME }}
3034
password: ${{ secrets.DOCKERHUB_TOKEN }}
35+
- name: Set up Docker Buildx
36+
uses: docker/[email protected]
3137
- name: Publish to Docker Hub
3238
run: |
33-
$containers = @('servicepulse')
3439
$tags = "${{ steps.validate.outputs.container-tags }}" -Split ','
3540
$sourceTag = "${{ inputs.version }}"
3641
37-
foreach ($tag in $tags)
38-
{
39-
foreach($name in $containers)
40-
{
41-
Write-Output "::group::Pushing $($name):$($tag)"
42-
$cmd = "docker buildx imagetools create --tag particular/$($name):$($tag) ghcr.io/particular/$($name):$($sourceTag)"
43-
Write-Output "Command: $cmd"
44-
Invoke-Expression $cmd
45-
Write-Output "::endgroup::"
46-
}
47-
}
42+
$tagsCLI = $tags -replace "^", "--tag particular/servicepulse:"
43+
44+
$cmd = "docker buildx imagetools create $tagsCLI ghcr.io/particular/servicepulse:$sourceTag"
45+
Write-Output "Command: $cmd"
46+
Invoke-Expression $cmd
4847
- name: Update Docker Hub Description
4948
if: ${{ steps.validate.outputs.latest == 'true' }}
5049
uses: peter-evans/[email protected]
5150
with:
5251
username: ${{ secrets.DOCKERHUB_USERNAME }}
5352
password: ${{ secrets.DOCKERHUB_TOKEN }}
5453
repository: particular/servicepulse
55-
readme-filepath: ./Container-README.md
54+
readme-filepath: ./Container-README.md
55+
short-description: Keep track of the health and performance of your system's endpoints.

.github/workflows/release.yml

Lines changed: 51 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ on:
1111
workflow_dispatch:
1212
env:
1313
DOTNET_NOLOGO: true
14+
defaults:
15+
run:
16+
shell: pwsh
1417
jobs:
1518
windows-standalone:
1619
if: ${{ github.actor != 'dependabot[bot]' }}
@@ -19,18 +22,17 @@ jobs:
1922
- name: Check for secrets
2023
env:
2124
SECRETS_AVAILABLE: ${{ secrets.SECRETS_AVAILABLE }}
22-
shell: pwsh
2325
run: exit $(If ($env:SECRETS_AVAILABLE -eq 'true') { 0 } Else { 1 })
2426
- name: Checkout
2527
uses: actions/[email protected]
2628
with:
2729
fetch-depth: 0
2830
- name: Setup .NET SDK
29-
uses: actions/setup-dotnet@v4.1.0
31+
uses: actions/setup-dotnet@v4.3.1
3032
with:
3133
dotnet-version: 7.0.x
3234
- name: Set up Node.js
33-
uses: actions/setup-node@v4.1.0
35+
uses: actions/setup-node@v4.3.0
3436
with:
3537
node-version: 21.6.x
3638
- name: Build Frontend
@@ -67,7 +69,7 @@ jobs:
6769
run: dotnet build src/Setup --configuration Release
6870
# Upload artifacts
6971
- name: Publish artifacts
70-
uses: actions/upload-artifact@v4.4.3
72+
uses: actions/upload-artifact@v4.6.1
7173
with:
7274
name: artifacts
7375
path: |
@@ -107,12 +109,11 @@ jobs:
107109
name: linux-container
108110
defaults:
109111
run:
110-
shell: bash
112+
shell: pwsh
111113
steps:
112114
- name: Check for secrets
113115
env:
114116
SECRETS_AVAILABLE: ${{ secrets.SECRETS_AVAILABLE }}
115-
shell: pwsh
116117
run: exit $(If ($env:SECRETS_AVAILABLE -eq 'true') { 0 } Else { 1 })
117118
- name: Checkout
118119
uses: actions/[email protected]
@@ -121,7 +122,6 @@ jobs:
121122
- name: Install MinVer CLI
122123
run: dotnet tool install --global minver-cli
123124
- name: Determine version
124-
shell: pwsh
125125
run: |
126126
# Read settings from Custom.Build.props
127127
[xml]$xml = Get-Content ./src/Custom.Build.props
@@ -131,7 +131,7 @@ jobs:
131131
if (-not ($minMajorMinor -and $autoIncrement)) {
132132
throw "Missing MinVer settings in Custom.Build.props"
133133
}
134-
134+
135135
# Execute MinVer
136136
echo "MinVerVersion=$(minver --minimum-major-minor $minMajorMinor --auto-increment $autoIncrement)" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
137137
- name: Validate build version
@@ -140,26 +140,47 @@ jobs:
140140
with:
141141
version: ${{ env.MinVerVersion }}
142142
- name: Set up Docker Buildx
143-
uses: docker/setup-buildx-action@v3.7.1
143+
uses: docker/setup-buildx-action@v3.10.0
144144
- name: Log in to GitHub container registry
145-
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
146-
- name: Build & inspect image
147-
env:
148-
TAG_NAME: ${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.number) || env.MinVerVersion }}
149-
run: |
150-
docker buildx build --push --tag ghcr.io/particular/servicepulse:${{ env.TAG_NAME }} \
151-
--file src/ServicePulse/Dockerfile \
152-
--build-arg VERSION=${{ env.MinVerVersion }} \
153-
--annotation "index:org.opencontainers.image.title=ServicePulse" \
154-
--annotation "index:org.opencontainers.image.description=ServicePulse provides real-time production monitoring for distributed applications. It monitors the health of a system's endpoints, detects processing errors, sends failed messages for reprocessing, and ensures the specific environment's needs are met, all in one consolidated dashboard." \
155-
--annotation "index:org.opencontainers.image.created=$(date '+%FT%TZ')" \
156-
--annotation "index:org.opencontainers.image.revision=${{ github.sha }}" \
157-
--annotation "index:org.opencontainers.image.authors=Particular Software" \
158-
--annotation "index:org.opencontainers.image.vendor=Particular Software" \
159-
--annotation "index:org.opencontainers.image.version=${{ env.MinVerVersion }}" \
160-
--annotation "index:org.opencontainers.image.source=https://github.com/${{ github.repository }}/tree/${{ github.sha }}" \
161-
--annotation "index:org.opencontainers.image.url=https://hub.docker.com/r/particular/servicepulse" \
162-
--annotation "index:org.opencontainers.image.documentation=https://docs.particular.net/servicepulse/" \
163-
--annotation "index:org.opencontainers.image.base.name=mcr.microsoft.com/dotnet/aspnet:8.0-noble-chiseled-composite" \
164-
--platform linux/arm64,linux/amd64 .
165-
docker buildx imagetools inspect ghcr.io/particular/servicepulse:${{ env.TAG_NAME }}
145+
uses: docker/[email protected]
146+
with:
147+
registry: ghcr.io
148+
username: ${{ github.actor }}
149+
password: ${{ secrets.GITHUB_TOKEN }}
150+
- name: Get current date
151+
id: date
152+
run: echo "date=$(date '+%FT%TZ')" >> $GITHUB_OUTPUT
153+
- name: Build and push image to GitHub container registry
154+
uses: docker/[email protected]
155+
with:
156+
context: .
157+
push: true
158+
platforms: linux/amd64,linux/arm64
159+
sbom: true
160+
labels: |
161+
org.opencontainers.image.source=https://github.com/Particular/ServicePulse/tree/${{ github.sha }}
162+
org.opencontainers.image.authors="Particular Software"
163+
org.opencontainers.image.vendor="Particular Software"
164+
org.opencontainers.image.url=https://hub.docker.com/r/particular/servicepulse
165+
org.opencontainers.image.documentation=https://docs.particular.net/servicepulse/
166+
org.opencontainers.image.version=${{ env.MinVerVersion }}
167+
org.opencontainers.image.revision=${{ github.sha }}
168+
org.opencontainers.image.created=${{ steps.date.outputs.date }}
169+
org.opencontainers.image.title=ServicePulse
170+
org.opencontainers.image.description=ServicePulse provides real-time production monitoring for distributed applications. It monitors the health of a system's endpoints, detects processing errors, sends failed messages for reprocessing, and ensures the specific environment's needs are met, all in one consolidated dashboard.
171+
org.opencontainers.image.base.name=mcr.microsoft.com/dotnet/aspnet:8.0-noble-chiseled-composite
172+
annotations: |
173+
index:org.opencontainers.image.source=https://github.com/Particular/ServicePulse/tree/${{ github.sha }}
174+
index:org.opencontainers.image.authors="Particular Software"
175+
index:org.opencontainers.image.vendor="Particular Software"
176+
index:org.opencontainers.image.url=https://hub.docker.com/r/particular/servicepulse
177+
index:org.opencontainers.image.documentation=https://docs.particular.net/servicepulse/
178+
index:org.opencontainers.image.version=${{ env.MinVerVersion }}
179+
index:org.opencontainers.image.revision=${{ github.sha }}
180+
index:org.opencontainers.image.created=${{ steps.date.outputs.date }}
181+
index:org.opencontainers.image.title=ServicePulse
182+
index:org.opencontainers.image.description=ServicePulse provides real-time production monitoring for distributed applications. It monitors the health of a system's endpoints, detects processing errors, sends failed messages for reprocessing, and ensures the specific environment's needs are met, all in one consolidated dashboard.
183+
index:org.opencontainers.image.base.name=mcr.microsoft.com/dotnet/aspnet:8.0-noble-chiseled-composite
184+
file: src/ServicePulse/Dockerfile
185+
tags: ghcr.io/particular/servicepulse:${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.number) || env.MinVerVersion }}
186+

ISSUE_TEMPLATE.md

Lines changed: 0 additions & 9 deletions
This file was deleted.

SECURITY.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Security Policy
2+
3+
Particular Software takes security issues very seriously. We appreciate your efforts to uncover bugs in our software.
4+
5+
## Reporting a Vulnerability
6+
7+
Vulnerabilities can be reported by [submitting an issue](https://github.com/Particular/NServiceBus/security/advisories/new) through the security tab on our NServiceBus repository.

0 commit comments

Comments
 (0)