From 756b5997d580dfa67c067832d8207bb9bed47f76 Mon Sep 17 00:00:00 2001 From: Oluwayhemisi Date: Mon, 10 Aug 2026 14:18:55 +0100 Subject: [PATCH 1/4] Implement CI/CD Pipeline --- .github/workflows/build.yml | 29 ++++++++++++++++++++++++ .github/workflows/publish.yml | 42 +++++++++++++++++++++++++++++++++++ README.md | 2 +- pom.xml | 36 +++++++++++++++++------------- 4 files changed, 92 insertions(+), 17 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 0000000..6b5fad8 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,29 @@ +name: Build and Test + +on: + push: + branches: + - main + + pull_request: + branches: + - main + +jobs: + build: + name: Build and Test + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Java 11 + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: '11' + cache: maven + + - name: Build and test + run: mvn --batch-mode clean verify \ No newline at end of file diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..bf7ed69 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,42 @@ +name: Publish to Maven Central + +on: + release: + types: [published] + +jobs: + publish: + runs-on: ubuntu-latest + + permissions: + contents: read + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Java + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: '11' + cache: maven + + server-id: central + server-username: CENTRAL_USERNAME + server-password: CENTRAL_PASSWORD + + - name: Import GPG key + uses: crazy-max/ghaction-import-gpg@v6 + with: + gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} + passphrase: ${{ secrets.GPG_PASSPHRASE }} + + - name: Publish + run: mvn --batch-mode clean deploy -DskipTests + env: + CENTRAL_USERNAME: ${{ secrets.CENTRAL_USERNAME }} + CENTRAL_PASSWORD: ${{ secrets.CENTRAL_PASSWORD }} + GPG_KEY_NAME: ${{ secrets.GPG_KEY_NAME }} + GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} + diff --git a/README.md b/README.md index 00d8816..ab30f47 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Add the following dependency to your `pom.xml` if using Maven: com.monnify monnify-java-sdk - 1.1.0 + 1.2.0 ``` diff --git a/pom.xml b/pom.xml index 5b3593d..33616ae 100644 --- a/pom.xml +++ b/pom.xml @@ -101,22 +101,6 @@ - - - org.apache.maven.plugins - maven-gpg-plugin - 3.1.0 - - - sign-artifacts - verify - - sign - - - - - org.sonatype.central central-publishing-maven-plugin @@ -175,6 +159,26 @@ ${maven.compiler.target} + + org.apache.maven.plugins + maven-gpg-plugin + 3.1.0 + + + ${gpg.keyname} + ${gpg.passphrase} + + + + + sign-artifacts + verify + + sign + + + + From ecc62ef55e290c6ab7b59595d0057291f7606e07 Mon Sep 17 00:00:00 2001 From: Oluwayhemisi Date: Mon, 10 Aug 2026 14:29:45 +0100 Subject: [PATCH 2/4] Implement CI/CD Pipeline --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ab30f47..00d8816 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Add the following dependency to your `pom.xml` if using Maven: com.monnify monnify-java-sdk - 1.2.0 + 1.1.0 ``` From 029574768cec0df3ce4d9755436a04ed9bf43a88 Mon Sep 17 00:00:00 2001 From: Oluwayhemisi Date: Tue, 11 Aug 2026 20:05:03 +0100 Subject: [PATCH 3/4] Implement CI/CD Pipeline --- .github/workflows/build.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6b5fad8..5385fb5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,11 +3,12 @@ name: Build and Test on: push: branches: - - main + - 'main' pull_request: branches: - - main + - 'main' + - 'feature/**' jobs: build: From 2f6ec47866bae39b1fd08d02d0ad3cfda1a5b042 Mon Sep 17 00:00:00 2001 From: Oluwayhemisi Date: Tue, 11 Aug 2026 20:25:09 +0100 Subject: [PATCH 4/4] Added environment variables --- .github/workflows/build.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5385fb5..de5a7dd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,6 +14,10 @@ jobs: build: name: Build and Test runs-on: ubuntu-latest + env: + apiKey: ${{ secrets.API_KEY }} + secretKey: ${{secrets.SECRET_KEY}} + contractCode: ${{secrets.CONTRACT_CODE}} steps: - name: Checkout repository