https://github.com/postgres/postgres
Raw File
Tip revision: 6ed83d5fa55cf6e6c9d1be34ec10730c48eba763 authored by David Rowley on 07 April 2024, 12:32:26 UTC
Use bump memory context for tuplesorts
Tip revision: 6ed83d5
.cirrus.star
"""Additional CI configuration, using the starlark language. See
https://cirrus-ci.org/guide/programming-tasks/#introduction-into-starlark

See also the starlark specification at
https://github.com/bazelbuild/starlark/blob/master/spec.md

See also .cirrus.yml and src/tools/ci/README
"""

load("cirrus", "env", "fs")


def main():
    """The main function is executed by cirrus-ci after loading .cirrus.yml and can
    extend the CI definition further.

    As documented in .cirrus.yml, the final CI configuration is composed of

    1) the contents of .cirrus.yml

    2) if defined, the contents of the file referenced by the, repository
       level, REPO_CI_CONFIG_GIT_URL variable (see
       https://cirrus-ci.org/guide/programming-tasks/#fs for the accepted
       format)

    3) .cirrus.tasks.yml
    """

    output = ""

    # 1) is evaluated implicitly

    # Add 2)
    repo_config_url = env.get("REPO_CI_CONFIG_GIT_URL")
    if repo_config_url != None:
        print("loading additional configuration from \"{}\"".format(repo_config_url))
        output += config_from(repo_config_url)
    else:
        output += "\n# REPO_CI_CONFIG_URL was not set\n"

    # Add 3)
    output += config_from(".cirrus.tasks.yml")

    return output


def config_from(config_src):
    """return contents of config file `config_src`, surrounded by markers
    indicating start / end of the included file
    """

    config_contents = fs.read(config_src)
    config_fmt = """

###
# contents of config file `{0}` start here
###
{1}
###
# contents of config file `{0}` end here
###
"""
    return config_fmt.format(config_src, config_contents)
back to top