summaryrefslogtreecommitdiff
path: root/make.py
diff options
context:
space:
mode:
Diffstat (limited to 'make.py')
-rwxr-xr-xmake.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/make.py b/make.py
index 2d440b972..6594c5c5d 100755
--- a/make.py
+++ b/make.py
@@ -6,6 +6,8 @@ import os, shutil, subprocess, sys
OUT_DIR = os.environ.get('OUT_DIR') or 'test'
SRC_DIR = os.environ.get('SRC_DIR') or 'src'
+UPSTREAM = os.environ.get('UPSTREAM') or 'git@github.com:tc39/test262.git'
+MAINTAINER = os.environ.get('MAINTAINER') or 'test262@ecma-international.org'
def shell(*args):
sp = subprocess.Popen(list(args), stdout=subprocess.PIPE)
@@ -46,6 +48,32 @@ def build():
def clean():
shell(sys.executable, 'tools/generation/generator.py', 'clean', OUT_DIR)
+@target('clean', 'build')
+def deploy():
+ shell('git', 'add', '--all', OUT_DIR)
+ shell('git', 'commit', '--message', '"Re-build from source"')
+ shell('git', 'push', UPSTREAM, 'master')
+ shell('git', 'checkout', '-')
+
+# Generate a deploy key for use in a continuous integration system, allowing
+# for automated deployment in response to merge events.
+@target()
+def github_deploy_key():
+ shell('ssh-keygen',
+ '-t', 'rsa',
+ '-b', '4096',
+ '-C', MAINTAINER,
+ '-f', 'github-deploy-key')
+
+# Encrypt the deploy key so that it may be included in the repository (to be
+# decrypted by the continuous integration server during automated deployment)
+# This requires the "travis" Ruby gem
+# Source: https://docs.travis-ci.com/user/encrypting-files/
+@target('github_deploy_key')
+def github_deploy_key_enc():
+ shell('travis', 'login')
+ shell('travis', 'encrypt-file', 'github-deploy-key')
+
if len(sys.argv) == 1:
targets['build']()