fix(springboot*-starter): properties #133
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Java CI with Maven | |
| on: | |
| push: | |
| branches: [ "main", "development/**" ] | |
| pull_request: | |
| branches: [ "main" ] | |
| jobs: | |
| # Build and test with Java 21 (all modules) | |
| build-java21: | |
| name: Build & Test (Java 21 - All Modules) | |
| runs-on: ubuntu-latest | |
| services: | |
| mongo: | |
| image: mongo:7.0 | |
| env: | |
| MONGO_INITDB_ROOT_USERNAME: fluxgate | |
| MONGO_INITDB_ROOT_PASSWORD: "fluxgate123#$" | |
| MONGO_INITDB_DATABASE: fluxgate | |
| ports: | |
| - 27017:27017 | |
| options: >- | |
| --health-cmd "mongosh --username fluxgate --password 'fluxgate123#$' --authenticationDatabase admin --eval 'db.adminCommand(\"ping\")'" | |
| --health-interval=10s | |
| --health-timeout=5s | |
| --health-retries=5 | |
| redis: | |
| image: redis:7-alpine | |
| ports: | |
| - 6379:6379 | |
| options: >- | |
| --health-cmd "redis-cli ping" | |
| --health-interval=10s | |
| --health-timeout=5s | |
| --health-retries=5 | |
| redis-cluster: | |
| image: grokzen/redis-cluster:7.0.10 | |
| env: | |
| IP: "0.0.0.0" | |
| INITIAL_PORT: 7100 | |
| ports: | |
| - 7100:7100 | |
| - 7101:7101 | |
| - 7102:7102 | |
| - 7103:7103 | |
| - 7104:7104 | |
| - 7105:7105 | |
| options: >- | |
| --health-cmd "redis-cli -p 7100 cluster info | grep cluster_state:ok" | |
| --health-interval=10s | |
| --health-timeout=10s | |
| --health-retries=10 | |
| env: | |
| FLUXGATE_MONGO_URI: "mongodb://fluxgate:fluxgate123%23%24@localhost:27017/fluxgate?authSource=admin" | |
| FLUXGATE_MONGO_DB: "fluxgate" | |
| FLUXGATE_REDIS_URI: "redis://localhost:6379" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up JDK 21 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '21' | |
| distribution: temurin | |
| cache: maven | |
| - name: Check code style | |
| run: mvn -B spotless:check | |
| - name: Build & Install (skip tests first) | |
| run: mvn -B install -DskipTests | |
| - name: Run tests with coverage | |
| run: mvn -B verify | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v4 | |
| with: | |
| files: '**/target/site/jacoco/jacoco.xml' | |
| fail_ci_if_error: false | |
| verbose: true | |
| - name: Upload test results | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: test-results-java21 | |
| path: '**/target/surefire-reports/*.xml' | |
| # Build and test Spring Boot 2.x modules with Java 11 | |
| build-java11: | |
| name: Build & Test (Java 11 - Spring Boot 2.x) | |
| runs-on: ubuntu-latest | |
| services: | |
| mongo: | |
| image: mongo:7.0 | |
| env: | |
| MONGO_INITDB_ROOT_USERNAME: fluxgate | |
| MONGO_INITDB_ROOT_PASSWORD: "fluxgate123#$" | |
| MONGO_INITDB_DATABASE: fluxgate | |
| ports: | |
| - 27017:27017 | |
| options: >- | |
| --health-cmd "mongosh --username fluxgate --password 'fluxgate123#$' --authenticationDatabase admin --eval 'db.adminCommand(\"ping\")'" | |
| --health-interval=10s | |
| --health-timeout=5s | |
| --health-retries=5 | |
| redis: | |
| image: redis:7-alpine | |
| ports: | |
| - 6379:6379 | |
| options: >- | |
| --health-cmd "redis-cli ping" | |
| --health-interval=10s | |
| --health-timeout=5s | |
| --health-retries=5 | |
| redis-cluster: | |
| image: grokzen/redis-cluster:7.0.10 | |
| env: | |
| IP: "0.0.0.0" | |
| INITIAL_PORT: 7100 | |
| ports: | |
| - 7100:7100 | |
| - 7101:7101 | |
| - 7102:7102 | |
| - 7103:7103 | |
| - 7104:7104 | |
| - 7105:7105 | |
| options: >- | |
| --health-cmd "redis-cli -p 7100 cluster info | grep cluster_state:ok" | |
| --health-interval=10s | |
| --health-timeout=10s | |
| --health-retries=10 | |
| env: | |
| FLUXGATE_MONGO_URI: "mongodb://fluxgate:fluxgate123%23%24@localhost:27017/fluxgate?authSource=admin" | |
| FLUXGATE_MONGO_DB: "fluxgate" | |
| FLUXGATE_REDIS_URI: "redis://localhost:6379" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up JDK 11 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '11' | |
| distribution: temurin | |
| cache: maven | |
| - name: Build core modules with Java 11 | |
| run: | | |
| # Build only Java 11 compatible modules | |
| mvn -B install -DskipTests \ | |
| -pl fluxgate-core,fluxgate-mongo-adapter,fluxgate-redis-ratelimiter,fluxgate-spring-boot2-starter \ | |
| -am | |
| - name: Test Spring Boot 2.x starter with Java 11 | |
| run: | | |
| mvn -B verify \ | |
| -pl fluxgate-core,fluxgate-mongo-adapter,fluxgate-redis-ratelimiter,fluxgate-spring-boot2-starter | |
| - name: Upload test results | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: test-results-java11 | |
| path: '**/target/surefire-reports/*.xml' | |
| # Build and test with Java 17 (Spring Boot 3.x minimum) | |
| build-java17: | |
| name: Build & Test (Java 17 - Spring Boot 3.x) | |
| runs-on: ubuntu-latest | |
| services: | |
| mongo: | |
| image: mongo:7.0 | |
| env: | |
| MONGO_INITDB_ROOT_USERNAME: fluxgate | |
| MONGO_INITDB_ROOT_PASSWORD: "fluxgate123#$" | |
| MONGO_INITDB_DATABASE: fluxgate | |
| ports: | |
| - 27017:27017 | |
| options: >- | |
| --health-cmd "mongosh --username fluxgate --password 'fluxgate123#$' --authenticationDatabase admin --eval 'db.adminCommand(\"ping\")'" | |
| --health-interval=10s | |
| --health-timeout=5s | |
| --health-retries=5 | |
| redis: | |
| image: redis:7-alpine | |
| ports: | |
| - 6379:6379 | |
| options: >- | |
| --health-cmd "redis-cli ping" | |
| --health-interval=10s | |
| --health-timeout=5s | |
| --health-retries=5 | |
| redis-cluster: | |
| image: grokzen/redis-cluster:7.0.10 | |
| env: | |
| IP: "0.0.0.0" | |
| INITIAL_PORT: 7100 | |
| ports: | |
| - 7100:7100 | |
| - 7101:7101 | |
| - 7102:7102 | |
| - 7103:7103 | |
| - 7104:7104 | |
| - 7105:7105 | |
| options: >- | |
| --health-cmd "redis-cli -p 7100 cluster info | grep cluster_state:ok" | |
| --health-interval=10s | |
| --health-timeout=10s | |
| --health-retries=10 | |
| env: | |
| FLUXGATE_MONGO_URI: "mongodb://fluxgate:fluxgate123%23%24@localhost:27017/fluxgate?authSource=admin" | |
| FLUXGATE_MONGO_DB: "fluxgate" | |
| FLUXGATE_REDIS_URI: "redis://localhost:6379" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '17' | |
| distribution: temurin | |
| cache: maven | |
| - name: Build all modules with Java 17 (excluding Java 21 samples) | |
| run: | | |
| mvn -B install -DskipTests \ | |
| -pl !fluxgate-samples/fluxgate-sample-standalone-java21 | |
| - name: Test Spring Boot 3.x starter with Java 17 | |
| run: | | |
| mvn -B verify \ | |
| -pl fluxgate-core,fluxgate-mongo-adapter,fluxgate-redis-ratelimiter,fluxgate-spring-boot3-starter | |
| - name: Upload test results | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: test-results-java17 | |
| path: '**/target/surefire-reports/*.xml' |