-
Notifications
You must be signed in to change notification settings - Fork 57
/
Copy pathsetup.py
118 lines (95 loc) · 3.7 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
from distutils.core import setup
import os
NAME = 'outsystems-pipeline'
DESCRIPTION = 'Python package to accelerate the integration of OutSystems with third-party CI/CD tools'
LONG_DESCRIPTION = '''The outsystems-pipeline Python package provides functions to support the creation of OutSystems CI/CD pipelines using your DevOps automation tool of choice.
Visit the `project repository <https://github.com/OutSystems/outsystems-pipeline>`_ on GitHub for instructions on how to build example OutSystems CI/CD pipelines with common DevOps automation tools, as well as documentation that will help you adapt the examples to your particular scenarios.
What's new
==========
**Parallel Deployments**
The following scripts have been updated to enable creating and running parallel deployment plans:
* `deploy_latest_tags_to_target_env.py`
* `deploy_package_to_target_env.py`
* `deploy_tags_to_target_env_with_manifest.py`
To enable this feature, use the following parameter:
* `--allow_parallel_deployments`: Skips LifeTime validation for active deployment plans.
**Enhanced Pipeline Operations**
New pipeline scripts have been added to streamline operations related to manifest files:
* `generate_manifest_file.py`: Generates a trigger manifest file.
* `validate_manifest_apps_exist_in_target_env.py`: Verifies that manifest applications exist in the target environment.
**Updated Package Dependencies**
* Updated `requests` dependency to version 2.32.2
* Added `packaging` dependency, version 24.1
Installing and upgrading
========================
Install or upgrade outsystems-pipeline to the latest available version as follows:
::
pip install -U outsystems-pipeline
'''
AUTHOR = u'OutSystems'
EMAIL = u'[email protected]'
URL = 'https://github.com/OutSystems/outsystems-pipeline'
LICENSE = 'Apache License 2.0'
PYTHON_REQUIRES = '>=3.8'
KEYWORDS = [
'',
]
CLASSIFIERS = [
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'Intended Audience :: System Administrators',
'License :: OSI Approved :: Apache Software License',
'Programming Language :: Python',
'Topic :: Software Development :: Build Tools',
'Topic :: Software Development :: Quality Assurance',
'Topic :: Software Development :: Testing',
'Topic :: Software Development :: Testing :: Acceptance',
'Topic :: Software Development :: Testing :: BDD',
'Topic :: Software Development :: Testing :: Unit',
'Topic :: System :: Software Distribution'
]
REQUIREMENTS = [
'python-dateutil==2.9.0.post0',
'requests==2.32.2',
'unittest-xml-reporting==3.2.0',
'xunitparser==1.3.4',
'toposort==1.10',
'python-dotenv==1.0.1',
'packaging==24.1'
]
PACKAGES = [
'outsystems',
'outsystems.architecture_dashboard',
'outsystems.bdd_framework',
'outsystems.cicd_probe',
'outsystems.exceptions',
'outsystems.file_helpers',
'outsystems.lifetime',
'outsystems.manifest',
'outsystems.osp_tool',
'outsystems.pipeline',
'outsystems.properties',
'outsystems.vars'
]
if __name__ == '__main__': # Do not run setup() when we import this module.
if os.path.isfile("VERSION"):
with open("VERSION", 'r') as version_file:
version = version_file.read().replace('\n', '')
else:
# dummy version
version = '1.0.0'
setup(
name=NAME,
version='<version>',
description=DESCRIPTION,
long_description=LONG_DESCRIPTION,
keywords=' '.join(KEYWORDS),
author=AUTHOR,
author_email=EMAIL,
url=URL,
license=LICENSE,
python_requires=PYTHON_REQUIRES,
classifiers=CLASSIFIERS,
packages=PACKAGES,
install_requires=REQUIREMENTS
)