diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 00000000..1dd060e5
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,33 @@
+name: CI
+
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout Code
+ uses: actions/checkout@v3
+
+ - name: Setup Java
+ uses: actions/setup-java@v4
+ with:
+ distribution: 'corretto'
+ java-version: '17'
+ architecture: x64
+
+ - name: Cache Maven dependencies
+ uses: actions/cache@v4
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-maven-
+
+ - name: Build artifacts
+ run: mvn clean install
diff --git a/.github/workflows/daily-model-generation.yml b/.github/workflows/daily-model-generation.yml
new file mode 100644
index 00000000..432a36d8
--- /dev/null
+++ b/.github/workflows/daily-model-generation.yml
@@ -0,0 +1,84 @@
+name: Daily Model Generation
+
+on:
+ push:
+ branches:
+ - actions
+ schedule:
+ # Run at 1 AM UTC every day
+ - cron: '0 1 * * *'
+ workflow_dispatch: # Allow manual triggering
+
+permissions:
+ contents: write
+ pull-requests: write
+
+jobs:
+ generate-models:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout Code
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - name: Setup Java
+ uses: actions/setup-java@v4
+ with:
+ distribution: 'corretto'
+ java-version: '17'
+ architecture: x64
+
+ - name: Cache Maven dependencies
+ uses: actions/cache@v4
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-maven-
+
+ - name: Generate models from OpenAPI spec
+ run: mvn -Pgenerate-models
+
+ - name: Check for changes
+ id: git-check
+ run: |
+ git diff --exit-code || echo "changes=true" >> $GITHUB_OUTPUT
+
+ - name: Create Pull Request
+ if: steps.git-check.outputs.changes == 'true'
+ uses: peter-evans/create-pull-request@v6
+ with:
+ token: ${{ secrets.GITHUB_TOKEN }}
+ commit-message: 'chore: update generated models from OpenAPI spec'
+ branch: automated/model-generation-${{ github.run_number }}
+ delete-branch: true
+ title: 'chore: Update generated models from OpenAPI spec'
+ body: |
+ ## Automated Model Generation
+
+ This PR contains automatically generated updates to the SDK models based on the latest OpenAPI specification from `https://api.prime.coinbase.com/v1/openapi.yaml`.
+
+ ### What changed?
+ - Models generated/updated via `mvn -Pgenerate-models`
+ - Changes reflect updates to the Prime API specification
+
+ ### How to review
+ 1. Verify that generated files follow SDK conventions
+ 2. Check that new models have proper Builder patterns and license headers
+ 3. Ensure enums are properly generated
+ 4. Run tests to verify compatibility: `mvn clean install`
+
+ ### Generated by
+ Workflow: `${{ github.workflow }}`
+ Run: `${{ github.run_id }}`
+ Triggered: `${{ github.event_name }}`
+ labels: |
+ automated
+ model-generation
+ assignees: ${{ github.repository_owner }}
+
+ - name: No changes detected
+ if: steps.git-check.outputs.changes != 'true'
+ run: echo "No model changes detected. Skipping PR creation."
diff --git a/pom.xml b/pom.xml
index 1f5f6a16..aa3595da 100644
--- a/pom.xml
+++ b/pom.xml
@@ -127,14 +127,14 @@
- org.sonatype.plugins
- nexus-staging-maven-plugin
- 1.7.0
+ org.sonatype.central
+ central-publishing-maven-plugin
+ 0.9.0
true
- ossrh
- https://oss.sonatype.org/
- true
+ central
+ true
+ published
@@ -184,16 +184,19 @@
-
-
- ossrh
- https://s01.oss.sonatype.org/content/repositories/snapshots
-
+
- ossrh
- https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/
+ Central Portal Snapshots
+ central-portal-snapshots
+ https://central.sonatype.com/repository/maven-snapshots/
+
+ false
+
+
+ true
+
-
+
com.coinbase.core