From e1e6ee5ebecfd8f9066a111ee0e6091c1e7ab491 Mon Sep 17 00:00:00 2001 From: Haotian Zhang <928016560@qq.com> Date: Thu, 27 Feb 2025 15:41:13 +0800 Subject: [PATCH] feat:support default instance circuit breaker rule. --- .github/PULL_REQUEST_TEMPLATE.md | 8 ---- .github/workflows/codecov_jdk17.yml | 34 +++++++++++++ .../{codecov.yml => codecov_jdk8.yml} | 10 ++-- ...nit_test17.yml => junit_test_jdk17-21.yml} | 9 ++-- ...{junit_test.yml => junit_test_jdk8-21.yml} | 11 ++--- .github/workflows/license-checker.yml | 2 + .../{snapshot.yml => snapshot_jdk17.yml} | 7 +-- .github/workflows/snapshot_jdk8.yml | 48 +++++++++++++++++++ CHANGELOG.md | 1 + .../callee/QuickstartCalleeController.java | 2 + .../callee/QuickstartCalleeController.java | 2 + .../src/main/resources/application.yml | 6 +++ 12 files changed, 108 insertions(+), 32 deletions(-) create mode 100644 .github/workflows/codecov_jdk17.yml rename .github/workflows/{codecov.yml => codecov_jdk8.yml} (85%) rename .github/workflows/{junit_test17.yml => junit_test_jdk17-21.yml} (77%) rename .github/workflows/{junit_test.yml => junit_test_jdk8-21.yml} (79%) rename .github/workflows/{snapshot.yml => snapshot_jdk17.yml} (90%) create mode 100644 .github/workflows/snapshot_jdk8.yml diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index ddd1ce6e1..31bc7906a 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -23,11 +23,3 @@ closes # - [ ] Add information of this PR to CHANGELOG.md in root of project. - [ ] Add documentation in javadoc or comment below the PR if necessary. - -## Checklist (Optional) - -- [ ] Will pull request to branch of 2023. -- [ ] Will pull request to branch of 2022. -- [ ] Will pull request to branch of 2021. -- [ ] Will pull request to branch of 2020. -- [ ] Will pull request to branch of hoxton. diff --git a/.github/workflows/codecov_jdk17.yml b/.github/workflows/codecov_jdk17.yml new file mode 100644 index 000000000..2a7216bbe --- /dev/null +++ b/.github/workflows/codecov_jdk17.yml @@ -0,0 +1,34 @@ +name: Codecov with JDK 17 + +on: + push: + branches: + - 2024 + - 2023 + - 2022 + pull_request: + branches: + - 2024 + - 2023 + - 2022 + +jobs: + codecov: + runs-on: ubuntu-latest + + steps: + - name: Checkout codes + uses: actions/checkout@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: 17 + - name: Test with Maven + run: mvn clean test -B -U -Psonatype + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v4 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + with: + files: ${{ github.workspace }}/target/site/jacoco/jacoco.xml diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov_jdk8.yml similarity index 85% rename from .github/workflows/codecov.yml rename to .github/workflows/codecov_jdk8.yml index ef7a1b4cb..bb7ba75a0 100644 --- a/.github/workflows/codecov.yml +++ b/.github/workflows/codecov_jdk8.yml @@ -1,18 +1,14 @@ -name: Codecov +name: Codecov with JDK 8 on: push: branches: - - 2023 - - 2022 - 2021 - 2020 - hoxton - greenwich pull_request: branches: - - 2023 - - 2022 - 2021 - 2020 - hoxton @@ -25,11 +21,11 @@ jobs: steps: - name: Checkout codes uses: actions/checkout@v4 - - name: Set up JDK 17 + - name: Set up JDK 8 uses: actions/setup-java@v4 with: distribution: 'temurin' - java-version: 17 + java-version: 8 - name: Test with Maven run: mvn clean test -B -U -Psonatype - name: Upload coverage to Codecov diff --git a/.github/workflows/junit_test17.yml b/.github/workflows/junit_test_jdk17-21.yml similarity index 77% rename from .github/workflows/junit_test17.yml rename to .github/workflows/junit_test_jdk17-21.yml index d3f6a4064..0d76c8bfb 100644 --- a/.github/workflows/junit_test17.yml +++ b/.github/workflows/junit_test_jdk17-21.yml @@ -1,15 +1,14 @@ -# This workflow will build a Java project with Maven -# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven - -name: Test with Junit (JDK17) +name: Junit Test with JDK from 17 to 21 on: push: branches: + - 2024 - 2023 - 2022 pull_request: branches: + - 2024 - 2023 - 2022 @@ -17,7 +16,7 @@ jobs: build: strategy: matrix: - java: [ 17 ] + java: [ 17, 21 ] os: [ 'windows-latest', 'ubuntu-latest' ] runs-on: ${{ matrix.os }} diff --git a/.github/workflows/junit_test.yml b/.github/workflows/junit_test_jdk8-21.yml similarity index 79% rename from .github/workflows/junit_test.yml rename to .github/workflows/junit_test_jdk8-21.yml index 68606512e..56af9ed31 100644 --- a/.github/workflows/junit_test.yml +++ b/.github/workflows/junit_test_jdk8-21.yml @@ -1,27 +1,24 @@ -# This workflow will build a Java project with Maven -# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven - -name: Test with Junit +name: Junit Test with JDK from 8 to 21 on: push: branches: - - hoxton - 2021 - 2020 + - hoxton - greenwich pull_request: branches: - - hoxton - 2021 - 2020 + - hoxton - greenwich jobs: junit: strategy: matrix: - java: [ 8, 11, 17 ] + java: [ 8, 11, 17, 21 ] os: [ 'windows-latest', 'ubuntu-latest' ] runs-on: ${{ matrix.os }} diff --git a/.github/workflows/license-checker.yml b/.github/workflows/license-checker.yml index acb393eac..524788527 100644 --- a/.github/workflows/license-checker.yml +++ b/.github/workflows/license-checker.yml @@ -3,6 +3,7 @@ name: License checker on: push: branches: + - 2024 - 2023 - 2022 - 2021 @@ -11,6 +12,7 @@ on: - greenwich pull_request: branches: + - 2024 - 2023 - 2022 - 2021 diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot_jdk17.yml similarity index 90% rename from .github/workflows/snapshot.yml rename to .github/workflows/snapshot_jdk17.yml index fc91cd338..af766a65e 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot_jdk17.yml @@ -1,14 +1,11 @@ -name: Snapshot +name: Snapshot with JDK 17 on: push: branches: + - 2024 - 2023 - 2022 - - 2021 - - 2020 - - hoxton - - greenwich jobs: check-snapshot: diff --git a/.github/workflows/snapshot_jdk8.yml b/.github/workflows/snapshot_jdk8.yml new file mode 100644 index 000000000..c5fa346d2 --- /dev/null +++ b/.github/workflows/snapshot_jdk8.yml @@ -0,0 +1,48 @@ +name: Snapshot with JDK 8 + +on: + push: + branches: + - 2021 + - 2020 + - hoxton + - greenwich + +jobs: + check-snapshot: + runs-on: ubuntu-latest + outputs: + IS_SNAPSHOT: ${{ steps.set_output_1.outputs.IS_SNAPSHOT }} + steps: + - name: Checkout codes + uses: actions/checkout@v4 + - name: Check deploy type + id: set_output_1 + run: | + line="$(grep SNAPSHOT pom.xml || true)" + echo $line + if [ -n "$line" ]; then + echo "IS_SNAPSHOT=true" >> $GITHUB_OUTPUT + else + echo "IS_SNAPSHOT=false" >> $GITHUB_OUTPUT + fi + snapshot: + runs-on: ubuntu-latest + needs: check-snapshot + if: ${{ needs.check-snapshot.outputs.IS_SNAPSHOT == 'true' }} + steps: + - name: Checkout codes + uses: actions/checkout@v4 + - name: Set up JDK 8 + uses: actions/setup-java@v4 + with: + java-version: '8' + distribution: 'temurin' + server-id: nexus-snapshots + server-username: MAVEN_USERNAME + server-password: MAVEN_PASSWORD + - name: Publish package + run: mvn clean deploy -B -U -Psonatype + env: + MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 2722259c1..3825858e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,3 +51,4 @@ - [feat: support gateway context, feign eager-load support default value.](https://github.com/Tencent/spring-cloud-tencent/pull/1504) - [feat:use polaris-all for shading third-party dependencies.](https://github.com/Tencent/spring-cloud-tencent/pull/1505) - [feat:support default instance circuit breaker rule.](https://github.com/Tencent/spring-cloud-tencent/pull/1506) +- [docs:update JDK version configuration in GitHub Actions.](https://github.com/Tencent/spring-cloud-tencent/pull/1507) diff --git a/spring-cloud-tencent-examples/quickstart-example/quickstart-callee-service-a/src/main/java/com/tencent/cloud/quickstart/callee/QuickstartCalleeController.java b/spring-cloud-tencent-examples/quickstart-example/quickstart-callee-service-a/src/main/java/com/tencent/cloud/quickstart/callee/QuickstartCalleeController.java index 56ed7aca1..af758762e 100644 --- a/spring-cloud-tencent-examples/quickstart-example/quickstart-callee-service-a/src/main/java/com/tencent/cloud/quickstart/callee/QuickstartCalleeController.java +++ b/spring-cloud-tencent-examples/quickstart-example/quickstart-callee-service-a/src/main/java/com/tencent/cloud/quickstart/callee/QuickstartCalleeController.java @@ -28,6 +28,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestHeader; @@ -42,6 +43,7 @@ import static com.tencent.cloud.common.constant.ContextConstant.UTF_8; * * @author Haotian Zhang */ +@RefreshScope @RestController @RequestMapping("/quickstart/callee") public class QuickstartCalleeController { diff --git a/spring-cloud-tencent-examples/quickstart-example/quickstart-callee-service-b/src/main/java/com/tencent/cloud/quickstart/callee/QuickstartCalleeController.java b/spring-cloud-tencent-examples/quickstart-example/quickstart-callee-service-b/src/main/java/com/tencent/cloud/quickstart/callee/QuickstartCalleeController.java index 6d9a976b1..8a36e7c77 100644 --- a/spring-cloud-tencent-examples/quickstart-example/quickstart-callee-service-b/src/main/java/com/tencent/cloud/quickstart/callee/QuickstartCalleeController.java +++ b/spring-cloud-tencent-examples/quickstart-example/quickstart-callee-service-b/src/main/java/com/tencent/cloud/quickstart/callee/QuickstartCalleeController.java @@ -27,6 +27,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; @@ -43,6 +44,7 @@ import static com.tencent.cloud.common.constant.ContextConstant.UTF_8; * * @author Haotian Zhang */ +@RefreshScope @RestController @RequestMapping("/quickstart/callee") public class QuickstartCalleeController { diff --git a/spring-cloud-tencent-examples/quickstart-example/quickstart-gateway-service/src/main/resources/application.yml b/spring-cloud-tencent-examples/quickstart-example/quickstart-gateway-service/src/main/resources/application.yml index d45c52e7b..dadcd07d7 100644 --- a/spring-cloud-tencent-examples/quickstart-example/quickstart-gateway-service/src/main/resources/application.yml +++ b/spring-cloud-tencent-examples/quickstart-example/quickstart-gateway-service/src/main/resources/application.yml @@ -50,6 +50,12 @@ spring: - Path=/QuickstartCallerService/** filters: - StripPrefix=1 + - id: QuickstartCalleeService + uri: lb://QuickstartCalleeService + predicates: + - Path=/QuickstartCalleeService/** + filters: + - StripPrefix=1 logging: file: name: /sct-demo-logs/${spring.application.name}/root.log