name: Verify (Reusable Workflow) on: workflow_call: inputs: repository: description: 'The repository to checkout, e.g. eclipse-hawkbit/hawkbit' type: string default: 'eclipse-hawkbit/hawkbit' ref: description: 'The branch, tag or SHA to checkout, e.g. master' type: string default: 'master' maven_properties: type: string default: '' description: 'Properties to pass to Maven command line, e.g. -Djpa.vendor=hibernate' jobs: reusable_workflow_verify: runs-on: ubuntu-latest services: rabbitmq: image: rabbitmq:3-management-alpine env: RABBITMQ_DEFAULT_VHOST: / RABBITMQ_DEFAULT_USER: guest RABBITMQ_DEFAULT_PASS: guest ports: - 15672:15672 - 5672:5672 steps: - uses: actions/checkout@v4 with: repository: ${{ inputs.repository }} ref: ${{ inputs.ref }} - name: Set up JDK uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: 21 cache: 'maven' - name: Cache local Maven repository uses: actions/cache@v4 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}-maven- - name: Check file license headers run: mvn license:check -PcheckLicense --batch-mode - name: Run tests & javadoc run: mvn clean verify javadoc:javadoc -PgenerateTestReport ${{ inputs.maven_properties }} --batch-mode