From 1f7563fcbd17856d88ba577a8470c1d3b0af1ffa Mon Sep 17 00:00:00 2001 From: fishtailfu Date: Thu, 15 May 2025 11:33:45 +0800 Subject: [PATCH] docs: simplify GitHub Actions. --- .github/workflows/junit.yml | 86 ++++++++++++++++++++++++++++++++ .github/workflows/junit_test.yml | 51 ------------------- 2 files changed, 86 insertions(+), 51 deletions(-) create mode 100644 .github/workflows/junit.yml delete mode 100644 .github/workflows/junit_test.yml diff --git a/.github/workflows/junit.yml b/.github/workflows/junit.yml new file mode 100644 index 000000000..34bb4153f --- /dev/null +++ b/.github/workflows/junit.yml @@ -0,0 +1,86 @@ +name: Junit Test + +on: + push: + branches: + - 2024 + - 2023 + - 2022 + - 2021 + - 2020 + - hoxton + - greenwich + pull_request: + branches: + - 2024 + - 2023 + - 2022 + - 2021 + - 2020 + - hoxton + - greenwich + +jobs: + set-jdks: + runs-on: ubuntu-latest + outputs: + jdks: ${{ steps.set-jdks.outputs.jdks }} + steps: + - name: Set JDK matrix based on branch + id: set-jdks + run: | + shopt -s nocasematch + branch_name=${{ github.ref_name }} + if [ -n "${{ github.base_ref }}" ]; then + branch_name=${{ github.base_ref }} + fi + echo $branch_name + if [[ "$branch_name" == "2024" ]]; then + echo "jdks=[17,21]" >> $GITHUB_OUTPUT + elif [[ "$branch_name" == "2023" ]]; then + echo "jdks=[17,21]" >> $GITHUB_OUTPUT + elif [[ "$branch_name" == "2022" ]]; then + echo "jdks=[17,21]" >> $GITHUB_OUTPUT + elif [[ "$branch_name" == "2021" ]]; then + echo "jdks=[8,11,17,21]" >> $GITHUB_OUTPUT + elif [[ "$branch_name" == "2020" ]]; then + echo "jdks=[8,11,17,21]" >> $GITHUB_OUTPUT + elif [[ "$branch_name" == "hoxton" ]]; then + echo "jdks=[8,11,17]" >> $GITHUB_OUTPUT + elif [[ "$branch_name" == "greenwich" ]]; then + echo "jdks=[8,11]" >> $GITHUB_OUTPUT + else + echo "jdks=[17]" >> $GITHUB_OUTPUT + fi + shopt -u nocasematch + junit: + strategy: + matrix: + java: ${{ fromJson(needs.set-jdks.outputs.jdks) }} + os: [ 'windows-latest', 'ubuntu-latest' ] + runs-on: ${{ matrix.os }} + needs: set-jdks + steps: + - name: Checkout codes + uses: actions/checkout@v4 + - name: Set up JDK ${{ matrix.java }} + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: ${{ matrix.java }} + - name: Cache local Maven repository + uses: actions/cache@v4 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: Test with Maven + run: mvn clean test -B -U -Psonatype + - name: Upload coverage to Codecov + if: matrix.os == 'ubuntu-latest' && matrix.java == 17 + 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/junit_test.yml b/.github/workflows/junit_test.yml deleted file mode 100644 index 51e9cce15..000000000 --- a/.github/workflows/junit_test.yml +++ /dev/null @@ -1,51 +0,0 @@ -# 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 - -on: - push: - branches: - - main - - 2021.0 - - 2020.0 - - greenwich - pull_request: - branches: - - main - - 2021.0 - - 2020.0 - - greenwich - -jobs: - build: - strategy: - matrix: - java: [ 8, 11, 17 ] - os: [ 'windows-latest', 'macos-latest', 'ubuntu-latest' ] - - runs-on: ${{ matrix.os }} - - steps: - - name: Checkout codes - uses: actions/checkout@v3 - - name: Set up JDK ${{ matrix.java }} - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - - name: Cache local Maven repository - uses: actions/cache@v3 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- -# - name: Build with Maven -# run: mvn -B package --file pom.xml - - name: Test with Maven - run: mvn -B test --file pom.xml - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 - with: - file: '**/target/site/jacoco/jacoco.xml'