[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [taler-deployment] branch master updated: wip: build deploy
From: |
gnunet |
Subject: |
[GNUnet-SVN] [taler-deployment] branch master updated: wip: build deployment via python |
Date: |
Fri, 11 Oct 2019 11:39:49 +0200 |
This is an automated email from the git hooks/post-receive script.
dold pushed a commit to branch master
in repository deployment.
The following commit(s) were added to refs/heads/master by this push:
new e08b838 wip: build deployment via python
e08b838 is described below
commit e08b838b0eeadfcc9f1a9f348715b281c04e97d1
Author: Florian Dold <address@hidden>
AuthorDate: Fri Oct 11 15:09:41 2019 +0530
wip: build deployment via python
---
bin/taler-deployment | 80 ++++++++++++++++++++++++++++++++++++++--------------
1 file changed, 59 insertions(+), 21 deletions(-)
diff --git a/bin/taler-deployment b/bin/taler-deployment
index 0031d4e..a92516a 100755
--- a/bin/taler-deployment
+++ b/bin/taler-deployment
@@ -54,6 +54,21 @@ def cli():
# map from environment name to currenct
currmap = {"test": "TESTKUDOS", "demo": "KUDOS", "int": "INTKUDOS"}
+# Our repositories, *must* be topologically sorted
+repos = [
+ Repo("libmicrohttpd", "git://gnunet.org/libmicrohttpd.git", []),
+ Repo("gnunet", "git://gnunet.org/gnunet.git", []),
+ Repo("exchange", "git://git.taler.net/exchange", ["gnunet",
"libmicrohttpd"]),
+ Repo("twister", "git://git.taler.net/twister", ["gnunet", "exchange"]),
+ Repo("merchant", "git://git.taler.net/merchant", ["exchange",
"libmicrohttpd"]),
+ Repo("bank", "git://git.taler.net/bank", []),
+ Repo("landing", "git://git.taler.net/landing", []),
+ Repo("donations", "git://git.taler.net/donations", []),
+ Repo("blog", "git://git.taler.net/blog", []),
+ Repo("survey", "git://git.taler.net/survey", []),
+ Repo("backoffice", "git://git.taler.net/backoffice", []),
+]
+
def ensure_activated():
"""Make sure that the environment variables have been
@@ -64,7 +79,7 @@ def ensure_activated():
sys.exit(1)
out = subprocess.check_output(
["bash", "-c", "source ~/activate; echo $TALER_BOOTSTRAP_TIMESTAMP"],
- encoding="utf-8"
+ encoding="utf-8",
)
out = out.strip(" \n")
if out != ts:
@@ -75,21 +90,58 @@ def ensure_activated():
sys.exit(1)
+def build_repo(r):
+ pass
+
+
+def update_repos():
+ for r in repos:
+ r_dir = Path.home() / "sources" / r.name
+ subprocess.run(["git", "-C", r_dir.as_posix(), "fetch"], check=True)
+ res = subprocess.run(
+ ["git", "-C", r_dir.as_posix(), "status", "-sb"],
+ check=True,
+ stdout=subprocess.PIPE,
+ encoding="utf-8",
+ )
+ if "behind" in res.stdout:
+ print(f"new commits in {r}")
+ s = r_dir / "taler-buildstamp"
+ if s.exists():
+ s.unlink()
+
+
+def get_stale_repos():
+ timestamps = {}
+ stale = []
+ for r in repos:
+ r_dir = Path.home() / "sources" / r.name
+ s = r_dir / "taler-buildstamp"
+ if not s.exists():
+ timestamp[r.name] = time.now()
+ stale.append(r)
+ break
+ timestamp[r.name] = s.stat().st_mtime
+ for dep in r.deps:
+ if timestamp[dep] > ts:
+ stale.append(r)
+ break
+ return stale
+
+
@cli.command()
def build():
"""Build the deployment from source."""
ensure_activated()
- os.chdir((Path.home() / "deployment" / "taler-build").as_posix())
- subprocess.run(["./invalidate.sh"], check=True)
- subenv = os.environ.copy()
- subenv["GNUNET_FORCE_LOG"] =
"util;;;;WARNING/taler;;;;DEBUG/twister;;;;DEBUG/test;;;;DEBUG"
- subprocess.run(["make"], check=True, env=subenv)
+ update_repos()
+ stale = get_stale_repos()
+ print(f"found stale repos: stale")
@cli.command()
@click.argument("envname", type=click.Choice(["test", "int", "demo"]))
def bootstrap(envname):
- """Bootstrap a GNU Taler deployment from the deploymen.git repository"""
+ """Bootstrap a GNU Taler deployment."""
home = Path.home()
@@ -98,20 +150,6 @@ def bootstrap(envname):
cfgtext = (home / "envcfg.py").read_text()
exec(cfgtext, cfg.__dict__)
- repos = [
- Repo("gnunet", "git://gnunet.org/gnunet.git", []),
- Repo("libmicrohttpd", "git://gnunet.org/libmicrohttpd.git", []),
- Repo("twister", "git://git.taler.net/twister", ["gnunet", "exchange"]),
- Repo("bank", "git://git.taler.net/bank", []),
- Repo("merchant", "git://git.taler.net/merchant", ["exchange",
"libmicrohttpd"]),
- Repo("landing", "git://git.taler.net/landing", []),
- Repo("exchange", "git://git.taler.net/exchange", ["gnunet",
"libmicrohttpd"]),
- Repo("donations", "git://git.taler.net/donations", []),
- Repo("blog", "git://git.taler.net/blog", []),
- Repo("survey", "git://git.taler.net/survey", []),
- Repo("backoffice", "git://git.taler.net/backoffice", []),
- ]
-
sources = home / "sources"
for r in repos:
--
To stop receiving notification emails like this one, please contact
address@hidden.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] [taler-deployment] branch master updated: wip: build deployment via python,
gnunet <=