From d1189e42dff6f377b8c719d66d8fffad836d4da8 Mon Sep 17 00:00:00 2001 From: Haotian Zhang <928016560@qq.com> Date: Thu, 2 Mar 2023 17:05:58 +0800 Subject: [PATCH] docs:support auto snapshot release in GitHub Action. (#868) --- .github/workflows/codecov.yml | 15 ++--- .github/workflows/junit_test.yml | 5 +- .github/workflows/snapshot.yml | 30 +++++++++ CHANGELOG.md | 1 + README-zh.md | 2 +- README.md | 2 +- pom.xml | 22 +++---- spring-cloud-tencent-commons/pom.xml | 6 ++ .../pojo/PolarisServiceInstanceTest.java | 63 +++++++++++++++++++ spring-cloud-tencent-dependencies/pom.xml | 22 +++---- 10 files changed, 135 insertions(+), 33 deletions(-) create mode 100644 .github/workflows/snapshot.yml create mode 100644 spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/pojo/PolarisServiceInstanceTest.java diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml index 7f635f05f..011787bdb 100644 --- a/.github/workflows/codecov.yml +++ b/.github/workflows/codecov.yml @@ -3,33 +3,34 @@ name: Codecov on: push: branches: - - hoxton + - 2022.0 - 2021.0 - 2020.0 + - hoxton - greenwich pull_request: branches: - - hoxton + - 2022.0 - 2021.0 - 2020.0 + - hoxton - greenwich jobs: - build: + codecov: runs-on: ubuntu-latest steps: - name: Checkout codes uses: actions/checkout@v3 - - name: Set up JDK 8 + - name: Set up JDK 17 uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: 8 + java-version: 17 - name: Test with Maven - run: mvn clean test -f pom.xml -B -P sonatype -U + run: mvn clean test -B -U -Psonatype - name: Upload coverage to Codecov uses: codecov/codecov-action@v3 with: - token: ${{ secrets.CODECOV_TOKEN }} files: ${{ github.workspace }}/target/site/jacoco/jacoco.xml diff --git a/.github/workflows/junit_test.yml b/.github/workflows/junit_test.yml index 13f2c7aeb..c26f1d8be 100644 --- a/.github/workflows/junit_test.yml +++ b/.github/workflows/junit_test.yml @@ -18,7 +18,7 @@ on: - greenwich jobs: - build: + junit: strategy: matrix: java: [ 8, 11, 17 ] @@ -42,4 +42,5 @@ jobs: restore-keys: | ${{ runner.os }}-maven- - name: Test with Maven - run: mvn clean test -f pom.xml -B -P sonatype -U + run: mvn clean test -B -U -Psonatype + diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml new file mode 100644 index 000000000..2b2f53701 --- /dev/null +++ b/.github/workflows/snapshot.yml @@ -0,0 +1,30 @@ +name: Snapshot + +on: + push: + branches: + - 2022.0 + - 2021.0 + - 2020.0 + - hoxton + - greenwich + +jobs: + snapshot: + runs-on: ubuntu-latest + steps: + - name: Checkout codes + uses: actions/checkout@v3 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + 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 5d8e0fa19..98846b63e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,3 +9,4 @@ - [feat:enable stat reporting as default.](https://github.com/Tencent/spring-cloud-tencent/pull/862) - [optimize:optimize ServiceRuleManager.](https://github.com/Tencent/spring-cloud-tencent/pull/869) - [refactor:update to junit 5.](https://github.com/Tencent/spring-cloud-tencent/pull/865) +- [docs:support auto snapshot release in GitHub Action.](https://github.com/Tencent/spring-cloud-tencent/pull/868) diff --git a/README-zh.md b/README-zh.md index 5b61abfa6..b0f9df884 100644 --- a/README-zh.md +++ b/README-zh.md @@ -5,7 +5,7 @@ [![Contributors](https://img.shields.io/github/contributors/Tencent/spring-cloud-tencent)](https://github.com/Tencent/spring-cloud-tencent/graphs/contributors) [![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) -[![Build Status](https://github.com/Tencent/spring-cloud-tencent/actions/workflows/junit_test.yml/badge.svg)](https://github.com/Tencent/spring-cloud-tencent/actions/workflows/junit_test.yml) +[![Test with Junit](https://github.com/Tencent/spring-cloud-tencent/actions/workflows/junit_test.yml/badge.svg?branch=2021.0)](https://github.com/Tencent/spring-cloud-tencent/actions/workflows/junit_test.yml) [![codecov.io](https://codecov.io/gh/Tencent/spring-cloud-tencent/branch/2021.0/graph/badge.svg)](https://codecov.io/gh/Tencent/spring-cloud-tencent?branch=2021.0) [English](./README.md) | 简体中文 diff --git a/README.md b/README.md index f45a22251..49fe48012 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![Contributors](https://img.shields.io/github/contributors/Tencent/spring-cloud-tencent)](https://github.com/Tencent/spring-cloud-tencent/graphs/contributors) [![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) -[![Build Status](https://github.com/Tencent/spring-cloud-tencent/actions/workflows/junit_test.yml/badge.svg)](https://github.com/Tencent/spring-cloud-tencent/actions/workflows/junit_test.yml) +[![Test with Junit](https://github.com/Tencent/spring-cloud-tencent/actions/workflows/junit_test.yml/badge.svg?branch=2021.0)](https://github.com/Tencent/spring-cloud-tencent/actions/workflows/junit_test.yml) [![codecov.io](https://codecov.io/gh/Tencent/spring-cloud-tencent/branch/2021.0/graph/badge.svg)](https://codecov.io/gh/Tencent/spring-cloud-tencent?branch=2021.0) English | [简体中文](./README-zh.md) diff --git a/pom.xml b/pom.xml index 156a4aac9..3731b3297 100644 --- a/pom.xml +++ b/pom.xml @@ -204,6 +204,7 @@ 1 false + ${argLine} @@ -291,17 +292,6 @@ - - - - nexus-snapshots - https://oss.sonatype.org/content/repositories/snapshots/ - - - nexus-releases - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - sonatype @@ -331,4 +321,14 @@ + + + nexus-snapshots + https://oss.sonatype.org/content/repositories/snapshots/ + + + nexus-releases + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + diff --git a/spring-cloud-tencent-commons/pom.xml b/spring-cloud-tencent-commons/pom.xml index db4ac9acb..29cd2b0ec 100644 --- a/spring-cloud-tencent-commons/pom.xml +++ b/spring-cloud-tencent-commons/pom.xml @@ -100,6 +100,12 @@ true + + com.tencent.polaris + polaris-test-common + test + + uk.org.webcompere system-stubs-jupiter diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/pojo/PolarisServiceInstanceTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/pojo/PolarisServiceInstanceTest.java new file mode 100644 index 000000000..afa2eec25 --- /dev/null +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/pojo/PolarisServiceInstanceTest.java @@ -0,0 +1,63 @@ +/* + * Tencent is pleased to support the open source community by making Spring Cloud Tencent available. + * + * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved. + * + * Licensed under the BSD 3-Clause License (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://opensource.org/licenses/BSD-3-Clause + * + * Unless required by applicable law or agreed to in writing, software distributed + * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + +package com.tencent.cloud.common.pojo; + +import com.tencent.polaris.api.pojo.Instance; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; + +import static com.tencent.polaris.test.common.Consts.SERVICE_PROVIDER; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; + +/** + * Test for {@link PolarisServiceInstance}. + * + * @author Haotian Zhang + */ +@ExtendWith(MockitoExtension.class) +public class PolarisServiceInstanceTest { + + @Test + @DisplayName("test getters and setters.") + void test() { + Instance secureInstance = mock(Instance.class); + doReturn("test-ID").when(secureInstance).getId(); + doReturn(SERVICE_PROVIDER).when(secureInstance).getService(); + doReturn("1.1.1.1").when(secureInstance).getHost(); + doReturn(8080).when(secureInstance).getPort(); + doReturn("https").when(secureInstance).getProtocol(); + + PolarisServiceInstance securePolarisServiceInstance = new PolarisServiceInstance(secureInstance); + assertThat(securePolarisServiceInstance.getInstanceId()).isEqualTo("test-ID"); + assertThat(securePolarisServiceInstance.getServiceId()).isEqualTo(SERVICE_PROVIDER); + assertThat(securePolarisServiceInstance.getHost()).isEqualTo("1.1.1.1"); + assertThat(securePolarisServiceInstance.getPort()).isEqualTo(8080); + assertThat(securePolarisServiceInstance.isSecure()).isTrue(); + assertThat(securePolarisServiceInstance.getScheme()).isEqualTo("https"); + + Instance insecureInstance = mock(Instance.class); + doReturn("http").when(insecureInstance).getProtocol(); + PolarisServiceInstance insecurePolarisServiceInstance = new PolarisServiceInstance(insecureInstance); + assertThat(insecurePolarisServiceInstance.isSecure()).isFalse(); + assertThat(insecurePolarisServiceInstance.getScheme()).isEqualTo("http"); + } +} diff --git a/spring-cloud-tencent-dependencies/pom.xml b/spring-cloud-tencent-dependencies/pom.xml index ef2c6afac..2195ddd6c 100644 --- a/spring-cloud-tencent-dependencies/pom.xml +++ b/spring-cloud-tencent-dependencies/pom.xml @@ -332,17 +332,17 @@ - - - - nexus-snapshots - https://oss.sonatype.org/content/repositories/snapshots/ - - - nexus-releases - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - + + + + nexus-snapshots + https://oss.sonatype.org/content/repositories/snapshots/ + + + nexus-releases + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + +