diff --git a/utils/ci/Jenkinsfile b/utils/ci/Jenkinsfile index 2e89a20df3e202b6796c77457023383d65100946..f97295ebe7f66345fb4f0ab562bb0769759d91d5 100644 --- a/utils/ci/Jenkinsfile +++ b/utils/ci/Jenkinsfile @@ -8,6 +8,8 @@ * * SPDX-License-Identifier: EPL-2.0 ********************************************************************************/ + // Needed for selectors +// import hudson.plugins.copyartifact.* pipeline { agent none @@ -98,22 +100,41 @@ spec: PYTHON_EXECUTABLE = 'python3' } stages { + stage('Linux: Cleanup') { + steps { + container('openpass-build') { + sh 'bash repo/utils/ci/scripts/prepare.sh' + } + } + } stage('Run E2E') { steps { - build job: 'opEnd2End_Test', parameters: [string(name: 'OPTESTRUNNER_URL', value: "${env.OPTESTRUNNER_URL}"), - string(name: 'GECCO_URL', value:"${env.GECCO_URL}"), - string(name: 'GTGEN_CLI_URL', value: "${env.GTGEN_CLI_URL}"), - string(name: 'GTGEN_SIM_URL', value: "${env.GTGEN_SIM_URL}")], - propagate: true + script { + def e2eDownStream = build(job: 'opEnd2End_Test', + parameters: [string(name: 'OPTESTRUNNER_URL', value: "${env.OPTESTRUNNER_URL}"), + string(name: 'GECCO_URL', value:"${env.GECCO_URL}"), + string(name: 'GTGEN_CLI_URL', value: "${env.GTGEN_CLI_URL}"), + string(name: 'GTGEN_SIM_URL', value: "${env.GTGEN_SIM_URL}")], + propagate: true, + wait: true) + echo "Copying artifacts from build #${e2eDownStream.number}" + sh 'pwd' + sh 'bash -c "cd artifacts && wget --no-check-certificate \"https://ci.eclipse.org/openpass/job/opEnd2End_Test/${e2eDownStream.number}/artifact/artifacts/openPASS_SIM.tar.gz\""' + // copyArtifacts( + // projectName: 'opEnd2End_Test', + // selector: specific("${e2eDownStream.number}"), + // filter: '**/*.tar.gz', + // target: 'artifacts/' + // ) + } } } } post { always { script { - sh 'bash repo/utils/ci/scripts/90_pack_artifacts.sh' + // sh 'bash repo/utils/ci/scripts/90_pack_artifacts.sh' archiveArtifacts allowEmptyArchive: true, artifacts: 'artifacts/**', followSymlinks: false - junit allowEmptyResults: true, testResults: 'build/**/*Tests.xml,repo/sim/tests/endToEndTests/pyOpenPASS/result_*.xml' } } } diff --git a/utils/ci/scripts/prepare.sh b/utils/ci/scripts/prepare.sh new file mode 100755 index 0000000000000000000000000000000000000000..8b40484965ccae0933b2b4f54da7ab0996dcfacb --- /dev/null +++ b/utils/ci/scripts/prepare.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +################################################################################ +# Copyright (c) 2021 in-tech GmbH +# 2022-2025 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +# +# This program and the accompanying materials are made available under the +# terms of the Eclipse Public License 2.0 which is available at +# http://www.eclipse.org/legal/epl-2.0. +# +# SPDX-License-Identifier: EPL-2.0 +################################################################################ + +################################################################################ +# This script prepares building +################################################################################ + +MYDIR="$(dirname "$(readlink -f $0)")" +cd "$MYDIR/../../../.." || exit 1 + +if [ ! -d repo ]; then + echo "repo folder doesn't exist as expected. exiting." + exit 1 +fi + +# wipe build directories and pyOpenPASS results +rm -rf artifacts deps +mkdir artifacts +pwd +printenv + +exit 0