Fix mqtt disconnect due to appId permission bug when namespace polici… #4462
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: mop mvn build check and ut | |
| on: | |
| pull_request: | |
| branches: | |
| - branch-* | |
| - master | |
| paths-ignore: | |
| - 'mqtt-perf/**' | |
| - 'docs/**' | |
| - 'README.md' | |
| push: | |
| branches: | |
| - branch-* | |
| - master | |
| paths-ignore: | |
| - 'mqtt-perf/**' | |
| - 'docs/**' | |
| - 'README.md' | |
| jobs: | |
| check: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Cache Maven packages | |
| uses: actions/cache@v3 | |
| with: | |
| path: ~/.m2 | |
| key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
| restore-keys: ${{ runner.os }}-m2 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v3 | |
| with: | |
| distribution: 'temurin' | |
| java-version: 17 | |
| - name: Configure Maven Settings | |
| uses: s4u/[email protected] | |
| with: | |
| servers: '[{"id": "github", "username": "streamnativebot", "password": "${{ secrets.SNBOT_GITHUB_TOKEN }}"}]' | |
| - name: License check | |
| run: mvn license:check | |
| - name: Build with Maven skipTests | |
| run: mvn clean install -DskipTests | |
| - name: Style check | |
| run: mvn checkstyle:check | |
| # - name: Spotbugs check | |
| # run: mvn spotbugs:check | |
| scan: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Get All Tests | |
| id: list-test | |
| run: | | |
| TESTS=`find tests/src/test/java/io/streamnative/pulsar/handlers/mqtt \ | |
| mqtt-broker/src/test/java/io/streamnative/pulsar/handlers/mqtt -name "*Test.java" | \ | |
| awk -F "/" '{ print $NF }' | \ | |
| awk -F "." '{ print $1 }' | \ | |
| jq -R -s -c 'split("\n") | map(select(. != ""))'` | |
| echo "::set-output name=tests::$(echo $TESTS)" | |
| outputs: | |
| tests: ${{ steps.list-test.outputs.tests }} | |
| test: | |
| needs: [ scan, check ] | |
| strategy: | |
| matrix: | |
| test: ${{ fromJson(needs.scan.outputs.tests) }} | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Cache Maven packages | |
| uses: actions/cache@v3 | |
| with: | |
| path: ~/.m2 | |
| key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
| restore-keys: ${{ runner.os }}-m2 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v3 | |
| with: | |
| distribution: 'temurin' | |
| java-version: 17 | |
| - name: Build with Maven skipTests | |
| run: mvn clean install -DskipTests | |
| - name: Test after build | |
| run: ./scripts/retry.sh mvn -B -ntp test -Dtest=${{ matrix.test }} -DfailIfNoTests=false | |
| - name: package surefire artifacts | |
| if: failure() | |
| run: | | |
| rm -rf artifacts | |
| mkdir artifacts | |
| find . -type d -name "*surefire*" -exec cp --parents -R {} artifacts/ \; | |
| zip -r ${{ matrix.test }}-artifacts.zip artifacts | |
| - uses: actions/upload-artifact@v4 | |
| name: upload surefire-artifacts | |
| if: failure() | |
| with: | |
| name: surefire-artifacts | |
| path: ${{ matrix.test }}-artifacts.zip | |
| build: | |
| needs: test | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Cache Maven packages | |
| uses: actions/cache@v3 | |
| with: | |
| path: ~/.m2 | |
| key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
| restore-keys: ${{ runner.os }}-m2 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v3 | |
| with: | |
| distribution: 'temurin' | |
| java-version: 17 | |
| - name: Build with Maven skipTests | |
| run: mvn clean install -DskipTests | |