Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
716af80
Fix javadoc build issues (#78)
yuzawa-san Jun 16, 2025
2173663
modified build script to delete gpg key after import & removed javado…
aitsxhxl Jun 16, 2025
351c5e0
Update workflow file to commit the next snapshot version in message
aitsxhxl Jun 18, 2025
2f1c52e
Fail if gpp string doesnt start with DB (#76)
chuff Jun 25, 2025
7459ecf
3.2.4
iabmayank Jun 25, 2025
17d738b
3.2.5-SNAPSHOT
iabmayank Jun 25, 2025
b18fdce
usnat backwards compatibility for compressed padding (#82)
chuff Feb 10, 2026
8f46511
Minnesota (#85)
chuff Feb 10, 2026
394f422
changes
xdevanshux Feb 13, 2026
e86498d
name added
xdevanshux Feb 13, 2026
7d56a34
3.2.5
iabmayank Feb 13, 2026
ab49f07
3.2.6-SNAPSHOT
iabmayank Feb 13, 2026
a71f98f
Create 4.x-release.yml
xdevanshux Apr 18, 2026
1bde2ab
Add UsMd section (Maryland, Section ID 24)
chuff Jun 5, 2026
1852478
Add UsIn section (Indiana, Section ID 25)
chuff Jun 5, 2026
d4f0c7a
Add UsKy section (Kentucky, Section ID 26)
chuff Jun 5, 2026
8e2f27a
Add UsRi section (Rhode Island, Section ID 27)
chuff Jun 6, 2026
1224351
Add UsMd to GppModelTest all-sections tests
chuff Jun 6, 2026
301d0c9
Add UsIn to GppModelTest all-sections tests
chuff Jun 6, 2026
b6e71a1
Add UsKy to GppModelTest all-sections tests
chuff Jun 6, 2026
8f18c93
Add UsRi to GppModelTest all-sections tests
chuff Jun 6, 2026
d4cbaf6
Merge branch 'add-in' into add-md-in-ky-ri
chuff Jun 6, 2026
c563a16
Merge branch 'add-ky' into add-md-in-ky-ri
chuff Jun 6, 2026
03b3332
Merge branch 'add-ri' into add-md-in-ky-ri
chuff Jun 6, 2026
906334b
fix: replace GPC segment with SensitiveDataConsent segment for IN/KY/RI
chuff Jun 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 109 additions & 0 deletions .github/workflows/4.x-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# Release to Maven Central via Central Publisher Portal
# https://central.sonatype.org/publish/publish-portal-guide/
#
# Required GitHub secrets (Settings → Secrets and variables → Actions):
# CENTRAL_TOKEN_USERNAME - Portal token username (from https://central.sonatype.com/usertoken)
# CENTRAL_TOKEN_PASSWORD - Portal token password (from same page; save on first view, cannot be retrieved later)
# GPG_SECRET_KEY - Armored GPG private key for signing
# GPG_PASSPHRASE - Passphrase for the GPG key
# PAT - Personal access token with repo scope (for pushing commits/tags)
#
name: IABGPP-Java 4.X Release

on:
workflow_dispatch:
inputs:
version:
description: 'The release version (e.g., 4.x.x)'
required: true
default: ''

jobs:
release:
runs-on: ubuntu-latest
steps:
# Checkout the repository with full history for tagging
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

# Set up Java
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'

# Import GPG secret key for signing
- name: Import GPG key
run: |
echo "${{ secrets.GPG_SECRET_KEY }}" > secret_key.asc
gpg --import --no-tty --batch secret_key.asc || { echo "GPG import failed"; cat secret_key.asc; exit 1; }
rm -f secret_key.asc

# Generate settings.xml with Central Publisher Portal token credentials
# Token from: https://central.sonatype.com/usertoken
- name: Create settings.xml
env:
CENTRAL_TOKEN_USERNAME: ${{ secrets.CENTRAL_TOKEN_USERNAME }}
CENTRAL_TOKEN_PASSWORD: ${{ secrets.CENTRAL_TOKEN_PASSWORD }}
run: |
mkdir -p ~/.m2
cat > ~/.m2/settings.xml << EOF
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>central</id>
<username>${CENTRAL_TOKEN_USERNAME}</username>
<password>${CENTRAL_TOKEN_PASSWORD}</password>
</server>
</servers>
</settings>
EOF

# Pull latest changes from master
- name: Pull latest changes
run: git pull origin 4.X

# Set the release version in pom.xml
- name: Set release version
run: mvn versions:set -DnewVersion=${{ github.event.inputs.version }} -DgenerateBackupPoms=false

# Build and deploy to Central Publisher Portal (mvn deploy uploads bundle and publishes)
- name: Deploy release
run: |
echo "pinentry-mode loopback" > ~/.gnupg/gpg.conf
echo "use-agent" >> ~/.gnupg/gpg.conf
export GPG_TTY=$(tty || echo /dev/tty)
mvn clean deploy --settings ~/.m2/settings.xml -Dgpg.passphrase="${{ secrets.GPG_PASSPHRASE }}" -Prelease

# Commit the release version and create a tag
- name: Commit and tag release
run: |
git config user.email "mayank@iabtechlab.com"
git config user.name "Mayank Mishra"
git add .
git commit -m "${{ github.event.inputs.version }}"
git tag "${{ github.event.inputs.version }}"

# Set the next snapshot version
- name: Set next snapshot version
run: mvn versions:set -DnextSnapshot=true -DgenerateBackupPoms=false

# Commit the snapshot version
- name: Commit snapshot version
run: |
NEW_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
git add .
git commit -m "$NEW_VERSION"

# Push commits and tags to GitHub
- name: Push changes
run: |
git status
git push; git push --tags
env:
GITHUB_TOKEN: ${{ secrets.PAT }}
49 changes: 36 additions & 13 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
# Release to Maven Central via Central Publisher Portal
# https://central.sonatype.org/publish/publish-portal-guide/
#
# Required GitHub secrets (Settings → Secrets and variables → Actions):
# CENTRAL_TOKEN_USERNAME - Portal token username (from https://central.sonatype.com/usertoken)
# CENTRAL_TOKEN_PASSWORD - Portal token password (from same page; save on first view, cannot be retrieved later)
# GPG_SECRET_KEY - Armored GPG private key for signing
# GPG_PASSPHRASE - Passphrase for the GPG key
# PAT - Personal access token with repo scope (for pushing commits/tags)
#
name: IABGPP-Java Release

on:
Expand All @@ -14,31 +24,43 @@ jobs:
steps:
# Checkout the repository with full history for tagging
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 0

# Set up Java (assuming Java 11, adjust if different)
# Set up Java
- name: Set up Java
uses: actions/setup-java@v2
uses: actions/setup-java@v4
with:
java-version: '11'
distribution: 'adopt'
distribution: 'temurin'
java-version: '21'

# Import GPG secret key for signing
- name: Import GPG key
run: |
echo "${{ secrets.GPG_SECRET_KEY }}" > secret_key.asc
gpg --import --no-tty --batch secret_key.asc || { echo "GPG import failed"; cat secret_key.asc; exit 1; }
gpg --list-secret-keys
rm -f secret_key.asc

# Generate settings.xml with Maven repository credentials
# Generate settings.xml with Central Publisher Portal token credentials
# Token from: https://central.sonatype.com/usertoken
- name: Create settings.xml
env:
CENTRAL_TOKEN_USERNAME: ${{ secrets.CENTRAL_TOKEN_USERNAME }}
CENTRAL_TOKEN_PASSWORD: ${{ secrets.CENTRAL_TOKEN_PASSWORD }}
run: |
mkdir -p ~/.m2
cat > ~/.m2/settings.xml << EOF
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>~/.m2</localRepository> <interactiveMode>false</interactiveMode> <offline>false</offline><pluginGroups> <pluginGroup>org.sonatype.plugins</pluginGroup> </pluginGroups> <servers> <server> <id>sonatype-nexus-snapshots</id> <username>TiW/t45q</username> <password>${{ secrets.SONATYPE_PWD }}</password> </server> <server> <id>sonatype-nexus-staging</id> <username>TiW/t45q</username> <password>${{ secrets.SONATYPE_PWD_STAGING }}</password> </server> </servers>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>central</id>
<username>${CENTRAL_TOKEN_USERNAME}</username>
<password>${CENTRAL_TOKEN_PASSWORD}</password>
</server>
</servers>
</settings>
EOF

Expand All @@ -50,13 +72,13 @@ jobs:
- name: Set release version
run: mvn versions:set -DnewVersion=${{ github.event.inputs.version }} -DgenerateBackupPoms=false

# Build and deploy the release
# Build and deploy to Central Publisher Portal (mvn deploy uploads bundle and publishes)
- name: Deploy release
run: |
echo "pinentry-mode loopback" > ~/.gnupg/gpg.conf
echo "use-agent" >> ~/.gnupg/gpg.conf
export GPG_TTY=$(tty || echo /dev/tty)
mvn clean deploy --settings ~/.m2/settings.xml -Dgpg.passphrase="${{ secrets.GPG_PASSPHRASE }}" -Prelease -Dmaven.javadoc.skip=true
mvn clean deploy --settings ~/.m2/settings.xml -Dgpg.passphrase="${{ secrets.GPG_PASSPHRASE }}" -Prelease

# Commit the release version and create a tag
- name: Commit and tag release
Expand All @@ -74,13 +96,14 @@ jobs:
# Commit the snapshot version
- name: Commit snapshot version
run: |
NEW_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
git add .
git commit -m "${{ github.event.inputs.version }}-SNAPSHOT"
git commit -m "$NEW_VERSION"

# Push commits and tags to GitHub
- name: Push changes
run: |
git status
git push; git push --tags
env:
GITHUB_TOKEN: ${{secrets.PAT}}
GITHUB_TOKEN: ${{ secrets.PAT }}
4 changes: 2 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
distribution: 'adopt'
java-version: '21'
cache: 'maven'
- name: Initialize CodeQL
Expand All @@ -28,7 +28,7 @@ jobs:
languages: java
- name: Build with Maven
timeout-minutes: 15
run: mvn -B clean package --file pom.xml
run: mvn -B clean javadoc:javadoc package --file pom.xml
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
Expand Down
Loading