You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2022/06/03 11:21:57 UTC

[archiva] branch master-jenkinsfile-it-test created (now 54b4711fc)

This is an automated email from the ASF dual-hosted git repository.

olamy pushed a change to branch master-jenkinsfile-it-test
in repository https://gitbox.apache.org/repos/asf/archiva.git


      at 54b4711fc run directly IT test instead of a separate file

This branch includes the following new commits:

     new 54b4711fc run directly IT test instead of a separate file

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[archiva] 01/01: run directly IT test instead of a separate file

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

olamy pushed a commit to branch master-jenkinsfile-it-test
in repository https://gitbox.apache.org/repos/asf/archiva.git

commit 54b4711fcce0eafaa2ab960eb876990291957411
Author: Olivier Lamy <ol...@apache.org>
AuthorDate: Fri Jun 3 21:21:42 2022 +1000

    run directly IT test instead of a separate file
    
    Signed-off-by: Olivier Lamy <ol...@apache.org>
---
 Jenkinsfile | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 93 insertions(+), 6 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index 14e5537d9..495a75d71 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -54,7 +54,7 @@ pipeline {
     }
     options {
         disableConcurrentBuilds()
-        buildDiscarder(logRotator(numToKeepStr: '7', artifactNumToKeepStr: '2'))
+        buildDiscarder(logRotator(numToKeepStr: '7', artifactNumToKeepStr: '1'))
     }
     parameters {
         booleanParam(name: 'PRECLEANUP', defaultValue: false, description: 'Clears the local maven repository before build.')
@@ -121,16 +121,103 @@ pipeline {
             }
         }
 
+        stage('Test htmlunit') {
+            steps {
+                timeout(120) {
+                    withMaven(maven: buildMvn, jdk: buildJdk,
+                            mavenSettingsConfig: deploySettings,
+                            mavenLocalRepo: localRepository,
+                            publisherStrategy: 'EXPLICIT',
+                            options: [concordionPublisher(disabled: true), dependenciesFingerprintPublisher(disabled: true),
+                                      findbugsPublisher(disabled: true), artifactsPublisher(disabled: true),
+                                      invokerPublisher(disabled: true), jgivenPublisher(disabled: true),
+                                      junitPublisher(disabled: true, ignoreAttachments: false),
+                                      openTasksPublisher(disabled: true), pipelineGraphPublisher(disabled: true)]
+                    )
+                            {
+                                sh "chmod 755 ./src/ci/scripts/prepareWorkspace.sh"
+                                sh "./src/ci/scripts/prepareWorkspace.sh -d '.repository'"
+                                // Needs a lot of time to reload the repository files, try without cleanup
+                                // Not sure, but maybe
+                                // sh "rm -rf .repository"
 
+                                // Run test phase / ignore test failures
+                                // -B: Batch mode
+                                // -U: Force snapshot update
+                                // -e: Produce execution error messages
+                                // -fae: Fail at the end
+                                // -Dmaven.compiler.fork=true: Compile in a separate forked process
+                                // -Pci-server: Profile for CI-Server
+                                // -Pit-js: Run the selenium test
+                                sh "mvn clean verify -B -V -U -e -fae -DmaxWaitTimeInMs=2000 -Pci-server -Pit-js -DtrimStackTrace=false -Djava.io.tmpdir=.tmp -pl :archiva-webapp-test"
 
-        stage('Postbuild') {
-            parallel {
-                stage('IntegrationTest') {
-                    steps {
-                        build(job: "${INTEGRATION_PIPELINE}/archiva/${env.BRANCH_NAME}", propagate: false, quietPeriod: 5, wait: false)
+                            }
+                }
+            }
+            post {
+                always {
+                    junit testResults: '**/target/failsafe-reports/TEST-*.xml'
+                }
+                failure {
+                    notifyBuild("Failure in Htmlunit test stage")
+                }
+            }
+        }
+
+        // Uses a docker container that is started by script. Maybe we could use the docker functionality
+        // of the jenkins pipeline in the future.
+        stage('Test chrome') {
+            steps {
+                timeout(120) {
+                    withCredentials([[$class : 'UsernamePasswordMultiBinding', credentialsId: DOCKERHUB_CREDS,
+                                      usernameVariable: 'DOCKER_HUB_USER', passwordVariable: 'DOCKER_HUB_PW']]) {
+                        withMaven(maven: buildMvn, jdk: buildJdk,
+                                mavenSettingsConfig: deploySettings,
+                                mavenLocalRepo: localRepository,
+                                publisherStrategy: 'EXPLICIT',
+                                options: [concordionPublisher(disabled: true), dependenciesFingerprintPublisher(disabled: true),
+                                          findbugsPublisher(disabled: true), artifactsPublisher(disabled: true),
+                                          invokerPublisher(disabled: true), jgivenPublisher(disabled: true),
+                                          junitPublisher(disabled: true, ignoreAttachments: false),
+                                          openTasksPublisher(disabled: true), pipelineGraphPublisher(disabled: true)]
+                        )
+                                {
+                                    sh "chmod 755 ./src/ci/scripts/prepareWorkspace.sh"
+                                    sh "./src/ci/scripts/prepareWorkspace.sh"
+                                    sh "chmod 755 src/ci/scripts/container_webtest.sh"
+                                    sh "src/ci/scripts/container_webtest.sh start"
+                                    // Needs a lot of time to reload the repository files, try without cleanup
+                                    // Not sure, but maybe
+                                    // sh "rm -rf .repository"
+
+                                    // Run test phase / ignore test failures
+                                    // -B: Batch mode
+                                    // -U: Force snapshot update
+                                    // -e: Produce execution error messages
+                                    // -fae: Fail at the end
+                                    // -Pci-server: Profile for CI Server
+                                    // -Pit-js: Runs the Selenium tests
+                                    // -Pchrome: Activates the Selenium Chrome Test Agent
+                                    sh "mvn clean verify -B -V -e -fae -DmaxWaitTimeInMs=2000 -DseleniumRemote=true -Pci-server -Pit-js -Pchrome -pl :archiva-webapp-test -DtrimStackTrace=false"
+                                }
                     }
                 }
+            }
+            post {
+                always {
+                    sh "src/ci/scripts/container_webtest.sh stop"
+                    junit testResults: '**/target/failsafe-reports/TEST-*.xml'
+                }
+                failure {
+                    notifyBuild("Failure in Chrome test stage")
+                }
+            }
+        }
+
+
 
+        stage('Postbuild') {
+            parallel {
                 stage('JDK11') {
                     environment {
                         ARCHIVA_USER_CONFIG_FILE = '/tmp/archiva-master-jdk-11-${env.JOB_NAME}.xml'