Changeset View
Changeset View
Standalone View
Standalone View
jobs/templates/incoming-tag.groovy
import jenkins.model.Jenkins | |||||
@NonCPS | |||||
def job_exists(name) {{ | |||||
def instance = jenkins.model.Jenkins.instance | |||||
return instance.getItemByFullName(name) != null | |||||
}} | |||||
pipeline {{ | pipeline {{ | ||||
agent none | agent none | ||||
stages {{ | stages {{ | ||||
stage('Refresh tag list') {{ | stage('Refresh tag list') {{ | ||||
agent any | agent any | ||||
steps {{ | steps {{ | ||||
checkout([ | checkout([ | ||||
$class: 'GitSCM', | $class: 'GitSCM', | ||||
Show All 9 Lines | stage('Refresh tag list') {{ | ||||
repoUrl: 'https://forge.softwareheritage.org/', | repoUrl: 'https://forge.softwareheritage.org/', | ||||
], | ], | ||||
]) | ]) | ||||
}} | }} | ||||
}} | }} | ||||
stage('Build and upload PyPI package') {{ | stage('Build and upload PyPI package') {{ | ||||
when {{ | when {{ | ||||
expression {{ params.GIT_TAG ==~ /v\d+(.\d+)+/ }} | expression {{ params.GIT_TAG ==~ /v\d+(.\d+)+/ }} | ||||
expression {{ job_exists('/{name}/pypi-upload') }} | expression {{ jobExists('/{name}/pypi-upload') }} | ||||
}} | }} | ||||
steps {{ | steps {{ | ||||
build( | build( | ||||
job: '/{name}/pypi-upload', | job: '/{name}/pypi-upload', | ||||
parameters: [ | parameters: [ | ||||
string(name: 'GIT_TAG', value: params.GIT_TAG), | string(name: 'GIT_TAG', value: params.GIT_TAG), | ||||
string(name: 'PYPI_HOST', value: '{incoming-tag-auto-pypi-host}'), | string(name: 'PYPI_HOST', value: '{incoming-tag-auto-pypi-host}'), | ||||
], | ], | ||||
) | ) | ||||
}} | }} | ||||
}} | }} | ||||
stage('Debian packaging for new release') {{ | stage('Debian packaging for new release') {{ | ||||
when {{ | when {{ | ||||
expression {{ params.GIT_TAG ==~ /v\d+(.\d+)+/ }} | expression {{ params.GIT_TAG ==~ /v\d+(.\d+)+/ }} | ||||
expression {{ job_exists('/debian/packages/{name}/update-for-release') }} | expression {{ jobExists('/debian/packages/{name}/update-for-release') }} | ||||
}} | }} | ||||
steps {{ | steps {{ | ||||
build( | build( | ||||
job: '/debian/packages/{name}/update-for-release', | job: '/debian/packages/{name}/update-for-release', | ||||
parameters: [ | parameters: [ | ||||
string(name: 'GIT_TAG', value: params.GIT_TAG), | string(name: 'GIT_TAG', value: params.GIT_TAG), | ||||
], | ], | ||||
wait: false, | wait: false, | ||||
) | ) | ||||
}} | }} | ||||
}} | }} | ||||
stage('Debian automatic backport') {{ | stage('Debian automatic backport') {{ | ||||
when {{ | when {{ | ||||
expression {{ params.GIT_TAG ==~ /debian\/.*/ }} | expression {{ params.GIT_TAG ==~ /debian\/.*/ }} | ||||
expression {{ !(params.GIT_TAG ==~ /debian\/upstream\/.*/) }} | expression {{ !(params.GIT_TAG ==~ /debian\/upstream\/.*/) }} | ||||
expression {{ !(params.GIT_TAG =~ /_bpo/) }} | expression {{ !(params.GIT_TAG =~ /_bpo/) }} | ||||
expression {{ job_exists('/debian/packages/{name}/automatic-backport') }} | expression {{ jobExists('/debian/packages/{name}/automatic-backport') }} | ||||
}} | }} | ||||
steps {{ | steps {{ | ||||
build( | build( | ||||
job: '/debian/packages/{name}/automatic-backport', | job: '/debian/packages/{name}/automatic-backport', | ||||
parameters: [ | parameters: [ | ||||
string(name: 'GIT_TAG', value: params.GIT_TAG), | string(name: 'GIT_TAG', value: params.GIT_TAG), | ||||
], | ], | ||||
wait: false, | wait: false, | ||||
) | ) | ||||
}} | }} | ||||
}} | }} | ||||
}} | }} | ||||
}} | }} |