refactor(core): simplify OperationsInClassScanner interface #1863
Workflow file for this run
This file contains 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: springwolf-plugins | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
types: [ opened, synchronize, ready_for_review ] | |
workflow_dispatch: | |
permissions: | |
contents: read | |
checks: write | |
id-token: write | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
strategy: | |
fail-fast: false | |
matrix: | |
plugin: [ "amqp", "cloud-stream", "jms", "kafka", "sns", "sqs", "stomp" ] | |
env: | |
plugin: springwolf-plugins/springwolf-${{ matrix.plugin }}-plugin | |
example: springwolf-examples/springwolf-${{ matrix.plugin }}-example | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@v4 | |
- name: Check formatting (before running tests) on plugin | |
run: ./gradlew -p ${{ env.plugin }} spotlessCheck | |
- name: Check formatting (before running tests) on example | |
run: ./gradlew -p ${{ env.example }} spotlessCheck | |
- name: Run unit tests | |
run: ./gradlew -p ${{ env.plugin }} test | |
- name: Run integration tests | |
run: ./gradlew -p ${{ env.example }} test | |
- name: Run build, check, analyzeDependencies on plugin | |
run: ./gradlew -p ${{ env.plugin }} build | |
- name: Run build, check, analyzeDependencies on example | |
run: ./gradlew -p ${{ env.example }} build | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v5 | |
if: success() || failure() | |
with: | |
check_name: test-plugin-${{ matrix.plugin }}-junit | |
require_tests: true | |
report_paths: '**/build/test-results/test/TEST-*.xml' | |
- name: Run e2e tests | |
run: ./gradlew -p springwolf-examples/e2e npm_run_test | |
env: | |
SPRINGWOLF_EXAMPLE: ${{ matrix.plugin }} | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: test-plugin-${{ matrix.plugin }}-playwright | |
path: springwolf-examples/e2e/playwright-report/ | |
retention-days: 14 | |
- name: Publish docker image | |
if: github.ref == 'refs/heads/master' | |
run: ./gradlew -p ${{ env.example }} dockerBuildImage dockerPushImage | |
env: | |
ORG_GRADLE_PROJECT_SNAPSHOT: true | |
ORG_GRADLE_PROJECT_DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} | |
ORG_GRADLE_PROJECT_DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Publish package | |
if: github.ref == 'refs/heads/master' | |
run: ./gradlew -p ${{ env.plugin }} publish | |
env: | |
ORG_GRADLE_PROJECT_SNAPSHOT: true | |
ORG_GRADLE_PROJECT_SIGNINGKEY: ${{secrets.ORG_GRADLE_PROJECT_SIGNINGKEY}} | |
ORG_GRADLE_PROJECT_SIGNINGPASSWORD: ${{secrets.ORG_GRADLE_PROJECT_SIGNINGPASSWORD}} | |
ORG_GRADLE_PROJECT_MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} | |
ORG_GRADLE_PROJECT_MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} |