%global _empty_manifest_terminate_build 0 Name: python-shrub.py Version: 3.0.4 Release: 1 Summary: Library for creating evergreen configurations License: Apache-2.0 URL: https://github.com/evergreen-ci/shrub.py Source0: https://mirrors.nju.edu.cn/pypi/web/packages/33/9a/3f38fd80b3deacbaa68e495acf69cf839f6a3e99ac68ac5c87165cf1adcb/shrub.py-3.0.4.tar.gz BuildArch: noarch Requires: python3-PyYaml Requires: python3-dataclasses Requires: python3-pydantic Requires: python3-git-url-parse Requires: python3-typing-extensions %description # shrub.py A python based Evergreen project config generation library ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/shrub.py) [![PyPI version](https://badge.fury.io/py/shrub.py.svg)](https://pypi.org/project/shrub.py/) ## Overview Based on [shrub](https://github.com/evergreen-ci/shrub/), shrub.py is a library for programatically building Evergreen project configurations described [here](https://github.com/evergreen-ci/evergreen/wiki/Project-Files). ## Example The following snippet will create a set of parallel tasks reported under a single display task. It would generate json used by ```generate.tasks```: ``` from shrub.v2 import ShrubProject, Task, BuildVariant n_tasks = 10 def define_task(index): name = f"task_name_{index}" return Task( name, [ FunctionCall("do setup"), FunctionCall( "run test generator", {"parameter_1": "value 1", "parameter_2": "value 2"} ), FunctionCall("run tests") ], ).dependency("compile") tasks = {define_task(i) for i in range(n_tasks)} variant = BuildVariant("linux-64").display_task("test_suite", tasks) project = ShrubProject({variant}) project.json() ``` ## Run tests ``` poetry run pytest ``` %package -n python3-shrub.py Summary: Library for creating evergreen configurations Provides: python-shrub.py BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-shrub.py # shrub.py A python based Evergreen project config generation library ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/shrub.py) [![PyPI version](https://badge.fury.io/py/shrub.py.svg)](https://pypi.org/project/shrub.py/) ## Overview Based on [shrub](https://github.com/evergreen-ci/shrub/), shrub.py is a library for programatically building Evergreen project configurations described [here](https://github.com/evergreen-ci/evergreen/wiki/Project-Files). ## Example The following snippet will create a set of parallel tasks reported under a single display task. It would generate json used by ```generate.tasks```: ``` from shrub.v2 import ShrubProject, Task, BuildVariant n_tasks = 10 def define_task(index): name = f"task_name_{index}" return Task( name, [ FunctionCall("do setup"), FunctionCall( "run test generator", {"parameter_1": "value 1", "parameter_2": "value 2"} ), FunctionCall("run tests") ], ).dependency("compile") tasks = {define_task(i) for i in range(n_tasks)} variant = BuildVariant("linux-64").display_task("test_suite", tasks) project = ShrubProject({variant}) project.json() ``` ## Run tests ``` poetry run pytest ``` %package help Summary: Development documents and examples for shrub.py Provides: python3-shrub.py-doc %description help # shrub.py A python based Evergreen project config generation library ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/shrub.py) [![PyPI version](https://badge.fury.io/py/shrub.py.svg)](https://pypi.org/project/shrub.py/) ## Overview Based on [shrub](https://github.com/evergreen-ci/shrub/), shrub.py is a library for programatically building Evergreen project configurations described [here](https://github.com/evergreen-ci/evergreen/wiki/Project-Files). ## Example The following snippet will create a set of parallel tasks reported under a single display task. It would generate json used by ```generate.tasks```: ``` from shrub.v2 import ShrubProject, Task, BuildVariant n_tasks = 10 def define_task(index): name = f"task_name_{index}" return Task( name, [ FunctionCall("do setup"), FunctionCall( "run test generator", {"parameter_1": "value 1", "parameter_2": "value 2"} ), FunctionCall("run tests") ], ).dependency("compile") tasks = {define_task(i) for i in range(n_tasks)} variant = BuildVariant("linux-64").display_task("test_suite", tasks) project = ShrubProject({variant}) project.json() ``` ## Run tests ``` poetry run pytest ``` %prep %autosetup -n shrub.py-3.0.4 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-shrub.py -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Mon Apr 10 2023 Python_Bot - 3.0.4-1 - Package Spec generated