Example #1
0
def apply(obj, repo=None):
    if repo is None:
        repo = docs_meta.GIT_REMOTE['upstream']

    cmd = [
        'curl', 'https://github.com/{0}/'.format(repo), '|', 'git', 'am',
        '--signoff --3way' if env.sign else '--3way'
    ]

    if obj.startswith('http'):
        cmd[1] = obj
        if not obj.endswith('.patch'):
            cmd[1] += '.patch'
        local(' '.join(cmd))
    elif re.search('[a-zA-Z]+', obj):
        cmd[1] = cmd[1] + 'commit/' + obj + '.patch'

        local(' '.join(cmd))
        puts('[git]: merged commit {0} for {1} into {2}'.format(
            obj, repo, docs_meta.get_branch()))
    else:
        cmd[1] = cmd[1] + 'pull/' + obj + '.patch'

        local(' '.join(cmd))
        puts('[git]: merged pull request #{0} for {1} into {2}'.format(
            obj, repo, docs_meta.get_branch()))
Example #2
0
def apply(obj, repo=None):
    if repo is None:
        repo = docs_meta.GIT_REMOTE["upstream"]

    cmd = [
        "curl",
        "https://github.com/{0}/".format(repo),
        "|",
        "git",
        "am",
        "--signoff --3way" if env.sign else "--3way",
    ]

    if obj.startswith("http"):
        cmd[1] = obj
        if not obj.endswith(".patch"):
            cmd[1] += ".patch"

        local(" ".join(cmd))
    elif re.search("[a-zA-Z]+", obj):
        cmd[1] = cmd[1] + "commit/" + obj + ".patch"

        local(" ".join(cmd))
        puts("[git]: merged commit {0} for {1} into {2}".format(obj, repo, docs_meta.get_branch()))
    else:
        cmd[1] = cmd[1] + "pull/" + obj + ".patch"

        local(" ".join(cmd))
        puts("[git]: merged pull request #{0} for {1} into {2}".format(obj, repo, docs_meta.get_branch()))
Example #3
0
File: pdfs.py Project: ajem70/docs
def pdf_makefile(name, tag):
    name_tagged = '-'.join([name, tag])
    name_tagged_pdf = name_tagged + '.pdf'
    name_tagged_branch_pdf = '-'.join([name, tag,  docs_meta.get_branch()]) + '.pdf'
    
    generated_latex = '{0}/latex/{1}.tex'.format(paths['branch-output'], name)
    built_tex = '{0}/latex/{1}.tex'.format(paths['branch-output'], name_tagged)

    built_pdf = '{0}/latex/{1}'.format(paths['branch-output'], name_tagged_pdf)
    staged_pdf_branch = '{0}/{1}'.format(paths['branch-staging'], name_tagged_branch_pdf)
    staged_pdf = '{0}/{1}'.format(paths['branch-staging'], name_tagged_pdf)

    m.section_break(name)
    m.target(target=generated_latex, dependency='latex')
    m.job('sed $(SED_ARGS_FILE) -e $(LATEX_CORRECTION) -e $(LATEX_CORRECTION) -e $(LATEX_LINK_CORRECTION) ' + generated_latex)
    m.msg('[latex]: fixing $@ TeX from the Sphinx output.')

    m.target(target=built_tex, dependency=generated_latex)
    m.job('$(PYTHONBIN) {0}/copy-if-needed.py -i {1} -o {2} -b pdf'.format(paths['tools'], generated_latex, built_tex))
    m.msg('[pdf]: updated "' + built_tex + '" for pdf generation.')

    m.target(target=staged_pdf_branch, dependency=built_pdf)
    m.job('cp {0} {1}'.format(built_pdf, staged_pdf_branch))
    m.msg('[pdf]: migrated ' + staged_pdf)

    m.target(target=staged_pdf, dependency=staged_pdf_branch)
    m.job('{0}/create-link {1} {2} {3}'.format(paths['tools'], name_tagged_branch_pdf, name_tagged_pdf, paths['branch-staging']))
    m.msg('[pdf]: created link for ' + staged_pdf)

    m.comment('adding ' + name + '.pdf to the build dependency.')

    return staged_pdf
Example #4
0
File: deploy.py Project: AXNY/docs
def deploy_static():
    if get_branch() == MANUAL_BRANCH:

        cmd = [ build_rsync_cmd(local_path=env.paths['public'] + '/*',
                               remote_string=env.host_string + ':' + env.remote_rsync_location.rsplit('/', 1)[0],
                               recursive=False),
               build_rsync_cmd(local_path=env.paths['public'] + '/.htaccess',
                               remote_string=env.host_string + ':' + env.remote_rsync_location.rsplit('/', 1)[0],
                               recursive=False) ]

        for c in cmd:
            local(' '.join(c))
Example #5
0
def static():
    if get_branch() == MANUAL_BRANCH:

        cmd = [ build_rsync_cmd(local_path=env.paths['public'] + '/*',
                               remote_string=env.host_string + ':' + env.remote_rsync_location.rsplit('/', 1)[0],
                               recursive=False),
               build_rsync_cmd(local_path=env.paths['public'] + '/.htaccess',
                               remote_string=env.host_string + ':' + env.remote_rsync_location.rsplit('/', 1)[0],
                               recursive=False) ]

        for c in cmd:
            local(' '.join(c))
Example #6
0
def apply(obj,repo=None):
    if repo is None:
        repo = docs_meta.GIT_REMOTE['upstream']

    cmd = ['curl',
           'https://github.com/{0}/'.format(repo),
           '|', 'git', 'am',
           '--signoff --3way' if env.sign else '--3way' ]

    if obj.startswith('http'):
        cmd[1] = obj
        if not obj.endswith('.patch'):
            cmd[1] += '.patch'
        local(' '.join(cmd))
    elif re.search('[a-zA-Z]+', obj):
        cmd[1] = cmd[1] + 'commit/' + obj + '.patch'

        local(' '.join(cmd))
        puts('[git]: merged commit {0} for {1} into {2}'.format(obj, repo, docs_meta.get_branch()))
    else:
        cmd[1] = cmd[1] + 'pull/' + obj + '.patch'

        local(' '.join(cmd))
        puts('[git]: merged pull request #{0} for {1} into {2}'.format(obj, repo, docs_meta.get_branch()))
Example #7
0
def generate_meta():
    m.section_break('branch/release meta', block='rel')
    m.var('manual-branch', docs_meta.MANUAL_BRANCH, block='rel')
    m.var('current-branch', str(docs_meta.get_branch()), block='rel')
    m.var('last-commit', str(docs_meta.get_commit()), block='rel')
    m.var('current-if-not-manual', str(docs_meta.get_manual_path()), block='rel')

    paths = docs_meta.render_paths(True)

    m.section_break('file system paths', block='paths')
    m.var('output', paths['output'], block='paths')
    m.var('public-output', paths['public'], block='paths')
    m.var('branch-output', paths['branch-output'], block='paths')
    m.var('rst-include', paths['includes'], block='paths')
    m.var('branch-source', paths['branch-source'], block='paths')
    m.var('public-branch-output', paths['branch-staging'], block='paths')
Example #8
0
def static():
    if get_branch() == MANUAL_BRANCH:

        cmd = [
            build_rsync_cmd(
                local_path=env.paths["public"] + "/*",
                remote_string=env.host_string + ":" + env.remote_rsync_location.rsplit("/", 1)[0],
                recursive=False,
            ),
            build_rsync_cmd(
                local_path=env.paths["public"] + "/.htaccess",
                remote_string=env.host_string + ":" + env.remote_rsync_location.rsplit("/", 1)[0],
                recursive=False,
            ),
        ]

        for c in cmd:
            local(" ".join(c))
Example #9
0
def builds(days=14):
    days = time.time() - 60*60*24 * int(days)

    path = os.path.abspath(os.path.join(os.path.dirname(__file__), '../build/')) + '/'

    builds = [ path + o for o in os.listdir(path) if os.path.isdir(path + o)]

    for build in builds:
        branch = build.rsplit('/', 1)[1]

        if branch in docs_meta.get_conf().git.branches.published:
            continue
        elif branch == docs_meta.get_branch():
            continue
        elif branch == 'public':
            continue
        elif os.stat(build).st_mtime < days:
            _rm_rf(build)
            _rm_rf(path + "public/" + branch)
            print('[clean]: removed stale build artifact: ' + build)
Example #10
0
def generate_delegated_interface(builders):
    branches = mongo_meta.PUBLISHED_BRANCHES
    current_branch = mongo_meta.get_branch()

    if current_branch not in branches:
        branches.append(current_branch)

    builders.append('publish')
    builders.append('push')
    builders.append('stage')

    targets = []

    for branch in branches:
        m.section_break(branch, block=branch)
        m.newline(block=branch)
        for target in builders:

            for sync in [('foreground', '--wait'), ('background', '')]:

                build_target = 'delegated-%s-%s-%s' % (branch, target, sync[0])
                targets.append(build_target)

                m.target(target=build_target, block=branch)

                m.job(job=(
                    '$(PYTHONBIN) bin/delegated-build --branch %s --target %s %s'
                    % (branch, target, sync[1])),
                      block=branch)

                if sync[0] == 'background':
                    m.job(job=utils.build_platform_notification(
                        'build complete', ' '.join([branch, target])),
                          ignore=True,
                          block=branch)

            m.newline(block=branch)

    m.section_break('meta section', block='meta')
    m.newline()
    m.target('.PHONY', ' '.join(targets), block='meta')
Example #11
0
def pdf_makefile(name, tag):
    name_tagged = '-'.join([name, tag])
    name_tagged_pdf = name_tagged + '.pdf'
    name_tagged_branch_pdf = '-'.join([name, tag,
                                       docs_meta.get_branch()]) + '.pdf'

    generated_latex = '{0}/latex/{1}.tex'.format(paths['branch-output'], name)
    built_tex = '{0}/latex/{1}.tex'.format(paths['branch-output'], name_tagged)

    built_pdf = '{0}/latex/{1}'.format(paths['branch-output'], name_tagged_pdf)
    staged_pdf_branch = '{0}/{1}'.format(paths['branch-staging'],
                                         name_tagged_branch_pdf)
    staged_pdf = '{0}/{1}'.format(paths['branch-staging'], name_tagged_pdf)

    m.section_break(name)
    m.target(target=generated_latex, dependency='latex')
    m.job(
        'sed $(SED_ARGS_FILE) -e $(LATEX_CORRECTION) -e $(LATEX_CORRECTION) -e $(LATEX_LINK_CORRECTION) '
        + generated_latex)
    m.msg('[latex]: fixing $@ TeX from the Sphinx output.')

    m.target(target=built_tex, dependency=generated_latex)
    m.job('$(PYTHONBIN) {0}/copy-if-needed.py -i {1} -o {2} -b pdf'.format(
        paths['tools'], generated_latex, built_tex))
    m.msg('[pdf]: updated "' + built_tex + '" for pdf generation.')

    m.target(target=staged_pdf_branch, dependency=built_pdf)
    m.job('cp {0} {1}'.format(built_pdf, staged_pdf_branch))
    m.msg('[pdf]: migrated ' + staged_pdf)

    m.target(target=staged_pdf, dependency=staged_pdf_branch)
    m.job('{0}/create-link {1} {2} {3}'.format(paths['tools'],
                                               name_tagged_branch_pdf,
                                               name_tagged_pdf,
                                               paths['branch-staging']))
    m.msg('[pdf]: created link for ' + staged_pdf)

    m.comment('adding ' + name + '.pdf to the build dependency.')

    return staged_pdf
Example #12
0
def generate_delegated_interface(builders):
    branches = mongo_meta.PUBLISHED_BRANCHES
    current_branch = mongo_meta.get_branch()

    if current_branch not in branches:
        branches.append(current_branch)

    builders.append('publish')
    builders.append('push')
    builders.append('stage')

    targets = []

    for branch in branches:
        m.section_break(branch, block=branch)
        m.newline(block=branch)
        for target in builders:

            for sync in [ ('foreground', '--wait'), ('background', '') ]:

                build_target = 'delegated-%s-%s-%s' % ( branch, target, sync[0])
                targets.append(build_target)

                m.target(target=build_target,  block=branch)

                m.job(job=('$(PYTHONBIN) bin/delegated-build --branch %s --target %s %s'
                           % ( branch, target, sync[1])),
                      block=branch)

                if sync[0] == 'background':
                    m.job(job=utils.build_platform_notification('build complete', ' '.join([branch, target])),
                          ignore=True, block=branch)

            m.newline(block=branch)

    m.section_break('meta section', block='meta')
    m.newline()
    m.target('.PHONY', ' '.join(targets), block='meta')