From 1650ad38269fe2ce0024bb864c5ff2826cc035b4 Mon Sep 17 00:00:00 2001 From: ricklentz Date: Thu, 29 Jan 2026 15:41:58 -0500 Subject: [PATCH 1/2] Add GitHub Actions CI/CD and remove nbbrowse dependency - Add containerized build/test workflow (eclipse-temurin:17-jdk) - Add release publish workflow for jar distribution - Remove nbbrowse calls from build.xml for headless builds - All 21 tests pass in container, all 4 jars build successfully --- .github/workflows/build.yml | 53 +++++++++++++++++++++++++++++++++ .github/workflows/publish.yml | 55 +++++++++++++++++++++++++++++++++++ build.xml | 18 ++++-------- 3 files changed, 114 insertions(+), 12 deletions(-) create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000000..3624e61fa2 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,53 @@ +name: Build and Test + +on: + push: + branches: [master, main] + pull_request: + branches: [master, main] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + container: + image: eclipse-temurin:17-jdk + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install Ant + run: | + apt-get update + apt-get install -y ant + + - name: Show versions + run: | + java -version + ant -version + + - name: Build and test + run: ant all + + - name: Upload jars + uses: actions/upload-artifact@v4 + with: + name: opendis7-jars + path: dist/*.jar + retention-days: 30 + + - name: Upload javadoc + uses: actions/upload-artifact@v4 + with: + name: opendis7-javadoc + path: dist/javadoc/ + retention-days: 30 + + - name: Upload test results + uses: actions/upload-artifact@v4 + if: always() + with: + name: test-results + path: build/test/results/ + retention-days: 14 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000000..1f91e32a80 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,55 @@ +name: Publish Release + +on: + release: + types: [published] + workflow_dispatch: + +jobs: + build-and-release: + runs-on: ubuntu-latest + container: + image: eclipse-temurin:17-jdk + + permissions: + contents: write + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install Ant and tools + run: | + apt-get update + apt-get install -y ant zip + + - name: Build + run: ant all + + - name: Create release bundle + run: | + mkdir -p release + cp dist/opendis7-*.jar release/ + cp dist/license.txt release/ + cp dist/license.html release/ + cd release && zip -r ../opendis7-release.zip . + + - name: Upload release assets + if: github.event_name == 'release' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + apt-get install -y gh + for jar in dist/opendis7-*.jar; do + gh release upload "${{ github.event.release.tag_name }}" "$jar" --clobber + done + gh release upload "${{ github.event.release.tag_name }}" opendis7-release.zip --clobber + + - name: Upload artifacts + if: github.event_name == 'workflow_dispatch' + uses: actions/upload-artifact@v4 + with: + name: opendis7-release + path: | + dist/opendis7-*.jar + opendis7-release.zip diff --git a/build.xml b/build.xml index 2f2b0c521b..0ee064dce8 100644 --- a/build.xml +++ b/build.xml @@ -179,22 +179,16 @@ POSSIBILITY OF SUCH DAMAGE. - + - - - - + + - - - - - - - + + + From 370694fd4e183e1e973d1c5cbb8737674da8a28a Mon Sep 17 00:00:00 2001 From: ricklentz Date: Mon, 2 Feb 2026 12:58:47 -0500 Subject: [PATCH 2/2] Comment out nbbrowse calls instead of removing them Keep the original nbbrowse targets intact but commented out so they remain visible for NetBeans users. They are disabled for headless/CI compatibility but can be re-enabled by uncommenting. --- build.xml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/build.xml b/build.xml index 0ee064dce8..a10b194390 100644 --- a/build.xml +++ b/build.xml @@ -179,16 +179,22 @@ POSSIBILITY OF SUCH DAMAGE. - + + + - + + + - - + + + +