From 8d157fd4b14c375347a4a92ed652f0270caa9c42 Mon Sep 17 00:00:00 2001 From: Andrea Wait Date: Tue, 9 Jun 2026 11:22:40 -0600 Subject: [PATCH 1/5] Update workflows to include matrix testing --- .github/workflows/publish.yml | 19 +++++++++++++++++++ .github/workflows/tests.yml | 28 ++++++++++++++++++++++++++++ CLAUDE.md | 2 +- Makefile | 2 +- README.md | 2 +- pom.xml | 10 +++++----- 6 files changed, 55 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/tests.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 082e1ed..96cb9be 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -7,6 +7,24 @@ on: - '!**-dev**' jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + java-version: [11, 17, 21, 24] + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup Java ${{ matrix.java-version }} + uses: actions/setup-java@v3 + with: + java-version: ${{ matrix.java-version }} + distribution: 'temurin' + + - name: Run tests + run: make test + release: runs-on: ubuntu-latest needs: publish @@ -30,6 +48,7 @@ jobs: publish: runs-on: ubuntu-latest + needs: test steps: - name: Checkout code uses: actions/checkout@v3 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..4867592 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,28 @@ +name: Java Tests + +on: + push: + branches: + - master + pull_request: + branches: + - '**' + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + java-version: [17, 21, 24] + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Java ${{ matrix.java-version }} + uses: actions/setup-java@v4 + with: + java-version: ${{ matrix.java-version }} + distribution: 'temurin' + + - name: Run tests + run: make test diff --git a/CLAUDE.md b/CLAUDE.md index 0c890c0..debdcdc 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -24,7 +24,7 @@ mvn test -Dtest=ClientTest#testMethodName ## Architecture -This is the official SmartyStreets Java SDK for address validation and geocoding APIs. Requires Java 11+. +This is the official SmartyStreets Java SDK for address validation and geocoding APIs. Requires Java 17+. ### Dependencies diff --git a/Makefile b/Makefile index c9f99f8..8105653 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ test: integration-test: mvn integration-test -compile: clean test +compile: clean mvn compile publish: compile diff --git a/README.md b/README.md index d1f5004..8daf284 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ The official client libraries for accessing SmartyStreets APIs from Java (and JRE-based languages) -Compatible with Java 11 and later. Earlier Java versions supported by SDK version 3.10.7 and earlier. +Compatible with Java 17 and later. Earlier Java versions supported by SDK version 3.10.7 and earlier. You may have noticed this page is curiously sparse. Don't panic, there's [documentation](https://smartystreets.com/docs/sdk/java) and [examples](src/main/java/examples). diff --git a/pom.xml b/pom.xml index 888985a..2968835 100644 --- a/pom.xml +++ b/pom.xml @@ -36,8 +36,8 @@ - 1.8 - 1.8 + 17 + 17 UTF-8 @@ -95,7 +95,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 8 + 17 3.4.0 @@ -158,8 +158,8 @@ maven-compiler-plugin 3.10.1 - 11 - 11 + 17 + 17 From ac02cc91c6232e526db0d96e6f8931fbc888b375 Mon Sep 17 00:00:00 2001 From: Andrea Wait Date: Thu, 11 Jun 2026 10:08:10 -0600 Subject: [PATCH 2/5] Refactored workflows --- .github/workflows/ci.yml | 13 +++++ .github/workflows/publish.yml | 65 +++++++++-------------- .github/workflows/{tests.yml => test.yml} | 9 +--- CLAUDE.md | 2 +- 4 files changed, 41 insertions(+), 48 deletions(-) create mode 100644 .github/workflows/ci.yml rename .github/workflows/{tests.yml => test.yml} (81%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..d96c60e --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,13 @@ +name: Java Tests + +on: + push: + branches: + - master + pull_request: + branches: + - '**' + +jobs: + test: + uses: ./.github/workflows/test.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 96cb9be..22a0859 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -8,55 +8,19 @@ on: jobs: test: - runs-on: ubuntu-latest - strategy: - matrix: - java-version: [11, 17, 21, 24] - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Setup Java ${{ matrix.java-version }} - uses: actions/setup-java@v3 - with: - java-version: ${{ matrix.java-version }} - distribution: 'temurin' - - - name: Run tests - run: make test - - release: - runs-on: ubuntu-latest - needs: publish - permissions: - contents: write - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Set Version - id: set_version - run: | - echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV - shell: bash - - - name: Create Release - run: | - gh release create ${{ env.VERSION }} --title "Release ${{ env.VERSION }}" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + uses: ./.github/workflows/test.yml publish: runs-on: ubuntu-latest needs: test steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: - java-version: '19' + java-version: '17' distribution: 'adopt' server-id: central server-username: OSSRH_USERNAME @@ -73,3 +37,24 @@ jobs: GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSPHRASE }} OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }} OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + + release: + runs-on: ubuntu-latest + needs: publish + permissions: + contents: write + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set Version + id: set_version + run: | + echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV + shell: bash + + - name: Create Release + run: | + gh release create ${{ env.VERSION }} --title "Release ${{ env.VERSION }}" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/tests.yml b/.github/workflows/test.yml similarity index 81% rename from .github/workflows/tests.yml rename to .github/workflows/test.yml index 4867592..3eb484f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/test.yml @@ -1,12 +1,7 @@ -name: Java Tests +name: Run Tests on: - push: - branches: - - master - pull_request: - branches: - - '**' + workflow_call: jobs: test: diff --git a/CLAUDE.md b/CLAUDE.md index debdcdc..683f270 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -7,7 +7,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co ```bash make test # Run unit tests (mvn test) make integration-test # Run integration tests (requires SMARTY_AUTH_ID and SMARTY_AUTH_TOKEN env vars) -make compile # Clean, test, then compile +make compile # Clean, then compile make clean # Clean and reset version files make publish # Full publish workflow with version updates ``` From af4a9ebad3ddc1c069ab5dc140880df2ff3c7724 Mon Sep 17 00:00:00 2001 From: Andrea Wait Date: Mon, 15 Jun 2026 15:32:57 -0600 Subject: [PATCH 3/5] tests run on any push --- .github/workflows/ci.yml | 5 ----- .github/workflows/publish.yml | 3 +-- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d96c60e..e24ff4b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,11 +2,6 @@ name: Java Tests on: push: - branches: - - master - pull_request: - branches: - - '**' jobs: test: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 22a0859..5868e74 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -3,8 +3,7 @@ name: Publish Java on: push: tags: - - '*' - - '!**-dev**' + - '**' jobs: test: From bffe82b27808e54fc05aade79ae756db26a98336 Mon Sep 17 00:00:00 2001 From: Andrea Wait Date: Tue, 16 Jun 2026 09:13:38 -0600 Subject: [PATCH 4/5] updated actions versions --- .github/workflows/ci.yml | 2 ++ .github/workflows/publish.yml | 8 ++++---- .github/workflows/test.yml | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e24ff4b..6f3c96a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,6 +2,8 @@ name: Java Tests on: push: + branches: + - '**' jobs: test: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 5868e74..c1de1b3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -14,13 +14,13 @@ jobs: needs: test steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Setup Java - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: '17' - distribution: 'adopt' + distribution: 'temurin' server-id: central server-username: OSSRH_USERNAME server-password: OSSRH_PASSWORD @@ -44,7 +44,7 @@ jobs: contents: write steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set Version id: set_version diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3eb484f..7459ebf 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,10 +11,10 @@ jobs: java-version: [17, 21, 24] steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Setup Java ${{ matrix.java-version }} - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: ${{ matrix.java-version }} distribution: 'temurin' From d7eff2b85818f7fbd167f0227d2abd68e512e700 Mon Sep 17 00:00:00 2001 From: Andy Johnson Date: Wed, 17 Jun 2026 11:21:50 -0600 Subject: [PATCH 5/5] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8daf284..b2cb898 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ The official client libraries for accessing SmartyStreets APIs from Java (and JRE-based languages) -Compatible with Java 17 and later. Earlier Java versions supported by SDK version 3.10.7 and earlier. +Compatible with Java 17 and later. You may have noticed this page is curiously sparse. Don't panic, there's [documentation](https://smartystreets.com/docs/sdk/java) and [examples](src/main/java/examples).