PyPI Release Files
------------------
-An example of a PyPI release file appears below.
+An example of a PyPI release file appears below. Name of the release file must
+start with "pypi". For example releases/pypi-1.0.0-mypackage.yaml
.. code-block:: none
- $ cat releases/pypi-release.yaml
+ $ cat releases/pypi-1.0.0-mypackage.yaml
---
- distribution_type: pypi
pypi_project: mypackage
python_version: '3.4'
version: 1.0.0
+ log_dir: example-project-pypi-merge-master/17
The following parameters must appear in the PyPI release yaml file.
:Required Parameters:
- :distribution_type: Must be "pypi".
:log_dir: The suffix of the logs URL reported on completion by the
Jenkins merge job that created and pushed the distribution files
to the staging repository. For example, use value
$id: "https://github.com/lfit/releng-global-jjb/blob/master/release-pypi-schema.yaml"
required:
- - "distribution_type"
- "log_dir"
- "pypi_project"
- "python_version"
- "version"
properties:
- distribution_type:
- type: "string"
log_dir:
type: "string"
pypi_project:
PackageCloud Release Files
--------------------------
-An example of a PackageCloud release file appears below.
+An example of a PackageCloud release file appears below. Name of release file
+must start with "packagecloud". For example releases/packagecloud-1.6-tree.yaml
.. code-block:: none
- $ cat releases/packagecloud-release.yaml
+ $ cat releases/packagecloud-1.6-tree.yaml
---
- distribution_type: packagecloud
package_name:
- - name: 'tree-1.6.0-10.el7.x86_64.rpm'
- - name: 'test.rpm'
+ - name: tree-1.6.0-10.el7.x86_64.rpm
+ - name: test.rpm
The following parameters must appear in the PackageCloud release yaml file.
These are not part of the Jenkins job definition to allow independent
:Required Parameters:
- :distribution_type: Must be "packagecloud".
:package_name: A list of names that specify the packages to promote.
- (Found via jenkins log when using gem to initally push package up eg.
+ (Found in jenkins console log when using gem to push package eg.
"Pushing /path/of/package/name-of-package.rpm... success!"
- OR using rest api call with generated token from packagecloud.io
+ OR using rest api call to query packagecloud.io repo
"curl https://packagecloud.io/api/v1/repos/test_user/test_repo/search?q=
| yq -r .[].filename"
required:
- "package_name"
- - "distribution_type"
properties:
package_name:
properties:
name:
type: "string"
- distribution_type:
- type: "string"
Jenkins Jobs
------------
should be the repository pypy.org. (default: pypi)
:use-release-file: Whether to use the release file. (default: true)
+ :gerrit_trigger_file_paths: Override file paths filter which checks which
+ file modifications will trigger a build.
+ **default**::
+
+ - compare-type: REG_EXP
+ pattern: '(releases\/pypi.*\.yaml|\.releases\/pypi.*\.yaml)'
PyPI Release Verify
~~~~~~~~~~~~~~~~~~~
should be the repository pypy.org (default: pypi)
:use-release-file: Whether to use the release file. (default: true)
+ :gerrit_trigger_file_paths: Override file paths filter which checks which
+ file modifications will trigger a build.
+ **default**::
+
+ - compare-type: REG_EXP
+ pattern: '(releases\/pypi.*\.yaml|\.releases\/pypi.*\.yaml)'
PackageCloud Release Verify
~~~~~~~~~~~~~~~~~~~~~~~~~~~
**default**::
- compare-type: REG_EXP
- pattern: '(releases\/.*\.yaml|\.releases\/.*\.yaml)'
+ pattern: '(releases\/packagecloud.*\.yaml|\.releases\/packagecloud.*\.yaml)'
PackageCloud Release Merge
**default**::
- compare-type: reg_exp
- pattern: '(releases\/.*\.yaml|\.releases\/.*\.yaml)'
+ pattern: '(releases\/packagecloud.*\.yaml|\.releases\/packagecloud.*\.yaml)'
Setup for LFID, Nexus, Jenkins and Gerrit