diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
new file mode 100644
index 0000000000..486e29f119
--- /dev/null
+++ b/.github/workflows/build.yaml
@@ -0,0 +1,42 @@
+name: Build OpenIntegrationEngine
+
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+ branches:
+ - main
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Set up JDK
+ uses: actions/setup-java@v4
+ with:
+ java-version: '8'
+ java-package: 'jdk+fx'
+ distribution: 'zulu'
+
+ - name: Build OIE (signed)
+ if: github.ref == 'refs/heads/main'
+ working-directory: server
+ run: ant -f mirth-build.xml
+
+ - name: Build OIE (unsigned)
+ if: github.ref != 'refs/heads/main'
+ working-directory: server
+ run: ant -f mirth-build.xml -DdisableSigning=true
+
+ - name: Package distribution
+ run: tar czf openintegrationengine.tar.gz -C server/ setup --transform 's|^setup|openintegrationengine/|'
+
+ - name: Create artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: oie-build
+ path: openintegrationengine.tar.gz
diff --git a/server/build.xml b/server/build.xml
index 5ab74227e4..839952a185 100644
--- a/server/build.xml
+++ b/server/build.xml
@@ -1062,23 +1062,80 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+