Skip to content

Commit 0bc1844

Browse files
authored
Merge branch 'OpenIntegrationEngine:main' into feature/cme-92
2 parents 565a76c + 8c1111b commit 0bc1844

562 files changed

Lines changed: 8368 additions & 22908 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.

.dockerignore

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Include any files or directories that you don't want to be copied to your
2+
# container here (e.g., local build artifacts, temporary files, etc.).
3+
#
4+
# For more help, visit the .dockerignore file reference guide at
5+
# https://docs.docker.com/go/build-context-dockerignore/
6+
7+
**/.DS_Store
8+
**/.classpath
9+
**/.dockerignore
10+
**/.env
11+
**/.factorypath
12+
**/.git
13+
**/.gitignore
14+
**/.idea
15+
**/.project
16+
**/.sts4-cache
17+
**/.settings
18+
**/.toolstarget
19+
**/.vs
20+
**/.vscode
21+
**/.next
22+
**/.cache
23+
**/*.dbmdl
24+
**/*.jfm
25+
**/charts
26+
**/docker-compose*
27+
**/compose.y*ml
28+
**/Dockerfile*
29+
**/secrets.dev.yaml
30+
**/values.dev.yaml
31+
**/vendor
32+
LICENSE
33+
README.md
34+
**/*.class
35+
**/*.iml
36+
**/*.ipr
37+
**/*.iws
38+
**/*.log
39+
**/.apt_generated
40+
**/.gradle
41+
**/.gradletasknamecache
42+
**/.nb-gradle
43+
**/.springBeans
44+
**/build
45+
**/dist
46+
**/gradle-app.setting
47+
**/nbbuild
48+
**/nbdist
49+
**/nbproject/private
50+
**/target
51+
*.ctxt
52+
.mtj.tmp
53+
.mvn/timing.properties
54+
buildNumber.properties
55+
dependency-reduced-pom.xml
56+
hs_err_pid*
57+
pom.xml.next
58+
pom.xml.releaseBackup
59+
pom.xml.tag
60+
pom.xml.versionsBackup
61+
release.properties
62+
replay_pid*
63+
.github/

.github/workflows/build.yaml

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Build OpenIntegrationEngine
1+
name: Build Open Integration Engine
22

33
on:
44
push:
@@ -9,6 +9,16 @@ on:
99
- main
1010

1111
jobs:
12+
event_file:
13+
name: "Event File"
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Upload
17+
uses: actions/upload-artifact@v4
18+
with:
19+
name: Event File
20+
path: ${{ github.event_path }}
21+
1222
build:
1323
runs-on: ubuntu-latest
1424

@@ -18,7 +28,7 @@ jobs:
1828
- name: Set up JDK
1929
uses: actions/setup-java@v4
2030
with:
21-
java-version: '8'
31+
java-version: '17'
2232
java-package: 'jdk+fx'
2333
distribution: 'zulu'
2434

@@ -30,7 +40,7 @@ jobs:
3040
- name: Build OIE (unsigned)
3141
if: github.ref != 'refs/heads/main'
3242
working-directory: server
33-
run: ant -f mirth-build.xml -DdisableSigning=true
43+
run: ant -f mirth-build.xml -DdisableSigning=true -Dcoverage=true
3444

3545
- name: Package distribution
3646
run: tar czf openintegrationengine.tar.gz -C server/ setup --transform 's|^setup|openintegrationengine/|'
@@ -40,3 +50,19 @@ jobs:
4050
with:
4151
name: oie-build
4252
path: openintegrationengine.tar.gz
53+
54+
- name: Stage Test Results
55+
if: (!cancelled())
56+
run: |
57+
mkdir -p aggregate-test-results
58+
# Copy the directory structures
59+
cp -r --parents */build/test-results aggregate-test-results/
60+
61+
- name: Upload Test Results
62+
if: (!cancelled())
63+
uses: actions/upload-artifact@v4
64+
with:
65+
name: Test Results
66+
path: |
67+
aggregate-test-results/**/*.xml
68+
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Test Results
2+
3+
on:
4+
workflow_run:
5+
workflows: ["Build Open Integration Engine"]
6+
types:
7+
- completed
8+
9+
permissions: {}
10+
11+
jobs:
12+
test-results:
13+
name: Test Results
14+
runs-on: ubuntu-latest
15+
if: github.event.workflow_run.conclusion == 'success' || github.event.workflow_run.conclusion == 'failure'
16+
17+
permissions:
18+
checks: write
19+
# needed unless run with comment_mode: off
20+
pull-requests: write
21+
# required by download step to access artifacts API
22+
actions: read
23+
24+
steps:
25+
- name: Download and Extract Artifacts
26+
uses: actions/download-artifact@v4
27+
with:
28+
run-id: ${{ github.event.workflow_run.id }}
29+
github-token: ${{ secrets.GITHUB_TOKEN }}
30+
path: artifacts
31+
32+
- name: Publish Test Results
33+
uses: EnricoMi/publish-unit-test-result-action@v2
34+
with:
35+
commit: ${{ github.event.workflow_run.head_sha }}
36+
event_file: artifacts/Event File/event.json
37+
event_name: ${{ github.event.workflow_run.event }}
38+
files: "artifacts/Test Results/**/*.xml"

.gitignore

Lines changed: 5 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,13 @@ Desktop.ini
107107
donkey/donkey-src
108108
donkey/donkey-test
109109
.sonar
110+
# Unit Tests:
110111
**/junit-reports
112+
**/junit-html
111113
**/code-coverage-reports
114+
/exports/
115+
/MapUtilTestDB/
116+
/testconf/
112117

113118
# /client/
114119
/client/logs
@@ -401,38 +406,6 @@ donkey/donkey-test
401406

402407
# /generator/templates/
403408

404-
# /manager/
405-
/manager/.settings
406-
/manager/MANIFEST.MF
407-
/manager/bin
408-
/manager/build
409-
/manager/classes
410-
/manager/dist
411-
/manager/logs
412-
/manager/build.xml
413-
/manager/manifest.mf
414-
/manager/nbproject
415-
416-
# /manager/lib/
417-
/manager/lib/donkey-model.jar
418-
/manager/lib/mirth-client-core.jar
419-
/manager/lib/mirth-crypto.jar
420-
/manager/lib/not-yet-commons-ssl-0.3.11.jar
421-
422-
# /manager/src/
423-
424-
# /manager/src/com/
425-
426-
# /manager/src/com/mirth/
427-
428-
# /manager/src/com/mirth/connect/
429-
430-
# /manager/src/com/mirth/connect/manager/
431-
432-
# /manager/src/com/mirth/connect/manager/components/
433-
434-
# /manager/src/com/mirth/connect/manager/images/
435-
436409
# /server/
437410
/server/mirthdb
438411
/server/logs
@@ -677,60 +650,3 @@ donkey/donkey-test
677650
# /server/src/org/mozilla/javascript/
678651

679652
# /server/src/org/mozilla/javascript/xmlimpl/
680-
681-
# /simplesender/
682-
/simplesender/.settings
683-
/simplesender/bin
684-
685-
# /simplesender/lib/
686-
687-
# /simplesender/samples/
688-
689-
# /simplesender/src/
690-
691-
# /simplesender/src/com/
692-
693-
# /simplesender/src/com/mirth/
694-
695-
# /simplesender/src/com/mirth/connect/
696-
697-
# /simplesender/src/com/mirth/connect/simplereceiver/
698-
699-
# /simplesender/src/com/mirth/connect/simplesender/
700-
701-
# /webadmin/
702-
/webadmin/build
703-
/webadmin/dist
704-
705-
# /webadmin/WebContent/
706-
707-
# /webadmin/WebContent/WEB-INF/
708-
709-
# /webadmin/WebContent/WEB-INF/jsp/
710-
711-
# /webadmin/WebContent/WEB-INF/jsp/common/
712-
713-
# /webadmin/WebContent/WEB-INF/lib/
714-
715-
# /webadmin/WebContent/css/
716-
717-
# /webadmin/WebContent/images/
718-
719-
# /webadmin/WebContent/images/ludo-jquery-treetable/
720-
721-
# /webadmin/WebContent/js/
722-
723-
# /webadmin/src/
724-
725-
# /webadmin/src/com/
726-
727-
# /webadmin/src/com/mirth/
728-
729-
# /webadmin/src/com/mirth/connect/
730-
731-
# /webadmin/src/com/mirth/connect/webadmin/
732-
733-
# /webadmin/src/com/mirth/connect/webadmin/action/
734-
735-
# /webadmin/src/com/mirth/connect/webadmin/utils/
736-

.sdkmanrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Enable auto-env through the sdkman_auto_env config
22
# Add key=value pairs of SDKs to use below
3-
java=8.0.442.fx-zulu
3+
java=17.0.17.fx-zulu
44
ant=1.10.14

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Start by forking the [Open Integration Engine GitHub repository](https://github.
1616
### 3. Clone Your Fork
1717
Clone your fork locally to your development environment:
1818
```bash
19-
git clone git@github.com:OpenIntegrationEngine/engine.git
19+
git clone git@github.com:your-github/engine.git
2020
```
2121

2222
### 4. Make Changes

Dockerfile

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
# syntax=docker/dockerfile:1.19.0
2+
# SPDX-License-Identifier: MPL-2.0
3+
# SPDX-FileCopyrightText: 2025 Mitch Gaffigan
4+
5+
# Stages:
6+
# 1. Builder Stage: Compiles the application and resolves dependencies. Produces
7+
# JAR files that can be deployed.
8+
# 1a. Install dependencies
9+
# 1b. Build the application
10+
# 2. Runner Stage: Creates a lightweight image that runs the application using the JRE.
11+
12+
FROM ubuntu:noble-20251013 AS builder
13+
WORKDIR /app
14+
# sdkman requires bash
15+
SHELL ["/bin/bash", "-c"]
16+
ARG ANT_BUILD_ARGS="-DdisableSigning=true"
17+
18+
# Stage 1a: Install dependencies
19+
# Install necessary tools
20+
COPY .sdkmanrc .
21+
RUN apt-get update\
22+
&& apt-get install -y zip curl\
23+
&& curl -s "https://get.sdkman.io?ci=true" | bash \
24+
&& source "$HOME/.sdkman/bin/sdkman-init.sh" && sdk env install \
25+
&& rm -rf /var/lib/apt/lists/*
26+
27+
# Stage 1b: Build the application
28+
# Copy the entire source tree (excluding .dockerignore files), and build
29+
COPY . .
30+
WORKDIR /app/server
31+
RUN source "$HOME/.sdkman/bin/sdkman-init.sh" \
32+
&& ANT_OPTS="-Dfile.encoding=UTF8" ant -f mirth-build.xml ${ANT_BUILD_ARGS}
33+
34+
##########################################
35+
#
36+
# Ubuntu JDK Image
37+
#
38+
##########################################
39+
40+
FROM eclipse-temurin:21.0.9_10-jdk-noble AS jdk-run
41+
42+
RUN groupadd engine \
43+
&& usermod -l engine ubuntu \
44+
&& adduser engine engine \
45+
&& mkdir -p /opt/engine/appdata \
46+
&& chown -R engine:engine /opt/engine
47+
48+
WORKDIR /opt/engine
49+
COPY --chown=engine:engine --from=builder \
50+
--exclude=cli-lib \
51+
--exclude=mirth-cli-launcher.jar \
52+
--exclude=mccommand \
53+
--exclude=manager-lib \
54+
--exclude=mirth-manager-launcher.jar \
55+
--exclude=mcmanager \
56+
/app/server/setup ./
57+
58+
VOLUME /opt/engine/appdata
59+
VOLUME /opt/engine/custom-extensions
60+
EXPOSE 8443
61+
62+
USER engine
63+
ENTRYPOINT ["./configure-from-env"]
64+
CMD ["./oieserver"]
65+
66+
##########################################
67+
#
68+
# Alpine JRE Image
69+
#
70+
##########################################
71+
72+
FROM eclipse-temurin:21.0.9_10-jre-alpine AS jre-run
73+
74+
# Alpine does not include bash by default, so we install it
75+
RUN apk add --no-cache bash
76+
# useradd and groupadd are not available in Alpine
77+
RUN addgroup -S engine \
78+
&& adduser -S -g engine engine \
79+
&& mkdir -p /opt/engine/appdata \
80+
&& chown -R engine:engine /opt/engine
81+
82+
WORKDIR /opt/engine
83+
COPY --chown=engine:engine --from=builder \
84+
--exclude=cli-lib \
85+
--exclude=mirth-cli-launcher.jar \
86+
--exclude=mccommand \
87+
--exclude=manager-lib \
88+
--exclude=mirth-manager-launcher.jar \
89+
--exclude=mcmanager \
90+
/app/server/setup ./
91+
92+
VOLUME /opt/engine/appdata
93+
VOLUME /opt/engine/custom-extensions
94+
95+
EXPOSE 8443
96+
97+
USER engine
98+
ENTRYPOINT ["./configure-from-env"]
99+
CMD ["./oieserver"]

0 commit comments

Comments
 (0)