Skip to content

Commit d732bf1

Browse files
authored
release/v1.1.0
Release : v1.1.0
2 parents bd4a1fc + cbd0c94 commit d732bf1

410 files changed

Lines changed: 67120 additions & 19989 deletions

File tree

Some content is hidden

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

.github/dependabot.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ updates:
3232
- "patch"
3333
schedule:
3434
interval: "daily"
35+
cooldown:
36+
default-days: 3
3537

3638
- package-ecosystem: "github-actions"
3739
target-branch: "develop"

.github/workflows/codeql.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
5757
steps:
5858
- name: Checkout repository
59-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
59+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
6060

6161
# Add any setup steps before running the `github/codeql-action/init` action.
6262
# This includes steps like installing compilers or runtimes (`actions/setup-node`
@@ -66,7 +66,7 @@ jobs:
6666

6767
# Initializes the CodeQL tools for scanning.
6868
- name: Initialize CodeQL
69-
uses: github/codeql-action/init@1b168cd39490f61582a9beae412bb7057a6b2c4e # v4.31.8
69+
uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
7070
with:
7171
languages: ${{ matrix.language }}
7272
build-mode: ${{ matrix.build-mode }}
@@ -95,6 +95,6 @@ jobs:
9595
exit 1
9696
9797
- name: Perform CodeQL Analysis
98-
uses: github/codeql-action/analyze@1b168cd39490f61582a9beae412bb7057a6b2c4e # v4.31.8
98+
uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
9999
with:
100100
category: "/language:${{matrix.language}}"

.github/workflows/dependency-review.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ jobs:
3232
runs-on: ubuntu-latest
3333
steps:
3434
- name: 'Checkout repository'
35-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
35+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
3636
- name: 'Dependency Review'
37-
uses: actions/dependency-review-action@3c4e3dcb1aa7874d2c16be7d79418e9b7efd6261 # v4.8.2
37+
uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v5.0.0
3838
# Commonly enabled options, see https://github.com/actions/dependency-review-action#configuration-options for all available options.
3939
with:
4040
retry-on-snapshot-warnings: true

.github/workflows/docker-publish.yml

Lines changed: 68 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,14 @@ name: Docker
77

88
on:
99
workflow_dispatch:
10+
inputs:
11+
build_arm64:
12+
description: 'Build and publish ARM64 image (multi-arch manifest)'
13+
type: boolean
14+
default: false
1015
push:
1116
branches:
17+
- 'main'
1218
- 'develop'
1319
- 'release/**'
1420
- 'hotfix/**'
@@ -42,19 +48,40 @@ jobs:
4248

4349
steps:
4450
- name: Checkout repository
45-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
51+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
52+
53+
# Set up QEMU for ARM64 cross-compilation on AMD64 runners
54+
- name: Set up QEMU
55+
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
4656

4757
# Set up BuildKit Docker container builder to be able to build
4858
# multi-platform images and export cache
4959
# https://github.com/docker/setup-buildx-action
5060
- name: Set up Docker Buildx
51-
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
61+
uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0
62+
63+
# ARM64 is included for main, develop, hotfix, release branches, version tags, and manual trigger.
64+
# Pull requests (e.g. feature → develop) build AMD64 only; ARM64 is built on merge (push event).
65+
- name: Determine build platforms
66+
id: platforms
67+
run: |
68+
PLATFORMS="linux/amd64"
69+
if [[ "${{ github.ref }}" == refs/heads/main ]] || \
70+
[[ "${{ github.ref }}" == refs/heads/develop ]] || \
71+
[[ "${{ github.ref }}" == refs/heads/hotfix/* ]] || \
72+
[[ "${{ github.ref }}" == refs/heads/release/* ]] || \
73+
[[ "${{ github.ref }}" == refs/tags/v* ]] || \
74+
[[ "${{ inputs.build_arm64 }}" == "true" ]]; then
75+
PLATFORMS="linux/amd64,linux/arm64"
76+
fi
77+
echo "platforms=$PLATFORMS" >> $GITHUB_OUTPUT
78+
echo "include_arm64=$([ "$PLATFORMS" = "linux/amd64,linux/arm64" ] && echo 'true' || echo 'false')" >> $GITHUB_OUTPUT
5279
5380
# Login against a Docker registry except on PR
5481
# https://github.com/docker/login-action
5582
- name: Log into registry ${{ env.REGISTRY }}
5683
if: github.event_name != 'pull_request'
57-
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
84+
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0
5885
with:
5986
registry: ${{ env.REGISTRY }}
6087
username: ${{ github.actor }}
@@ -64,62 +91,87 @@ jobs:
6491
# https://github.com/docker/metadata-action
6592
- name: Extract Docker metadata
6693
id: meta
67-
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
94+
uses: docker/metadata-action@80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9 # v6.1.0
6895
with:
6996
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
7097
flavor: |
7198
latest=false
7299
tags: |
73100
type=semver,pattern={{raw}}
74-
type=raw,value=develop-{{sha}},enable=${{startsWith(github.ref, 'refs/heads/develop')}}
75-
type=raw,value=rc-{{branch}}-{{sha}},enable=${{startsWith(github.ref, 'refs/heads/release/')}}
76-
type=raw,value={{branch}}-{{sha}},enable=${{startsWith(github.ref, 'refs/heads/hotfix/')}}
101+
# Priority is set to ensure the develop-{{sha}} tag is preferred over other tags for the develop branch
102+
type=raw,value=develop-{{sha}},enable=${{startsWith(github.ref,'refs/heads/develop')}},priority=201
103+
type=raw,value=develop,enable=${{startsWith(github.ref,'refs/heads/develop')}}
104+
type=raw,value=rc-{{branch}}-{{sha}},enable=${{startsWith(github.ref,'refs/heads/release/')}}
105+
# The following tag is only applied to regular branches except 'develop' and 'release/*' (i.e., not for tags or PRs)
106+
type=raw,value={{branch}}-{{sha}},enable=${{startsWith(github.ref,'refs/heads/') && !startsWith(github.ref,'refs/heads/develop') && !startsWith(github.ref,'refs/heads/release/')}}
77107
type=ref,event=pr
78-
type=raw,value=manual-{{branch}}-{{sha}},enable=${{github.event_name == 'workflow_dispatch'}}
79108
80109
# Build and push Docker image with Buildx (don't push on PR)
81110
# https://github.com/docker/build-push-action
82111
- name: Build and push Docker image
83112
id: build-and-push
84-
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
113+
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
85114
with:
86115
sbom: true
87116
provenance: mode=max
88117
context: ${{ env.BUILD_CONTEXT }}
89118
file: ${{ env.DOCKERFILE_PATH }}
119+
platforms: ${{ steps.platforms.outputs.platforms }}
90120
push: ${{ github.event_name != 'pull_request' }}
91121
tags: ${{ steps.meta.outputs.tags }}
92122
labels: ${{ steps.meta.outputs.labels }}
93123
cache-from: type=gha
94124
cache-to: type=gha,mode=max
95125

96-
97126
# Extract the pure application SBOM from the artifact stage, we want to handle it separately from the container SBOM
98127
# This automaticaly re-uses the previously generated stage from cache, so we get the exact sbom from previous build step
99128
- name: Export Application SBOM from artifact stage
100129
if: ${{ github.event_name != 'pull_request' }}
101-
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
130+
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
102131
with:
103132
context: ${{ env.BUILD_CONTEXT }}
104133
file: ${{ env.DOCKERFILE_PATH }}
105134
target: app-sbom-artifact
106135
push: false
107136
outputs: type=local,dest=sbom-output
108137

138+
# Extract the tag with the highest priority from the list for Trivy scanning
139+
- name: Get highest priority image tag
140+
if: ${{ github.event_name != 'pull_request' }}
141+
id: highest-priority-tag
142+
run: |
143+
# The first tag in the list is the one with the highest priority
144+
echo "value=$(echo '${{ steps.meta.outputs.tags }}' | head -n1)" >> $GITHUB_OUTPUT
145+
109146
# Generate container SBOM.
110147
- name: Run Trivy in GitHub SBOM mode to generate CycloneDX SBOM for container
111148
if: ${{ github.event_name != 'pull_request' }}
112-
uses: aquasecurity/trivy-action@b6643a29fecd7f34b3597bc6acb0a98b03d33ff8 # 0.33.1
149+
uses: aquasecurity/trivy-action@ed142fd0673e97e23eac54620cfb913e5ce36c25 # 0.36.0
150+
env:
151+
TRIVY_PLATFORM: linux/amd64
113152
with:
114153
scan-type: 'image'
115154
format: 'cyclonedx'
116-
output: 'sbom-output/sbom_container.cyclonedx.json'
117-
image-ref: ${{ steps.meta.outputs.tags }}
118-
skip-dirs: '/App' # Skip the /app directory as we handle the content of the application in a seperate SBOM for easier vulnerability management and because trivy misses important fields
155+
output: 'sbom-output/sbom_container_amd64.cyclonedx.json'
156+
image-ref: ${{ steps.highest-priority-tag.outputs.value }}
157+
skip-dirs: '/App' # Skip the /app directory as we handle the content of the application in a separate SBOM for easier vulnerability management and because trivy misses important fields
119158

159+
# Scan ARM64 image separately when a multi-arch build was produced
160+
- name: Run Trivy scan for ARM64 image
161+
if: ${{ github.event_name != 'pull_request' && steps.platforms.outputs.include_arm64 == 'true' }}
162+
uses: aquasecurity/trivy-action@ed142fd0673e97e23eac54620cfb913e5ce36c25 # 0.36.0
163+
env:
164+
TRIVY_PLATFORM: linux/arm64
165+
with:
166+
scan-type: 'image'
167+
format: 'cyclonedx'
168+
output: 'sbom-output/sbom_container_arm64.cyclonedx.json'
169+
image-ref: ${{ steps.highest-priority-tag.outputs.value }}
170+
skip-dirs: '/App'
171+
120172
- name: Upload trivy/container AND application SBOMs as a Github artifact
121173
if: ${{ github.event_name != 'pull_request' }}
122-
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
174+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
123175
with:
124176
name: sbom
125177
path: '${{ github.workspace }}/sbom-output/'

.github/workflows/dotnet.yml

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ jobs:
3737

3838
steps:
3939
- name: Checkout code
40-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
40+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
4141

4242
- name: Setup .NET
43-
uses: actions/setup-dotnet@2016bd2012dba4e32de620c46fe006a3ac9f0602 # v5.0.1
43+
uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0
4444
with:
4545
dotnet-version: "8.0.x"
4646

@@ -57,7 +57,7 @@ jobs:
5757
run: dotnet test ${{ env.MODULE_TEST_PROJECT }} --configuration Release --no-build --logger "trx;LogFileName=module_test_results.trx" --collect:"XPlat Code Coverage" --settings source/coverlet.runsettings
5858

5959
- name: Publish Test Results
60-
uses: dorny/test-reporter@fe45e9537387dac839af0d33ba56eed8e24189e8 # v2.3.0
60+
uses: dorny/test-reporter@a43b3a5f7366b97d083190328d2c652e1a8b6aa2 # v3.0.0
6161
id: test-results
6262
if: github.event.pull_request.head.repo.fork == false
6363
with:
@@ -128,14 +128,23 @@ jobs:
128128
129129
- name: Add PR Comment
130130
if: github.event.pull_request.head.repo.fork == false
131-
uses: marocchino/sticky-pull-request-comment@331f8f5b4215f0445d3c07b4967662a32a2d3e31 # v2.9.0
131+
uses: marocchino/sticky-pull-request-comment@0ea0beb66eb9baf113663a64ec522f60e49231c0 # v3.0.4
132132
with:
133133
recreate: true
134134
path: results.md
135135

136-
- name: Upload TRX as artifact (Fork PR fallback)
137-
if: github.event.pull_request.head.repo.fork == true
138-
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
136+
- name: Upload TRX as artifact
137+
if: always()
138+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
139139
with:
140-
name: test-results
140+
name: dotnet-test-results
141141
path: "**/*_test_results.trx"
142+
143+
- name: Upload Code Coverage as artifact
144+
if: always()
145+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
146+
with:
147+
name: dotnet-code-coverage
148+
149+
150+
path: "**/coverage.cobertura.xml"

0 commit comments

Comments
 (0)