mirror of
				https://github.com/NginxProxyManager/nginx-proxy-manager.git
				synced 2025-10-31 07:43:33 +00:00 
			
		
		
		
	Major update to cypress
- Updated cypress - Ground work for testing DNS certs in CI
This commit is contained in:
		
							
								
								
									
										120
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										120
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
								
							| @@ -18,10 +18,8 @@ pipeline { | ||||
| 		BUILD_VERSION              = getVersion() | ||||
| 		MAJOR_VERSION              = '2' | ||||
| 		BRANCH_LOWER               = "${BRANCH_NAME.toLowerCase().replaceAll('\\\\', '-').replaceAll('/', '-').replaceAll('\\.', '-')}" | ||||
| 		COMPOSE_PROJECT_NAME       = "npm_${BRANCH_LOWER}_${BUILD_NUMBER}" | ||||
| 		COMPOSE_FILE               = 'docker/docker-compose.ci.yml' | ||||
| 		BUILDX_NAME                = "npm_${BRANCH_LOWER}_${BUILD_NUMBER}" | ||||
| 		COMPOSE_INTERACTIVE_NO_CLI = 1 | ||||
| 		BUILDX_NAME                = "${COMPOSE_PROJECT_NAME}" | ||||
| 	} | ||||
| 	stages { | ||||
| 		stage('Environment') { | ||||
| @@ -94,75 +92,61 @@ pipeline { | ||||
| 						} | ||||
| 					} | ||||
| 				} | ||||
| 				stage('Cypress') { | ||||
| 					steps { | ||||
| 						// Creating will also create the network prior to | ||||
| 						// using it in parallel stages below and mitigating | ||||
| 						// a race condition. | ||||
| 						sh 'docker-compose build cypress-sqlite' | ||||
| 						sh 'docker-compose build cypress-mysql' | ||||
| 						sh 'docker-compose create cypress-sqlite' | ||||
| 						sh 'docker-compose create cypress-mysql' | ||||
| 					} | ||||
| 			} | ||||
| 		} | ||||
| 		stage('Test Sqlite') { | ||||
| 			environment { | ||||
| 				COMPOSE_PROJECT_NAME = "npm_${BRANCH_LOWER}_${BUILD_NUMBER}_sqlite" | ||||
| 				COMPOSE_FILE         = 'docker/docker-compose.ci.yml:docker/docker-compose.ci.sqlite.yml' | ||||
| 			} | ||||
| 			when { | ||||
| 				not { | ||||
| 					equals expected: 'UNSTABLE', actual: currentBuild.result | ||||
| 				} | ||||
| 			} | ||||
| 			steps { | ||||
| 				sh 'rm -rf ./test/results/junit/*' | ||||
| 				sh './scripts/ci/fulltest-cypress' | ||||
| 			} | ||||
| 			post { | ||||
| 				always { | ||||
| 					// Dumps to analyze later | ||||
| 					sh 'mkdir -p debug/sqlite' | ||||
| 					sh 'docker logs $(docker-compose ps --all -q fullstack) > debug/sqlite/docker_fullstack.log 2>&1' | ||||
| 					sh 'docker logs $(docker-compose ps --all -q stepca) > debug/sqlite/docker_stepca.log 2>&1' | ||||
| 					sh 'docker logs $(docker-compose ps --all -q pdns) > debug/sqlite/docker_pdns.log 2>&1' | ||||
| 					sh 'docker logs $(docker-compose ps --all -q pdns-db) > debug/sqlite/docker_pdns-db.log 2>&1' | ||||
| 					sh 'docker logs $(docker-compose ps --all -q dnsrouter) > debug/sqlite/docker_dnsrouter.log 2>&1' | ||||
| 					junit 'test/results/junit/*' | ||||
| 					sh 'docker-compose down --remove-orphans --volumes -t 30 || true' | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 		stage('Integration Tests') { | ||||
| 			parallel { | ||||
| 				stage('Sqlite') { | ||||
| 					steps { | ||||
| 						// Bring up a stack | ||||
| 						sh 'docker-compose up -d fullstack-sqlite' | ||||
| 						sh './scripts/wait-healthy $(docker-compose ps --all -q fullstack-sqlite) 120' | ||||
| 						// Stop and Start it, as this will test it's ability to restart with existing data | ||||
| 						sh 'docker-compose stop fullstack-sqlite' | ||||
| 						sh 'docker-compose start fullstack-sqlite' | ||||
| 						sh './scripts/wait-healthy $(docker-compose ps --all -q fullstack-sqlite) 120' | ||||
|  | ||||
| 						// Run tests | ||||
| 						sh 'rm -rf test/results-sqlite' | ||||
| 						sh 'docker-compose up cypress-sqlite' | ||||
| 						// Get results | ||||
| 						sh 'docker cp -L "$(docker-compose ps --all -q cypress-sqlite):/test/results" test/results-sqlite' | ||||
| 					} | ||||
| 					post { | ||||
| 						always { | ||||
| 							// Dumps to analyze later | ||||
| 							sh 'mkdir -p debug/sqlite' | ||||
| 							sh 'docker-compose logs fullstack-sqlite > debug/sqlite/docker_fullstack_sqlite.log' | ||||
| 							// Cypress videos and screenshot artifacts | ||||
| 							dir(path: 'test/results-sqlite') { | ||||
| 								archiveArtifacts allowEmptyArchive: true, artifacts: '**/*', excludes: '**/*.xml' | ||||
| 							} | ||||
| 							junit 'test/results-sqlite/junit/*' | ||||
| 						} | ||||
| 					} | ||||
| 		stage('Test Mysql') { | ||||
| 			environment { | ||||
| 				COMPOSE_PROJECT_NAME = "npm_${BRANCH_LOWER}_${BUILD_NUMBER}_mysql" | ||||
| 				COMPOSE_FILE         = 'docker/docker-compose.ci.yml:docker/docker-compose.ci.mysql.yml' | ||||
| 			} | ||||
| 			when { | ||||
| 				not { | ||||
| 					equals expected: 'UNSTABLE', actual: currentBuild.result | ||||
| 				} | ||||
| 				stage('Mysql') { | ||||
| 					steps { | ||||
| 						// Bring up a stack | ||||
| 						sh 'docker-compose up -d fullstack-mysql' | ||||
| 						sh './scripts/wait-healthy $(docker-compose ps --all -q fullstack-mysql) 120' | ||||
|  | ||||
| 						// Run tests | ||||
| 						sh 'rm -rf test/results-mysql' | ||||
| 						sh 'docker-compose up cypress-mysql' | ||||
| 						// Get results | ||||
| 						sh 'docker cp -L "$(docker-compose ps --all -q cypress-mysql):/test/results" test/results-mysql' | ||||
| 					} | ||||
| 					post { | ||||
| 						always { | ||||
| 							// Dumps to analyze later | ||||
| 							sh 'mkdir -p debug/mysql' | ||||
| 							sh 'docker-compose logs fullstack-mysql > debug/mysql/docker_fullstack_mysql.log' | ||||
| 							sh 'docker-compose logs db > debug/mysql/docker_db.log' | ||||
| 							// Cypress videos and screenshot artifacts | ||||
| 							dir(path: 'test/results-mysql') { | ||||
| 								archiveArtifacts allowEmptyArchive: true, artifacts: '**/*', excludes: '**/*.xml' | ||||
| 							} | ||||
| 							junit 'test/results-mysql/junit/*' | ||||
| 						} | ||||
| 					} | ||||
| 			} | ||||
| 			steps { | ||||
| 				sh 'rm -rf ./test/results/junit/*' | ||||
| 				sh './scripts/ci/fulltest-cypress' | ||||
| 			} | ||||
| 			post { | ||||
| 				always { | ||||
| 					// Dumps to analyze later | ||||
| 					sh 'mkdir -p debug/mysql' | ||||
| 					sh 'docker logs $(docker-compose ps --all -q fullstack) > debug/mysql/docker_fullstack.log 2>&1' | ||||
| 					sh 'docker logs $(docker-compose ps --all -q stepca) > debug/mysql/docker_stepca.log 2>&1' | ||||
| 					sh 'docker logs $(docker-compose ps --all -q pdns) > debug/mysql/docker_pdns.log 2>&1' | ||||
| 					sh 'docker logs $(docker-compose ps --all -q pdns-db) > debug/mysql/docker_pdns-db.log 2>&1' | ||||
| 					sh 'docker logs $(docker-compose ps --all -q dnsrouter) > debug/mysql/docker_dnsrouter.log 2>&1' | ||||
| 					junit 'test/results/junit/*' | ||||
| 					sh 'docker-compose down --remove-orphans --volumes -t 30 || true' | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user