ftl/integration_tests/ftl_php_integration_tests_yaml.py (42 lines of code) (raw):
"""A script to generate a cloudbuild yaml."""
import os
import yaml
import util
# Add directories for new tests here.
TEST_DIRS = [
'destination_test', 'metadata_test', 'lock_test',
'empty_descriptor_test', 'no_descriptor_test',
'no_deps_test', 'additional_directory',
'gcp_build_test'
]
_ST_IMAGE = ('gcr.io/gcp-runtimes/structure-test:'
'6195641f5a5a14c63c7945262066270842150ddb')
_TEST_DIR = '/workspace/ftl/php/testdata'
_PHP_BASE = 'gcr.io/gae-runtimes/php72_app_builder:argo_current'
def main():
cloudbuild_yaml = util.INITIAL_CLOUDBUILD_YAML
cloudbuild_yaml['steps'].append(
# Build the FTL image from source and load it into the daemon.
{
'name': 'gcr.io/cloud-builders/bazel@sha256:7360c36bded15db68a35cfb1740a994f0a09ad5ce378a97f96d698bc223e442a',
'args': ['run', '//ftl:php_builder_image', '--', '--norun'],
'id': 'build-builder',
}, )
# Generate a set of steps for each test and add them.
test_map = {}
for test in TEST_DIRS:
test_map[test] = [
'--base', _PHP_BASE, '--name',
'gcr.io/ftl-node-test/%s-image:latest' % test, '--directory',
os.path.join(_TEST_DIR, test), '--no-cache'
]
test_map['destination_test'].extend(['--destination', '/alternative-app'])
test_map['metadata_test'].extend(['--entrypoint', '/bin/echo'])
test_map['metadata_test'].extend(['--exposed-ports', '8090,8091'])
test_map['additional_directory'].extend([
'--additional-directory',
'/workspace/ftl/php/testdata/additional_directory'
])
for test, args in test_map.iteritems():
cloudbuild_yaml['steps'] += util.run_test_steps(
'php_builder_image', 'gcr.io/ftl-node-test/%s-image:latest' % test,
os.path.join(_TEST_DIR, test), args)
print yaml.dump(cloudbuild_yaml)
if __name__ == "__main__":
main()