.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "gyexamples/set_jenkins_jobs.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_gyexamples_set_jenkins_jobs.py: ================ Set Jenkins Jobs ================ This jobs is used to add jobs to a :epkg:`Jenkins` server in order to build packages on Windows. The :epkg:`YAML` definition is located at `pymyinstall/whl `_ and it defines the jobs in this folder `pymyinstall/whl/windows `_. .. GENERATED FROM PYTHON SOURCE LINES 14-15 imports .. GENERATED FROM PYTHON SOURCE LINES 15-22 .. code-block:: default import sys import os import warnings from pyquickhelper.jenkinshelper import setup_jenkins_server_yml, JenkinsExt from pyquickhelper.loghelper import fLOG, get_user .. GENERATED FROM PYTHON SOURCE LINES 23-24 Starts logging. .. GENERATED FROM PYTHON SOURCE LINES 24-27 .. code-block:: default fLOG(OutputPrint=True) fLOG("start") .. GENERATED FROM PYTHON SOURCE LINES 28-29 password .. GENERATED FROM PYTHON SOURCE LINES 29-35 .. code-block:: default with warnings.catch_warnings(): warnings.simplefilter('ignore', DeprecationWarning) import keyring user = keyring.get_password("jenkins", "user") pwd = keyring.get_password("jenkins", "pwd") .. GENERATED FROM PYTHON SOURCE LINES 36-37 local path .. GENERATED FROM PYTHON SOURCE LINES 37-48 .. code-block:: default key = "Python%d%d" % sys.version_info[:2] engines = {key: os.path.abspath(os.path.dirname(sys.executable))} if sys.platform.startswith("win"): folder = f"C:\\{get_user()}\\github\\_whl" location = "c:\\jenkins\\pymy" suf = "win" else: folder = f"/home/{get_user()}/github/_whl" location = "/usr/local/Python%d.%d" % sys.version_info[:2] suf = "lin" .. GENERATED FROM PYTHON SOURCE LINES 49-52 .. code-block:: default if not os.path.exists("build"): os.mkdir("build") .. GENERATED FROM PYTHON SOURCE LINES 53-54 Loads the yml template. .. GENERATED FROM PYTHON SOURCE LINES 54-58 .. code-block:: default yml = os.path.join(folder, f".local.jenkins.{suf}.yml") with open(yml, "r", encoding="utf-8") as f: content = f.read() .. GENERATED FROM PYTHON SOURCE LINES 59-60 Starts the Jenkins server. .. GENERATED FROM PYTHON SOURCE LINES 60-63 .. code-block:: default js = JenkinsExt('http://localhost:8080/', user, pwd, fLOG=fLOG, engines=engines) .. GENERATED FROM PYTHON SOURCE LINES 64-65 Defines the Jenkins job. .. GENERATED FROM PYTHON SOURCE LINES 65-81 .. code-block:: default ymls = [] for mod in ["polylearn", "dynd-python"]: new_content = content.replace("__MODULE__", mod) yml = os.path.join( "build", f".local.jenkins.lin.{mod}.yml") with open(yml, "w", encoding="utf-8") as f: f.write(new_content) batch = os.path.join(folder, "windows", f"build_{mod}.bat") with open(batch, "r", encoding="utf-8") as f: cbat = f.read() with open(yml, "w", encoding="utf-8") as f: f.write(new_content) toadd = [dict(name=f"build_{mod}.bat", content=cbat)] ymls.append(("yml", yml, dict(scripts=toadd))) .. GENERATED FROM PYTHON SOURCE LINES 82-83 Update the Jenkins jobs for the given set of modules .. GENERATED FROM PYTHON SOURCE LINES 83-88 .. code-block:: default fLOG("Update jenkins") setup_jenkins_server_yml(js, github=None, modules=ymls, overwrite=True, location=location, prefix="", delete_first=False, disable_schedule=False, fLOG=fLOG) fLOG("Done") .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 0.000 seconds) .. _sphx_glr_download_gyexamples_set_jenkins_jobs.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: set_jenkins_jobs.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: set_jenkins_jobs.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_