Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release/0.5.0 #514

Merged
merged 95 commits into from
Jun 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
664452a
Update nlog.config to include scope props in console logs
mocsharp Sep 8, 2023
1018ca0
Publish API project to nuget (#473)
mocsharp Sep 13, 2023
3583122
Update package-cleanup.yml
mocsharp Sep 13, 2023
ddfec9e
Update package-cleanup.yml
mocsharp Sep 13, 2023
d27cec3
Update package-cleanup.yml
mocsharp Sep 13, 2023
047406b
Main (#477)
mocsharp Sep 18, 2023
8ceee8a
Include project references in the nuget package (#478)
mocsharp Sep 19, 2023
fefb2ea
DicomAssociation Controller (#480)
lillie-dae Sep 22, 2023
cf7f112
Update package-cleanup.yml
mocsharp Sep 22, 2023
bbaad93
change around config and fixs for plugins
neildsouth Oct 5, 2023
df65034
merge in
neildsouth Oct 5, 2023
0b4530e
fix silly mistake
neildsouth Oct 5, 2023
ce3e322
changes in responce to comments
neildsouth Oct 5, 2023
ebb0a51
remove aide namespace from nlog
neildsouth Oct 5, 2023
4985932
Merge pull request #479 from Project-MONAI/nds-changeplugin-config
neildsouth Oct 5, 2023
90c1a40
attempt to fix export deadlocks
neildsouth Oct 6, 2023
d77d514
Merge pull request #486 from Project-MONAI/AI225-fixdeadlocks
neildsouth Oct 9, 2023
ea43489
adding artifactReceieved
neildsouth Oct 12, 2023
727c8f4
adding integration tests
neildsouth Oct 12, 2023
be5ff1d
fixing tests
neildsouth Oct 13, 2023
510da6d
upped messaging version
neildsouth Oct 13, 2023
ca4fec8
fixup tests
neildsouth Oct 13, 2023
1e09fd3
fix another test
neildsouth Oct 13, 2023
4a36690
more fixing tests
neildsouth Oct 13, 2023
62f8cde
fixing test to use proper que
neildsouth Oct 16, 2023
a959781
testing config
neildsouth Oct 19, 2023
1d2aff5
change to use existing payloadId for external apps
neildsouth Oct 23, 2023
b472dfa
removed direct ref to messaging
neildsouth Oct 23, 2023
92ebf7e
adding new message lib
neildsouth Oct 24, 2023
ffc26e2
more logging
neildsouth Oct 24, 2023
523b057
fix false logging message
neildsouth Oct 24, 2023
de9da14
adding basic auth to swagger
neildsouth Nov 2, 2023
f66320d
fixing minio version for tests
neildsouth Nov 3, 2023
e6a1400
Merge pull request #491 from Project-MONAI/nds-swagger-auth
neildsouth Nov 3, 2023
d25bbc1
fix for minio breaking integration tests
neildsouth Nov 7, 2023
206d333
more logging
neildsouth Nov 15, 2023
2bdc712
fixup solution
neildsouth Nov 15, 2023
076cc86
Merge pull request #487 from Project-MONAI/AI-230
neildsouth Nov 20, 2023
a7df6ff
Ai 292 hl 7 configuration (#495)
lillie-dae Nov 20, 2023
1e4b5a9
new queue and new scp listenern
neildsouth Nov 20, 2023
b7c00c5
merge in
neildsouth Nov 20, 2023
8d5fc9b
bad merge
neildsouth Nov 20, 2023
fc5e3f2
Merge pull request #494 from Project-MONAI/AI-300
neildsouth Nov 23, 2023
ad57333
adding hl7 linking to workflowInstanceId etc
neildsouth Nov 23, 2023
70bd721
fix package locks
neildsouth Nov 23, 2023
0347293
fixup tests
neildsouth Nov 23, 2023
f03fd89
adding headers
neildsouth Nov 23, 2023
221e1ce
added migration
neildsouth Nov 23, 2023
20d97c7
fix licencing
neildsouth Nov 23, 2023
1d57f95
fix up packages
neildsouth Nov 23, 2023
810eb66
more dependancy fixups
neildsouth Nov 23, 2023
85a7686
Merge pull request #499 from Project-MONAI/AI-186
neildsouth Nov 23, 2023
ff5797b
Add HL7 destination configuration
migle-markeviciute Nov 23, 2023
223793a
Add HL7 destination configuration
migle-markeviciute Nov 23, 2023
13eaf73
Fix build issue
migle-markeviciute Nov 24, 2023
2ef7c4d
Fix issues
migle-markeviciute Nov 24, 2023
f28ff76
Add ef migration
migle-markeviciute Nov 24, 2023
f9a30b7
Update ef migration
migle-markeviciute Nov 27, 2023
c9c16c2
Merge pull request #500 from Project-MONAI/AI-184
neildsouth Nov 27, 2023
84c807b
add HL7 eport
neildsouth Dec 4, 2023
f46262e
Merge pull request #501 from Project-MONAI/AI-183
neildsouth Dec 4, 2023
af4c416
adding HL7 plugin
neildsouth Dec 8, 2023
f5f8862
merge in
neildsouth Dec 8, 2023
70561ef
fix up merge
neildsouth Dec 8, 2023
c1cbbaf
fix for tests
neildsouth Dec 8, 2023
be40523
fix test
neildsouth Dec 8, 2023
634a484
disposing of linkedcancellationToken
neildsouth Dec 11, 2023
56c76cb
some fixups
neildsouth Dec 11, 2023
bf0a592
more sonar cloud sugestions
neildsouth Dec 11, 2023
6c34ffe
more sonar cloud sugestions
neildsouth Dec 11, 2023
3f3a9f4
Merge pull request #502 from Project-MONAI/AI-357
neildsouth Dec 11, 2023
11721d4
Upgrade to .NET 8.0 (#506)
mocsharp Jan 9, 2024
18fbfb7
adding HL7 message plugin support
neildsouth Jan 15, 2024
3e109c6
re-adding validation for tests
neildsouth Jan 15, 2024
4032716
another test fix
neildsouth Jan 15, 2024
a7da147
dockerfile changes to fix MongoEncryption:- libdl missing
neildsouth Jan 17, 2024
2d19bc6
fixup for missing licence
neildsouth Jan 17, 2024
79c3e53
Merge pull request #509 from Project-MONAI/mongoencryptionFix
neildsouth Jan 17, 2024
4a7a86f
merge in develop
neildsouth Jan 18, 2024
5dabf87
minor refactoring
neildsouth Jan 18, 2024
3b6fb05
merge in develop
neildsouth Jan 18, 2024
8236618
revert appsettings
neildsouth Jan 18, 2024
2e19fec
clean up roslyn warnings
neildsouth Jan 18, 2024
eb841e4
Merge pull request #505 from Project-MONAI/AI-357
neildsouth Jan 19, 2024
ff173a0
improve consistancy
neildsouth Jan 19, 2024
959816b
merge in develop
neildsouth Jan 19, 2024
79eeb1b
Merge pull request #508 from Project-MONAI/AI-382
neildsouth Jan 19, 2024
a8a0be6
update messaging packages and package scanning
neildsouth Mar 13, 2024
b146513
Merge pull request #510 from Project-MONAI/nds-upMessaging
neildsouth Mar 28, 2024
e04840b
fix for where hl7Config plugin is blank
neildsouth May 17, 2024
56f069a
update libc6-dev dependancy
neildsouth May 17, 2024
15ffda8
fix up licence and dockerfile
neildsouth May 17, 2024
9bc789b
Update dependencies (#513)
mocsharp Jun 12, 2024
8cde41c
Merge remote-tracking branch 'origin/main' into release/0.5.0
mocsharp Jun 12, 2024
7760791
Extend delay to prevent failure
mocsharp Jun 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 17 additions & 0 deletions .dockleignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2023 MONAI Consortium
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Checked and no actual secrets found in dockerfile, just some environment variables for compatibility
CIS-DI-0010

87 changes: 50 additions & 37 deletions .github/workflows/ci.yml
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,13 @@ jobs:
nuGetVersionV2: ${{ steps.gitversion.outputs.nuGetVersionV2 }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: actions/setup-dotnet@v3
with:
dotnet-version: "6.0.x"
dotnet-version: "8.0.x"

- name: Install GitVersion
run: dotnet tool install --global GitVersion.Tool
Expand Down Expand Up @@ -82,16 +82,16 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: actions/setup-dotnet@v3
with:
dotnet-version: "6.0.x"
dotnet-version: "8.0.x"

- name: Enable NuGet cache
uses: actions/cache@v3.3.1
uses: actions/cache@v3.3.2
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
Expand Down Expand Up @@ -123,25 +123,25 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: actions/setup-dotnet@v3
with:
dotnet-version: "6.0.x"
dotnet-version: "8.0.x"

- name: Enable Homebrew
run: echo "/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin" >> $GITHUB_PATH

- name: Install License Finder tool with Homebrew
uses: tecoli-com/actions-use-homebrew-tools@v1.1
uses: tecoli-com/actions-use-homebrew-tools@v1.2
with:
tools: licensefinder
cache: yes

- name: Enable NuGet cache
uses: actions/cache@v3.3.1
uses: actions/cache@v3.3.2
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
Expand Down Expand Up @@ -183,25 +183,25 @@ jobs:
ports:
- 27017:27017
steps:
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: zulu
java-version: '11'
java-version: '17'

- uses: actions/setup-dotnet@v3
with:
dotnet-version: "6.0.x"
dotnet-version: "8.0.x"

- name: Enable NuGet cache
uses: actions/cache@v3.3.1
uses: actions/cache@v3.3.2
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
restore-keys: |
${{ runner.os }}-nuget

- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0

Expand Down Expand Up @@ -231,7 +231,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: find ~+ -type f -name "*.Test.csproj" | xargs -L1 dotnet test -c ${{ env.BUILD_CONFIG }} -v=minimal -r "${{ env.TEST_RESULTS }}" --collect:"XPlat Code Coverage" --settings coverlet.runsettings
run: find ~+ -type f -name "*.Test.csproj" | xargs -L1 dotnet test -c ${{ env.BUILD_CONFIG }} -v=minimal --results-directory "${{ env.TEST_RESULTS }}" --collect:"XPlat Code Coverage" --settings coverlet.runsettings
working-directory: ./src

- name: End SonarScanner
Expand All @@ -244,7 +244,7 @@ jobs:
- uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
directory: "src/${{ env.TEST_RESULTS }}"
directory: "src/"
files: "**/coverage.opencover.xml"
flags: unittests
name: codecov-umbrella
Expand All @@ -264,16 +264,16 @@ jobs:
DOTNET_TEST: ${{ matrix.database }}
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: actions/setup-dotnet@v3
with:
dotnet-version: "6.0.x"
dotnet-version: "8.0.x"

- name: Enable NuGet cache
uses: actions/cache@v3.3.1
uses: actions/cache@v3.3.2
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
Expand Down Expand Up @@ -315,7 +315,7 @@ jobs:
MAJORMINORPATCH: ${{ needs.calc-version.outputs.majorMinorPatch }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
os: [ubuntu-latest]
fail-fast: true

outputs:
Expand All @@ -329,16 +329,16 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: actions/setup-dotnet@v3
with:
dotnet-version: "6.0.x"
dotnet-version: "8.0.x"

- name: Enable NuGet cache
uses: actions/cache@v3.3.1
uses: actions/cache@v3.3.2
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
Expand Down Expand Up @@ -394,7 +394,7 @@ jobs:
if: ${{ (matrix.os == 'ubuntu-latest') }}
run: |
mkdir ~/nupkg
dotnet pack --no-build -c ${{ env.BUILD_CONFIG }} -o ~/nupkg -p:PackageVersion=${{ env.NUGETVER }}
dotnet pack -c ${{ env.BUILD_CONFIG }} -o ~/nupkg -p:PackageVersion=${{ env.NUGETVER }}
ls -lR ~/nupkg
working-directory: ./src/Api

Expand Down Expand Up @@ -433,13 +433,26 @@ jobs:
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

- name: Scan image with Azure Container Scan
env:
TRIVY_TIMEOUT_SEC: 360s
uses: Azure/container-scan@v0.1
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
if: ${{ (matrix.os == 'ubuntu-latest') }}
with:
image-name: ${{ fromJSON(steps.meta.outputs.json).tags[0] }}
image-ref: ${{ fromJSON(steps.meta.outputs.json).tags[0] }}
format: 'table'
exit-code: '1'
ignore-unfixed: true
vuln-type: 'os,library'
severity: 'CRITICAL'

- name: Run dockle scan
id: dockle-scan
uses: goodwithtech/dockle-action@main
if: ${{ (matrix.os == 'ubuntu-latest') }}
with:
image: ${{ fromJSON(steps.meta.outputs.json).tags[0] }}
format: 'list'
exit-code: '1'
exit-level: 'warn'

- name: Anchore container scan
id: anchore-scan
Expand All @@ -450,7 +463,7 @@ jobs:
fail-build: true
severity-cutoff: critical

- name: Upload Anchore scan SARIF report
- name: Upload scan SARIF report
uses: github/codeql-action/upload-sarif@v2
if: ${{ (matrix.os == 'ubuntu-latest') }}
with:
Expand All @@ -468,24 +481,24 @@ jobs:
env:
SEMVER: ${{ needs.calc-version.outputs.semVer }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: actions/setup-dotnet@v3
with:
dotnet-version: "6.0.x"
dotnet-version: "8.0.x"

- name: Enable NuGet cache
uses: actions/cache@v3.3.1
uses: actions/cache@v3.3.2
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
restore-keys: |
${{ runner.os }}-nuget

- name: Setup DocFX
uses: crazy-max/ghaction-chocolatey@v2
uses: crazy-max/ghaction-chocolatey@v3
with:
args: install docfx

Expand Down Expand Up @@ -539,7 +552,7 @@ jobs:
env:
NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
with:
dotnet-version: "6.0.x"
dotnet-version: "8.0.x"
source-url: https://nuget.pkg.github.com/Project-MONAI/index.json

- name: Publish to GitHub
Expand All @@ -555,7 +568,7 @@ jobs:
MAJORMINORPATCH: ${{ needs.calc-version.outputs.majorMinorPatch }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0

Expand All @@ -572,7 +585,7 @@ jobs:
env:
NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
with:
dotnet-version: "6.0.x"
dotnet-version: "8.0.x"
source-url: https://nuget.pkg.github.com/Project-MONAI/index.json

- name: Publish to GitHub
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/package-cleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
name: Cleanup Pre-release Packages

on:
schedule:
- cron: "0 0 * * *"
# schedule:
# - cron: "0 0 * * *"
workflow_dispatch:

jobs:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -560,3 +560,4 @@ FodyWeavers.xsd
# Additional files built by Visual Studio

# End of https://www.toptal.com/developers/gitignore/api/aspnetcore,dotnetcore,visualstudio,visualstudiocode
/src/InformaticsGateway/Properties/launchSettings.json
1 change: 1 addition & 0 deletions .licenserc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ header:
- 'tests/Integration.Test/*.dev'
- 'tests/Integration.Test/data/**'
- 'guidelines/diagrams/*.txt'
- 'src/DicomWebClient/Third-party/**'

comment: on-failure

Expand Down
17 changes: 12 additions & 5 deletions Dockerfile
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

FROM mcr.microsoft.com/dotnet/sdk:6.0-jammy as build
FROM mcr.microsoft.com/dotnet/sdk:8.0-jammy as build

# Install the tools
RUN dotnet tool install --tool-path /tools dotnet-trace
Expand All @@ -26,25 +26,30 @@ RUN echo "Building MONAI Deploy Informatics Gateway..."
RUN dotnet publish -c Release -o out --nologo src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj

# Build runtime image
FROM mcr.microsoft.com/dotnet/aspnet:6.0-jammy
FROM mcr.microsoft.com/dotnet/aspnet:8.0-jammy
RUN adduser --system --group --no-create-home appuser

# Enable elastic client compatibility mode
ENV ELASTIC_CLIENT_APIVERSIONING=true
ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get clean \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
curl \
&& rm -rf /var/lib/apt/lists
&& apt-get install -y --no-install-recommends curl \
&& apt-get install -y libc6-dev=2.35-0ubuntu3.8 \
&& rm -rf /var/lib/apt/lists # this is a workaround for Mongo encryption library

WORKDIR /opt/monai/ig

RUN chown -R appuser:appuser /opt/monai/ig

COPY --from=build /app/out .
COPY --from=build /tools /opt/dotnetcore-tools
COPY LICENSE ./
COPY docs/compliance/third-party-licenses.md ./

RUN ln -s /usr/lib/x86_64-linux-gnu/libdl.so.2 /opt/monai/ig/libdl.so # part 2 of workaround for Mongo encryption library

EXPOSE 104
EXPOSE 2575
EXPOSE 5000
Expand All @@ -54,4 +59,6 @@ HEALTHCHECK --interval=10s --retries=10 CMD curl --fail http://localhost:5000/he
RUN ls -lR /opt/monai/ig
ENV PATH="/opt/dotnetcore-tools:${PATH}"

USER appuser

ENTRYPOINT ["/opt/monai/ig/Monai.Deploy.InformaticsGateway"]
Loading
Loading