diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..49f492d0 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,27 @@ +name: Release + +on: + release: + types: [ published ] + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + server-id: nexus-releases + server-username: MAVEN_USERNAME + server-password: MAVEN_PASSWORD + + - name: Publish package + env: + MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} + run: | + cat <(echo -e "${{ secrets.OSSRH_GPG_SECRET_KEY }}") | gpg --batch --import; + mvn clean deploy -U -P release -Dgpg.passphrase=${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} -DskipTests \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index d141b78d..fb860ea3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,3 +7,4 @@ - Refactoring: Refactor Circuitbreaker ut. - refactor:refactor rpc enhancement. - feat:refactor SDKContext as static. +- docs:add release GitHub Action. diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisSDKContextManager.java b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisSDKContextManager.java index e72abefd..e28a6077 100644 --- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisSDKContextManager.java +++ b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisSDKContextManager.java @@ -111,8 +111,10 @@ public class PolarisSDKContextManager { assemblyAPI = null; } - sdkContext.destroy(); - sdkContext = null; + if (Objects.nonNull(sdkContext)) { + sdkContext.destroy(); + sdkContext = null; + } LOG.info("Polaris SDK context is destroyed."); } catch (Throwable throwable) {