From e23e768e8ee71a05eaa4f626d9d69d5c693f27b5 Mon Sep 17 00:00:00 2001 From: "James R. Perkins" Date: Wed, 15 Nov 2023 11:05:52 -0800 Subject: [PATCH 1/3] Reduce the number of PR jobs ran. Only run legacy jobs after a push is made. Signed-off-by: James R. Perkins --- .github/workflows/ci.yml | 79 ++++++++++++++---------------- .github/workflows/legacy-build.yml | 59 ++++++++++++++++++++++ 2 files changed, 95 insertions(+), 43 deletions(-) create mode 100644 .github/workflows/legacy-build.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 720270be..0a396773 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,25 +7,17 @@ on: push: branches-ignore: - 'dependabot/**' - paths-ignore: - - '.gitignore' - - "CODEOWNERS" - - "CODE_OF_CONDUCT.md" - - "CONTRIBUTING.adoc" - - "dco.txt" - - "LICENSE.txt" - - "README.md" - - "security.txt" + paths: + - 'core/**' + - 'plugin/**' + - 'tests/**' + - '**/pom.xml' pull_request: - paths-ignore: - - '.gitignore' - - "CODEOWNERS" - - "CODE_OF_CONDUCT.md" - - "CONTRIBUTING.adoc" - - "dco.txt" - - "LICENSE.txt" - - "README.md" - - "security.txt" + paths: + - 'core/**' + - 'plugin/**' + - 'tests/**' + - '**/pom.xml' # Only run the latest job concurrency: @@ -34,15 +26,32 @@ concurrency: jobs: + + format-check: + runs-on: ubuntu-latest + timeout-minutes: 30 + + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: 11 + distribution: 'temurin' + cache: 'maven' + - name: Validate Formatting + run: | + mvn -B validate -Pformat-check -Denforcer.skip=true + build: name: ${{ matrix.os }}-jdk${{ matrix.java }}-${{ matrix.wildfly-version }} + needs: format-check runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest ] - java: ['11', '17'] - wildfly-version: ['26.1.3.Final', '27.0.1.Final'] + java: ['11', '17', '21'] steps: - uses: actions/checkout@v4 @@ -53,38 +62,22 @@ jobs: cache: 'maven' distribution: 'temurin' - name: Build and Test on ${{ matrix.java }} - ${{ matrix.wildfly-version }} - run: mvn clean install '-Dorg.jboss.logmanager.nocolor=true' '-Dversion.org.wildfly=${{ matrix.wildfly-version }}' + run: mvn clean install '-Dorg.jboss.logmanager.nocolor=true' - name: Upload surefire logs for failed run uses: actions/upload-artifact@v3 if: failure() with: - name: surefire-reports-${{ matrix.os }}-${{ matrix.java }}-${{ matrix.wildfly-version }} - path: '**/surefire-reports/*.txt' + name: surefire-reports-${{ matrix.os }}-${{ matrix.java }} + path: '**/surefire-reports/' - name: Upload failsafe logs for failed run uses: actions/upload-artifact@v3 if: failure() with: - name: failsafe-reports-${{ matrix.os }}-${{ matrix.java }}-${{ matrix.wildfly-version }} - path: '**/failsafe-reports/*.txt' + name: failsafe-reports-${{ matrix.os }}-${{ matrix.java }} + path: '**/failsafe-reports/' - name: Upload logs for failed run uses: actions/upload-artifact@v3 if: failure() with: - name: server-logs-${{ matrix.os }}-${{ matrix.java }}-${{ matrix.wildfly-version }} - path: '**/*.log' - - format-check: - runs-on: ubuntu-latest - timeout-minutes: 30 - - steps: - - uses: actions/checkout@v4 - - name: Set up JDK 11 - uses: actions/setup-java@v3 - with: - java-version: 11 - distribution: 'temurin' - cache: 'maven' - - name: Validate Formatting - run: | - mvn -B validate -Pformat-check -Denforcer.skip=true \ No newline at end of file + name: server-logs-${{ matrix.os }}-${{ matrix.java }} + path: '**/*.log' \ No newline at end of file diff --git a/.github/workflows/legacy-build.yml b/.github/workflows/legacy-build.yml new file mode 100644 index 00000000..41476dc6 --- /dev/null +++ b/.github/workflows/legacy-build.yml @@ -0,0 +1,59 @@ +# 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: WildFly Maven Plugin Legacy Tests + +on: + push: + branches-ignore: + - 'dependabot/**' + paths: + - 'core/**' + - 'plugin/**' + - 'tests/**' + - '**/pom.xml' + +# Only run the latest job +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + + +jobs: + legacy-build: + name: legacy-jdk${{ matrix.java }}-${{ matrix.wildfly-version }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + java: ['11'] + wildfly-version: ['26.1.3.Final', '27.0.1.Final'] + + steps: + - uses: actions/checkout@v4 + - name: Set up JDK ${{ matrix.java }} + uses: actions/setup-java@v3 + with: + java-version: ${{ matrix.java }} + cache: 'maven' + distribution: 'temurin' + - name: Build and Test on ${{ matrix.java }} - ${{ matrix.wildfly-version }} + run: mvn clean install '-Dorg.jboss.logmanager.nocolor=true' '-Dversion.org.wildfly=${{ matrix.wildfly-version }}' + - name: Upload surefire logs for failed run + uses: actions/upload-artifact@v3 + if: failure() + with: + name: surefire-reports-${{ matrix.java }}-${{ matrix.wildfly-version }} + path: '**/surefire-reports/' + - name: Upload failsafe logs for failed run + uses: actions/upload-artifact@v3 + if: failure() + with: + name: failsafe-reports-${{ matrix.java }}-${{ matrix.wildfly-version }} + path: '**/failsafe-reports/' + - name: Upload logs for failed run + uses: actions/upload-artifact@v3 + if: failure() + with: + name: server-logs-${{ matrix.java }}-${{ matrix.wildfly-version }} + path: '**/*.log' \ No newline at end of file From 5ca4a5bebc7efab20cf1c4d7aff22207ecf9ff8e Mon Sep 17 00:00:00 2001 From: "James R. Perkins" Date: Wed, 15 Nov 2023 11:06:03 -0800 Subject: [PATCH 2/3] Upgrade testing to WildFly 30 Signed-off-by: James R. Perkins --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5a01dba1..708dee0e 100644 --- a/pom.xml +++ b/pom.xml @@ -94,7 +94,7 @@ 1.6.0.Final 22.0.1.Final - 27.0.1.Final + 30.0.0.Final 1.0.5.Final 1.2.0.Final From 29a96193ae87b59e98882b7e5728a5bfe18b62f7 Mon Sep 17 00:00:00 2001 From: "James R. Perkins" Date: Wed, 15 Nov 2023 11:12:29 -0800 Subject: [PATCH 3/3] Skip the ImageTest.testBuildImage on Windows as the test is flaky on CI. Signed-off-by: James R. Perkins --- .../src/test/java/org/wildfly/plugin/provision/ImageTest.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/standalone-tests/src/test/java/org/wildfly/plugin/provision/ImageTest.java b/tests/standalone-tests/src/test/java/org/wildfly/plugin/provision/ImageTest.java index a020a88d..2c0d3c7b 100644 --- a/tests/standalone-tests/src/test/java/org/wildfly/plugin/provision/ImageTest.java +++ b/tests/standalone-tests/src/test/java/org/wildfly/plugin/provision/ImageTest.java @@ -30,10 +30,12 @@ import org.apache.maven.plugin.Mojo; import org.apache.maven.plugin.MojoExecutionException; +import org.junit.Assume; import org.junit.BeforeClass; import org.junit.Test; import org.wildfly.plugin.tests.AbstractProvisionConfiguredMojoTestCase; import org.wildfly.plugin.tests.AbstractWildFlyMojoTest; +import org.wildfly.plugin.tests.TestEnvironment; public class ImageTest extends AbstractProvisionConfiguredMojoTestCase { @@ -49,6 +51,7 @@ public static void checkDockerInstallation() { @Test public void testBuildImage() throws Exception { + Assume.assumeFalse("This test is flaky on Windows, ignore it on Windows.", TestEnvironment.isWindows()); final String binary = ExecUtil.resolveImageBinary(); try { assertTrue(