代码拉取完成,页面将自动刷新
def get_UT_Standalone_build_result(test_dir, log_dir, DATE_STR) {
sh """
cd ${test_dir}
if grep -q "ninja success!" ${log_dir}/standalone_${DATE_STR}_x64_release_unittest.log; then
sed -i 's/release_standalone_UT_ID/Success/g' ${test_dir}/result/stability_report.html
else
sed -i 's/release_standalone_UT_ID/FAIL/g' ${test_dir}/result/stability_report.html
fi
if grep -q "ninja success!" ${log_dir}/standalone_${DATE_STR}_x64_debug_unittest.log; then
sed -i 's/debug_standalone_UT_ID/Success/g' ${test_dir}/result/stability_report.html
else
sed -i 's/debug_standalone_UT_ID/FAIL/g' ${test_dir}/result/stability_report.html
fi
"""
}
def get_Jit_Standalone_build_result(test_dir, log_dir, DATE_STR) {
sh """
cd ${test_dir}
# 处理 release 日志文件
tail -n 5 ${log_dir}/standalone_${DATE_STR}_x64_jit_release.log > standalone_release.txt
total=\$(grep "total:" "standalone_release.txt" | awk '{print \$2}')
sed -i "s#jit_workload: 0#total: \$total#" ${test_dir}/result/stability_report.html
fail=\$(grep "fail:" "standalone_release.txt" | awk '{print \$2}')
passed=\$((total - fail))
replacement="Passed: \$passed"
sed -i "s/passed_workload: 0/\$replacement/" ${test_dir}/result/stability_report.html
replacement="fail: \$fail"
sed -i "s/failed_workload: 0/\$replacement/" ${test_dir}/result/stability_report.html
jit_time=\$(grep "ark_js_vm_x64_jit_time" "standalone_release.txt" | awk '{print \$2}')
replacement="jit_time: \$jit_time"
sed -i "s/workload_time: 0/\$replacement/" ${test_dir}/result/stability_report.html
rm -rf standalone_release.txt
"""
}
def get_test262_result(test_dir, log_dir, DATE_STR) {
sh """
cd ${test_dir}/result
# 处理 release 日志文件
tail -n 80 ${log_dir}/standalone_${DATE_STR}_x64_release_test262.log > standalone_release.txt
ran=\$(grep "Ran" standalone_release.txt | awk '{print \$2}')
echo "Extracted ran: \$ran"
sed -i "s#run_asmint_release: 0#run_asmint_release: \$ran#" stability_report.html
passed=\$(grep "passed" standalone_release.txt | awk '{print \$1}')
echo "Extracted passed: \$passed"
sed -i "s#passed_asmint_release: 0#passed_asmint_release: \$passed#" stability_report.html
failed=\$(grep "failed" standalone_release.txt | awk '{print \$1}')
echo "Extracted failed: \$failed"
sed -i "s#failed_asmint_release: 0#failed_asmint_release: \$failed#" stability_report.html
time=\$(grep "used time is" standalone_release.txt | awk -F ': ' '{print \$2}')
echo "Extracted time: \$time"
sed -i "s#used_time_asmint_release: 0#used_time_asmint_release: \$time#" stability_report.html
rm -rf standalone_release.txt
# 处理 debug 日志文件
tail -n 80 ${log_dir}/standalone_${DATE_STR}_x64_debug_test262.log > standalone_debug.txt
ran=\$(grep "Ran" standalone_debug.txt | awk '{print \$2}')
echo "Extracted ran: \$ran"
sed -i "s#run_asmint_debug: 0#run_asmint_debug: \$ran#" stability_report.html
passed=\$(grep "passed" standalone_debug.txt | awk '{print \$1}')
echo "Extracted passed: \$passed"
sed -i "s#passed_asmint_debug: 0#passed_asmint_debug: \$passed#" stability_report.html
failed=\$(grep "failed" standalone_debug.txt | awk '{print \$1}')
echo "Extracted failed: \$failed"
sed -i "s#failed_asmint_debug: 0#failed_asmint_debug: \$failed#" stability_report.html
time=\$(grep "used time is" standalone_debug.txt | awk -F ': ' '{print \$2}')
echo "Extracted time: \$time"
sed -i "s#used_time_asmint_debug: 0#used_time_asmint_debug: \$time#" stability_report.html
rm -rf standalone_debug.txt
"""
}
def get_test262_aot_result(test_dir, log_dir, DATE_STR) {
sh """
cd ${test_dir}/result
# 处理 release 日志文件
tail -n 80 ${log_dir}/standalone_${DATE_STR}_x64_release_test262_aot.log > standalone_release.txt
ran=\$(grep "Ran " standalone_release.txt | awk '{print \$2}' | tr -d '\n')
echo "Extracted ran: \$ran"
sed -i "s#run_aot_release: 0#run_aot_release: \$ran#" stability_report.html
passed=\$(grep "passed" standalone_release.txt | awk '{print \$1}' | tr -d '\n')
echo "Extracted passed: \$passed"
sed -i "s#passed_aot_release: 0#passed_aot_release: \$passed#" stability_report.html
failed=\$(grep "failed" standalone_release.txt | awk '{print \$1}' | tr -d '\n')
echo "Extracted failed: \$failed"
sed -i "s#failed_aot_release: 0#failed_aot_release: \$failed#" stability_report.html
time=\$(grep "used time is" standalone_release.txt | awk -F ': ' '{print \$2}' | tr -d '\n')
echo "Extracted time: \$time"
sed -i "s#used_time_aot_release: 0#used_time_aot_release: \$time#" stability_report.html
rm -rf standalone_release.txt
"""
}
def get_regress_result(test_dir, log_dir, DATE_STR) {
sh """
cd ${test_dir}/result
# 处理 release 日志文件
tail -n 80 ${log_dir}/result.txt > standalone_release.txt
ran=\$(grep "total count: " standalone_release.txt | awk '{print \$3}' | tr -d '\n')
echo "Extracted ran: \$ran"
sed -i "s#run_regress: 0#run_regress: \$ran#" stability_report.html
passed=\$(grep "pass count: " standalone_release.txt | awk '{print \$3}' | tr -d '\n')
echo "Extracted passed: \$passed"
sed -i "s#passed_regress: 0#passed_regress: \$passed#" stability_report.html
failed=\$(grep "fail count: " standalone_release.txt | awk '{print \$3}' | tr -d '\n')
echo "Extracted failed: \$failed"
sed -i "s#failed_regress: 0#failed_regress: \$failed#" stability_report.html
rm -rf standalone_release.txt
"""
}
pipeline {
agent {
label 'stability1'
}
options {
timeout(time: 1000, unit: 'MINUTES')
}
environment {
REPO_PATH = '/home/z30061262/bin'
PATH = "${REPO_PATH}:${env.PATH}"
DATE_STR = sh(script: 'date +%Y%m%d', returnStdout: true).trim()
}
stages {
stage('Clean Workspace') {
steps {
deleteDir()
}
}
stage('Initialize') {
steps {
script {
def templateDir = "${env.WORKSPACE}/../../template"
sh "mkdir -p result"
sh "mkdir -p log_result"
sh "cp ${templateDir}/stability_report.template ${env.WORKSPACE}/result/stability_report.html"
def projectRoot = env.WORKSPACE
}
}
}
stage('Download Source Code') {
steps {
script {
// Ensuring current directory is WORKSPACE at the start
dir(env.WORKSPACE) {
sh '''
# Initialize repo and sync
repo init -u https://gitee.com/ark-standalone-build/manifest.git -b master
repo sync -c -j8
repo forall -c 'git lfs pull'
cp ./../../patch/harness.patch ./arkcompiler/ets_frontend/test262/harness.patch
bash ./../../template/arkchange.sh ./
'''
}
}
}
}
stage('Download Source Workload') {
steps {
script {
// Ensuring current directory is WORKSPACE at the start
dir(env.WORKSPACE) {
sh '''
# Pulling Workload resources
git clone -b workload_preheat https://gitee.com/haizaibali/ohcompiler-daily.git
'''
}
}
}
}
stage('Download Prebuilts') {
steps {
sh './prebuilts_download.sh'
}
}
stage('Build Executables') {
steps {
sh 'python ark.py x64.release es2panda ark_js_vm ark_aot_compiler'
sh 'python ark.py arm64.release'
}
}
stage('Run UT Test') {
steps {
script {
def logDir = "${env.WORKSPACE}/../../log/daily"
def releaseTargetLogFile = "${logDir}/standalone_${DATE_STR}_x64_release_unittest.log"
def debugTargetLogFile = "${logDir}/standalone_${DATE_STR}_x64_debug_unittest.log"
sh "taskset -c 0-29 python ark.py x64.release unittest 2>&1 | tee ${releaseTargetLogFile}"
sh "taskset -c 0-29 python ark.py x64.debug unittest 2>&1 | tee ${debugTargetLogFile}"
get_UT_Standalone_build_result(env.WORKSPACE, logDir, env.DATE_STR)
sh "cp -r ${logDir}/standalone_${DATE_STR}_x64_release_unittest.log ${env.WORKSPACE}/log_result/unittest_release_${DATE_STR}.log"
sh "cp -r ${logDir}/standalone_${DATE_STR}_x64_debug_unittest.log ${env.WORKSPACE}/log_result/unittest_debug_${DATE_STR}.log"
}
}
}
stage('Run Jit Test') {
steps {
script {
def logDir = "${env.WORKSPACE}/../../log/daily"
def jitReleaseTargetLogFile = "${logDir}/standalone_${DATE_STR}_x64_jit_release.log"
sh "python ${env.WORKSPACE}/ohcompiler-daily/pgo/execute_test_suite.py --test-suite-name app --code-repository-type standalone --tool-chain-path ${env.WORKSPACE} --mode x64_jit 2>&1 | tee ${jitReleaseTargetLogFile}"
get_Jit_Standalone_build_result(env.WORKSPACE, logDir, env.DATE_STR)
sh "cp -r ${logDir}/standalone_${DATE_STR}_x64_jit_release.log ${env.WORKSPACE}/log_result/jit_release_${DATE_STR}.log"
}
}
}
stage('Run test262 Test') {
steps {
script {
withEnv(["PATH=/home/z30061262/bin:/home/z30061262/software/swift/swift-5.7.3-RELEASE-ubuntu20.04/usr/bin:/home/z30061262/.nvm/versions/node/v16.20.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/z30061262/software/qemu-6.2.0/build/qemu_installation:$PATH","QEMU_INSTALLATION_PATH=/home/z30061262/software/qemu-6.2.0/build/qemu_installation"]) {
def logDir = "${env.WORKSPACE}/../../log/daily"
def releaseTargetLogFile = "${logDir}/standalone_${DATE_STR}_x64_release_test262.log"
def debugTargetLogFile = "${logDir}/standalone_${DATE_STR}_x64_debug_test262.log"
def armReleaseTargetLogFile = "${logDir}/standalone_${DATE_STR}_arm64_release_test262.log"
sh "taskset -c 0-29 python ark.py x64.release test262 > ${releaseTargetLogFile} 2>&1"
sh "taskset -c 0-29 python ark.py x64.debug test262 > ${debugTargetLogFile} 2>&1"
sh "taskset -c 0-29 python ark.py arm64.release test262 > ${armReleaseTargetLogFile} 2>&1"
get_test262_result(env.WORKSPACE, logDir, env.DATE_STR)
sh "cp -r ${logDir}/standalone_${DATE_STR}_x64_release_test262.log ${env.WORKSPACE}/log_result/test262_release_${DATE_STR}.log"
sh "cp -r ${logDir}/standalone_${DATE_STR}_x64_debug_test262.log ${env.WORKSPACE}/log_result/test262_debug_${DATE_STR}.log"
sh "cp -r ${logDir}/standalone_${DATE_STR}_arm64_release_test262.log ${env.WORKSPACE}/log_result/test262_arm64_release_${DATE_STR}.log"
}
}
}
}
stage('Run pgo-aot test262 Test') {
steps {
script {
withEnv(["PATH=/home/z30061262/bin:/home/z30061262/software/swift/swift-5.7.3-RELEASE-ubuntu20.04/usr/bin:/home/z30061262/.nvm/versions/node/v16.20.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/z30061262/software/qemu-6.2.0/build/qemu_installation:$PATH","QEMU_INSTALLATION_PATH=/home/z30061262/software/qemu-6.2.0/build/qemu_installation"]) {
def logDir = "${env.WORKSPACE}/../../log/daily"
def releaseTargetLogFile = "${logDir}/standalone_${DATE_STR}_x64_release_test262_aot.log"
def armReleaseTargetLogFile = "${logDir}/standalone_${DATE_STR}_arm64_release_test262_aot.log"
sh "taskset -c 0-29 python ark.py x64.release test262 --aot --pgo > ${releaseTargetLogFile} 2>&1"
sh "taskset -c 0-29 python ark.py arm64.release test262 --aot --pgo > ${armReleaseTargetLogFile} 2>&1"
// get_test262_aot_result(env.WORKSPACE, logDir, env.DATE_STR)
// sh "cp -r ${logDir}/standalone_${DATE_STR}_x64_release_test262_aot.log ${env.WORKSPACE}/log_result/test262_aot_release_${DATE_STR}.log"
sh "cp -r ${logDir}/standalone_${DATE_STR}_arm64_release_test262_aot.log ${env.WORKSPACE}/log_result/test262_arm64_aot_release_${DATE_STR}.log"
}
}
}
}
stage('Run regresstest Test') {
steps {
script {
withEnv(["PATH=/home/z30061262/bin:/home/z30061262/software/swift/swift-5.7.3-RELEASE-ubuntu20.04/usr/bin:/home/z30061262/.nvm/versions/node/v16.20.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH"]) {
sh "taskset -c 0-29 python ark.py x64.release regresstest > regress.log 2>&1"
def logDir = "${env.WORKSPACE}/out/x64.release/regresstest"
get_regress_result(env.WORKSPACE, logDir, env.DATE_STR)
sh "cp -r ${env.WORKSPACE}/result/stability_report.html ${env.WORKSPACE}/report.html"
archiveArtifacts artifacts: "report.html", allowEmptyArchive: true
sh "cp -r ${logDir}/result.txt ${env.WORKSPACE}/../../log/daily/standalone_${DATE_STR}_x64_release_regresstest.log"
sh "cp -r ${logDir}/result.txt ${env.WORKSPACE}/log_result/regresstest_${DATE_STR}.log"
dir("${env.WORKSPACE}/log_result") {
sh "tar -czf ${env.WORKSPACE}/log_result.tar.gz *"
}
archiveArtifacts artifacts: "log_result.tar.gz", allowEmptyArchive: true
}
}
}
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。