diff --git a/jobs/swh/sandbox.yaml b/jobs/swh/sandbox.yaml index e0f5fd6..c834f08 100644 --- a/jobs/swh/sandbox.yaml +++ b/jobs/swh/sandbox.yaml @@ -1,12 +1,13 @@ - project: name: TSBX display-name: swh-sandbox pkg: sandbox + incoming-tag-auto-pypi-host: test.pypi.org jobs: - "{name}" - "{name}/incoming-tag" - "{name}/pypi-upload" - "{name}/tests" - "{name}/tox" - "debian/packages/{name}" - "debian/packages/{name}/update-for-release" diff --git a/jobs/templates/incoming-tag.groovy b/jobs/templates/incoming-tag.groovy index 589250a..4e028c4 100644 --- a/jobs/templates/incoming-tag.groovy +++ b/jobs/templates/incoming-tag.groovy @@ -1,77 +1,78 @@ import jenkins.model.Jenkins @NonCPS def job_exists(name) {{ def instance = jenkins.model.Jenkins.instance return instance.getItemByFullName(name) != null }} pipeline {{ agent none stages {{ stage('Refresh tag list') {{ agent any steps {{ checkout([ $class: 'GitSCM', userRemoteConfigs: [[ url: 'https://forge.softwareheritage.org/source/{display-name}.git', ]], branches: [[ name: params.GIT_TAG, ]], browser: [ $class: 'Phabricator', repo: '{display-name}', repoUrl: 'https://forge.softwareheritage.org/', ], ]) }} }} stage('Build and upload PyPI package') {{ when {{ expression {{ params.GIT_TAG =~ /^v\d+(.\d+)+$/ }} expression {{ job_exists('/{name}/pypi-upload') }} }} steps {{ build( job: '/{name}/pypi-upload', parameters: [ string(name: 'GIT_TAG', value: params.GIT_TAG), + string(name: 'PYPI_HOST', value: '{incoming-tag-auto-pypi-host}'), ], ) }} }} stage('Debian packaging for new release') {{ when {{ expression {{ params.GIT_TAG =~ /^v\d+(.\d+)+$/ }} expression {{ job_exists('/debian/packages/{name}/update-for-release') }} }} steps {{ build( job: '/debian/packages/{name}/update-for-release', parameters: [ string(name: 'GIT_TAG', value: params.GIT_TAG), ], wait: false, ) }} }} stage('Debian automatic build') {{ when {{ expression {{ params.GIT_TAG =~ /^debian\/.*$/ }} expression {{ job_exists('/debian/packages/{name}/build') }} }} steps {{ build( job: '/debian/packages/{name}/build', parameters: [ string(name: 'GIT_TAG', value: params.GIT_TAG), booleanParam(name: 'UPLOAD', value: true), ], wait: false, ) }} }} }} }} diff --git a/jobs/templates/incoming-tag.yaml b/jobs/templates/incoming-tag.yaml index e8d5a02..916c010 100644 --- a/jobs/templates/incoming-tag.yaml +++ b/jobs/templates/incoming-tag.yaml @@ -1,14 +1,15 @@ - job-template: name: "{name}/incoming-tag" display-name: Incoming tag project-type: pipeline auth-token: 'ph4br1cat0r' + incoming-tag-auto-pypi-host: pypi.org parameters: - git-parameter: name: GIT_TAG description: git tag to process type: PT_TAG sortMode: DESCENDING_SMART selectedValue: TOP dsl: !include-raw: incoming-tag.groovy