Skip to content

Commit

Permalink
"Created by snbot"
Browse files Browse the repository at this point in the history
  • Loading branch information
streamnativebot committed Nov 1, 2022
1 parent 0ab5e5e commit 1a011cb
Show file tree
Hide file tree
Showing 6 changed files with 518 additions and 482 deletions.
246 changes: 137 additions & 109 deletions .github/workflows/pr_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,152 +3,180 @@ name: mop mvn build check and ut
on:
pull_request:
branches:
- branch-*
- master
- branch-*
- master
paths-ignore:
- 'docs/**'
- 'README.md'
- 'docs/**'
- 'README.md'
push:
branches:
- branch-*
- master
- branch-*
- master
paths-ignore:
- 'docs/**'
- 'README.md'
- 'docs/**'
- 'README.md'

jobs:

check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: s4u/[email protected]
with:
servers: '[{"id": "ossrh", "username": "${{ secrets.SONATYPE_USERNAME }}",
"password": "${{ secrets.SONATYPE_PASSWORD }}"}]'
- name: Login to cloudsmith
run: docker login -u="${{ secrets.CLOUDSMITH_USERNAME }}" -p="${{ secrets.CLOUDSMITH_API_KEY
}}" docker.cloudsmith.io
- uses: actions/checkout@v2

- name: Cache Maven packages
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Cache Maven packages
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2

- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8

- name: License check
run: mvn license:check
- name: License check
run: mvn license:check

- name: Build with Maven skipTests
run: mvn clean install -DskipTests
- name: Build with Maven skipTests
run: mvn clean install -DskipTests

- name: Style check
run: mvn checkstyle:check
- name: Style check
run: mvn checkstyle:check

- name: Spotbugs check
run: mvn spotbugs:check
- name: Spotbugs check
run: mvn spotbugs:check


scan:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v2

- name: Get All Tests
id: list-test
run: |
TESTS=`find tests/src/test/java/io/streamnative/pulsar/handlers/mqtt \
mqtt-impl/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)"
- uses: s4u/[email protected]
with:
servers: '[{"id": "ossrh", "username": "${{ secrets.SONATYPE_USERNAME }}",
"password": "${{ secrets.SONATYPE_PASSWORD }}"}]'
- name: Login to cloudsmith
run: docker login -u="${{ secrets.CLOUDSMITH_USERNAME }}" -p="${{ secrets.CLOUDSMITH_API_KEY
}}" docker.cloudsmith.io
- uses: actions/checkout@v2

- name: Get All Tests
id: list-test
run: |
TESTS=`find tests/src/test/java/io/streamnative/pulsar/handlers/mqtt \
mqtt-impl/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 ]
needs: [scan, check]
strategy:
matrix:
test: ${{ fromJson(needs.scan.outputs.tests) }}
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v2

- name: Cache Maven packages
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2

- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8

- 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: Upload jacoco artifact
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.test }}-jacoco-artifact
path: '**/*.exec'
retention-days: 2

- 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@master
name: upload surefire-artifacts
if: failure()
with:
name: surefire-artifacts
path: ${{ matrix.test }}-artifacts.zip
- uses: s4u/[email protected]
with:
servers: '[{"id": "ossrh", "username": "${{ secrets.SONATYPE_USERNAME }}",
"password": "${{ secrets.SONATYPE_PASSWORD }}"}]'
- name: Login to cloudsmith
run: docker login -u="${{ secrets.CLOUDSMITH_USERNAME }}" -p="${{ secrets.CLOUDSMITH_API_KEY
}}" docker.cloudsmith.io
- uses: actions/checkout@v2

- name: Cache Maven packages
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2

- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8

- 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: Upload jacoco artifact
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.test }}-jacoco-artifact
path: '**/*.exec'
retention-days: 2

- 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@master
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@v2

- name: Cache Maven packages
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2

- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8

- name: Build with Maven skipTests
run: mvn clean install -DskipTests

- name: Download jacoco artifact
uses: actions/download-artifact@v2
with:
path: mqtt-impl/target

- name: Merge jacoco report
run: mvn jacoco:merge

- name: Generate jacoco report
run: mvn jacoco:report

- name: Upload test report
run: bash <(curl -s https://codecov.io/bash)
- uses: s4u/[email protected]
with:
servers: '[{"id": "ossrh", "username": "${{ secrets.SONATYPE_USERNAME }}",
"password": "${{ secrets.SONATYPE_PASSWORD }}"}]'
- name: Login to cloudsmith
run: docker login -u="${{ secrets.CLOUDSMITH_USERNAME }}" -p="${{ secrets.CLOUDSMITH_API_KEY
}}" docker.cloudsmith.io
- uses: actions/checkout@v2

- name: Cache Maven packages
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2

- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8

- name: Build with Maven skipTests
run: mvn clean install -DskipTests

- name: Download jacoco artifact
uses: actions/download-artifact@v2
with:
path: mqtt-impl/target

- name: Merge jacoco report
run: mvn jacoco:merge

- name: Generate jacoco report
run: mvn jacoco:report

- name: Upload test report
run: bash <(curl -s https://codecov.io/bash)

21 changes: 14 additions & 7 deletions .github/workflows/release-note.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,24 @@ name: MoP Release Notes
on:
push:
branches:
- master
- master
path-ignores:
- 'docs/**'
- 'README.md'
- 'docs/**'
- 'README.md'
jobs:
build:

runs-on: ubuntu-latest

steps:
- name: release note
uses: toolmantim/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: s4u/[email protected]
with:
servers: '[{"id": "ossrh", "username": "${{ secrets.SONATYPE_USERNAME }}",
"password": "${{ secrets.SONATYPE_PASSWORD }}"}]'
- name: Login to cloudsmith
run: docker login -u="${{ secrets.CLOUDSMITH_USERNAME }}" -p="${{ secrets.CLOUDSMITH_API_KEY
}}" docker.cloudsmith.io
- name: release note
uses: toolmantim/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49 changes: 28 additions & 21 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,39 @@
name: mqttop Release

on:
release:
release: null

jobs:
upload:
name: Upload Release files
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- uses: s4u/[email protected]
with:
servers: '[{"id": "ossrh", "username": "${{ secrets.SONATYPE_USERNAME }}",
"password": "${{ secrets.SONATYPE_PASSWORD }}"}]'
- name: Login to cloudsmith
run: docker login -u="${{ secrets.CLOUDSMITH_USERNAME }}" -p="${{ secrets.CLOUDSMITH_API_KEY
}}" docker.cloudsmith.io
- uses: actions/checkout@v1
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8

- name: build
run: |
version=`./scripts/dev/get-project-version.py`
mvn clean install -DskipTests
rm -rf pulsar-protocol-*
cp mqtt-impl/target/pulsar-protocol-handler-mqtt-${version}.nar ./
cp README.md ./pulsar-protocol-handler-mqtt-readme.md
echo "ls pulsar-protocol-*"
ls pulsar-protocol-*
- name: build
run: |
version=`./scripts/dev/get-project-version.py`
mvn clean install -DskipTests
rm -rf pulsar-protocol-*
cp mqtt-impl/target/pulsar-protocol-handler-mqtt-${version}.nar ./
cp README.md ./pulsar-protocol-handler-mqtt-readme.md
echo "ls pulsar-protocol-*"
ls pulsar-protocol-*
- name: publish
uses: skx/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
args: 'pulsar-protocol-*'
- name: publish
uses: skx/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
args: 'pulsar-protocol-*'
2 changes: 1 addition & 1 deletion mqtt-impl/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
<parent>
<artifactId>pulsar-protocol-handler-mqtt-parent</artifactId>
<groupId>io.streamnative.pulsar.handlers</groupId>
<version>2.9.2.14</version>
<version>2.9.3.14-rc-iterable</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>pulsar-protocol-handler-mqtt</artifactId>
Expand Down
Loading

0 comments on commit 1a011cb

Please sign in to comment.