blob: 2275e69355f0400258f02edbd0dc9db2864207ae [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* License); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an AS IS BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
plugins {
id 'org.apache.beam.module'
}
applyGroovyNature()
applyPythonNature()
pythonVersion = '3.8'
task generateMetricsReport {
dependsOn setupVirtualenv
def metricsReportFilename = "beam-metrics_report.html"
def generateMetricsReportDir = "${rootDir}/.test-infra/jenkins/metrics_report"
def generateMetricsReportPath = "${generateMetricsReportDir}/${metricsReportFilename}"
def toxConfigFilePath = "${rootDir}/.test-infra/jenkins/metrics_report/tox.ini"
def influxDb = project.findProperty('influxDb')
def influxHost = project.findProperty('influxHost')
def influxPort = project.findProperty('influxPort')
doLast {
exec {
executable 'sh'
args '-c', ". ${envdir}/bin/activate && tox -e py38-test -c ${toxConfigFilePath}"
}
exec {
executable 'sh'
args '-c', ". ${envdir}/bin/activate && tox -e py38-generate-report -c ${toxConfigFilePath} -- --influx-db=${influxDb} --influx-host=${influxHost} --influx-port=${influxPort} --output-file=${generateMetricsReportPath}"
}
logger.info('Create metrics report file {}', generateMetricsReportPath)
}
outputs.file "${generateMetricsReportPath}"
}