diff --git a/jobs/templates/dependency-incoming-tag.groovy b/jobs/templates/dependency-incoming-tag.groovy deleted file mode 100644 index 76c18f6..0000000 --- a/jobs/templates/dependency-incoming-tag.groovy +++ /dev/null @@ -1,41 +0,0 @@ -pipeline {{ - agent none - stages {{ - stage('Refresh tag list') {{ - agent any - steps {{ - checkout([ - $class: 'GitSCM', - userRemoteConfigs: [[ - url: 'https://forge.softwareheritage.org/source/{repo_name}.git', - ]], - branches: [[ - name: params.GIT_TAG, - ]], - browser: [ - $class: 'Phabricator', - repo: '{repo_name}', - repoUrl: 'https://forge.softwareheritage.org/', - ], - ]) - }} - }} - stage('Build Debian package') {{ - when {{ - expression {{ params.GIT_TAG ==~ /debian\/.*/ }} - expression {{ !(params.GIT_TAG ==~ /debian\/upstream\/.*/) }} - expression {{ jobExists('/debian/deps/{name}/gbp-buildpackage') }} - }} - steps {{ - build( - job: '/debian/deps/{name}/gbp-buildpackage', - parameters: [ - string(name: 'GIT_REVISION', value: params.GIT_TAG), - booleanParam(name: 'DO_UPLOAD', value: true), - ], - wait: false, - ) - }} - }} - }} -}} diff --git a/jobs/templates/dependency-incoming-tag.groovy.j2 b/jobs/templates/dependency-incoming-tag.groovy.j2 new file mode 100644 index 0000000..1f379f6 --- /dev/null +++ b/jobs/templates/dependency-incoming-tag.groovy.j2 @@ -0,0 +1,41 @@ +pipeline { + agent none + stages { + stage('Refresh tag list') { + agent any + steps { + checkout([ + $class: 'GitSCM', + userRemoteConfigs: [[ + url: 'https://forge.softwareheritage.org/source/{{repo_name}}.git', + ]], + branches: [[ + name: params.GIT_TAG, + ]], + browser: [ + $class: 'Phabricator', + repo: '{{repo_name}}', + repoUrl: 'https://forge.softwareheritage.org/', + ], + ]) + } + } + stage('Build Debian package') { + when { + expression { params.GIT_TAG ==~ /debian\/.*/ } + expression { !(params.GIT_TAG ==~ /debian\/upstream\/.*/) } + expression { jobExists('/debian/deps/{{name}}/gbp-buildpackage') } + } + steps { + build( + job: '/debian/deps/{{name}}/gbp-buildpackage', + parameters: [ + string(name: 'GIT_REVISION', value: params.GIT_TAG), + booleanParam(name: 'DO_UPLOAD', value: true), + ], + wait: false, + ) + } + } + } +} diff --git a/jobs/templates/incoming-tag.groovy b/jobs/templates/incoming-tag.groovy deleted file mode 100644 index 38f5ae3..0000000 --- a/jobs/templates/incoming-tag.groovy +++ /dev/null @@ -1,71 +0,0 @@ -pipeline {{ - agent none - stages {{ - stage('Refresh tag list') {{ - agent any - steps {{ - checkout([ - $class: 'GitSCM', - userRemoteConfigs: [[ - url: 'https://forge.softwareheritage.org/source/{repo_name}.git', - ]], - branches: [[ - name: params.GIT_TAG, - ]], - browser: [ - $class: 'Phabricator', - repo: '{repo_name}', - repoUrl: 'https://forge.softwareheritage.org/', - ], - ]) - }} - }} - stage('Build and upload PyPI package') {{ - when {{ - expression {{ params.GIT_TAG ==~ /v\d+(.\d+)+/ }} - expression {{ jobExists('/{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('Update Debian packaging for new release') {{ - when {{ - expression {{ params.GIT_TAG ==~ /v\d+(.\d+)+/ }} - expression {{ jobExists('/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('Build Debian package') {{ - when {{ - expression {{ params.GIT_TAG ==~ /debian\/.*/ }} - expression {{ !(params.GIT_TAG ==~ /debian\/upstream\/.*/) }} - expression {{ jobExists('/debian/packages/{name}/gbp-buildpackage') }} - }} - steps {{ - build( - job: '/debian/packages/{name}/gbp-buildpackage', - parameters: [ - string(name: 'GIT_REVISION', value: params.GIT_TAG), - booleanParam(name: 'DO_UPLOAD', value: true), - ], - wait: false, - ) - }} - }} - }} -}} diff --git a/jobs/templates/incoming-tag.groovy.j2 b/jobs/templates/incoming-tag.groovy.j2 new file mode 100644 index 0000000..7254d21 --- /dev/null +++ b/jobs/templates/incoming-tag.groovy.j2 @@ -0,0 +1,71 @@ +pipeline { + agent none + stages { + stage('Refresh tag list') { + agent any + steps { + checkout([ + $class: 'GitSCM', + userRemoteConfigs: [[ + url: 'https://forge.softwareheritage.org/source/{{repo_name}}.git', + ]], + branches: [[ + name: params.GIT_TAG, + ]], + browser: [ + $class: 'Phabricator', + repo: '{{repo_name}}', + repoUrl: 'https://forge.softwareheritage.org/', + ], + ]) + } + } + stage('Build and upload PyPI package') { + when { + expression { params.GIT_TAG ==~ /v\d+(.\d+)+/ } + expression { jobExists('/{{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('Update Debian packaging for new release') { + when { + expression { params.GIT_TAG ==~ /v\d+(.\d+)+/ } + expression { jobExists('/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('Build Debian package') { + when { + expression { params.GIT_TAG ==~ /debian\/.*/ } + expression { !(params.GIT_TAG ==~ /debian\/upstream\/.*/) } + expression { jobExists('/debian/packages/{{name}}/gbp-buildpackage') } + } + steps { + build( + job: '/debian/packages/{{name}}/gbp-buildpackage', + parameters: [ + string(name: 'GIT_REVISION', value: params.GIT_TAG), + booleanParam(name: 'DO_UPLOAD', value: true), + ], + wait: false, + ) + } + } + } +} diff --git a/jobs/templates/incoming-tag.yaml b/jobs/templates/incoming-tag.yaml index f72e6b2..0f77019 100644 --- a/jobs/templates/incoming-tag.yaml +++ b/jobs/templates/incoming-tag.yaml @@ -1,22 +1,22 @@ - job-template: &incoming_tag name: "{name}/incoming-tag" display-name: Incoming tag project-type: pipeline auth-token: 'ph4br1cat0r' incoming_tag_auto_pypi_host: pypi.org sandbox: true 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 + !include-jinja2: incoming-tag.groovy.j2 - job-template: name: "debian/deps/{name}/incoming-tag" dsl: - !include-raw: dependency-incoming-tag.groovy + !include-jinja2: dependency-incoming-tag.groovy.j2 <<: *incoming_tag