diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml index a7552d3..1d83caa 100644 --- a/bitbucket-pipelines.yml +++ b/bitbucket-pipelines.yml @@ -33,7 +33,7 @@ pipelines: fi - parallel: - - step: + - step: name: aws_common/cw-disabled services: - docker @@ -41,7 +41,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/aws_common - pipenv run molecule test -s cw-disabled - - step: + - step: name: aws_common/default services: - docker @@ -49,7 +49,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/aws_common - pipenv run molecule test -s default - - step: + - step: name: aws_common/logs-disabled services: - docker @@ -57,7 +57,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/aws_common - pipenv run molecule test -s logs-disabled - - step: + - step: name: bitbucket_config/default services: - docker @@ -65,7 +65,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/bitbucket_config - pipenv run molecule test -s default - - step: + - step: name: bitbucket_config/iam_elasticsearch services: - docker @@ -73,7 +73,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/bitbucket_config - pipenv run molecule test -s iam_elasticsearch - - step: + - step: name: confluence_config/aurora services: - docker @@ -81,7 +81,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/confluence_config - pipenv run molecule test -s aurora - - step: + - step: name: confluence_config/default services: - docker @@ -89,7 +89,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/confluence_config - pipenv run molecule test -s default - - step: + - step: name: confluence_config/password_char_escaping services: - docker @@ -97,7 +97,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/confluence_config - pipenv run molecule test -s password_char_escaping - - step: + - step: name: confluence_config/system_jdk services: - docker @@ -105,7 +105,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/confluence_config - pipenv run molecule test -s system_jdk - - step: + - step: name: diy_backup/default services: - docker @@ -113,7 +113,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/diy_backup - pipenv run molecule test -s default - - step: + - step: name: jira_config/aurora services: - docker @@ -121,7 +121,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/jira_config - pipenv run molecule test -s aurora - - step: + - step: name: jira_config/default services: - docker @@ -129,7 +129,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/jira_config - pipenv run molecule test -s default - - step: + - step: name: jira_config/jira_config_props services: - docker @@ -137,7 +137,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/jira_config - pipenv run molecule test -s jira_config_props - - step: + - step: name: jira_config/password_char_escaping services: - docker @@ -145,7 +145,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/jira_config - pipenv run molecule test -s password_char_escaping - - step: + - step: name: linux_common/default services: - docker @@ -153,7 +153,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/linux_common - pipenv run molecule test -s default - - step: + - step: name: product_common/default services: - docker @@ -161,7 +161,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_common - pipenv run molecule test -s default - - step: + - step: name: product_common/system_jdk services: - docker @@ -169,7 +169,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_common - pipenv run molecule test -s system_jdk - - step: + - step: name: product_install/bitbucket_latest services: - docker @@ -177,7 +177,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_install - pipenv run molecule test -s bitbucket_latest - - step: + - step: name: product_install/confluence_latest services: - docker @@ -185,7 +185,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_install - pipenv run molecule test -s confluence_latest - - step: + - step: name: product_install/crowd_latest services: - docker @@ -193,7 +193,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_install - pipenv run molecule test -s crowd_latest - - step: + - step: name: product_install/default services: - docker @@ -201,7 +201,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_install - pipenv run molecule test -s default - - step: + - step: name: product_install/jira_all services: - docker @@ -209,7 +209,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_install - pipenv run molecule test -s jira_all - - step: + - step: name: product_install/jira_cached_with_downgrade services: - docker @@ -217,7 +217,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_install - pipenv run molecule test -s jira_cached_with_downgrade - - step: + - step: name: product_install/jira_cached_with_upgrade services: - docker @@ -225,7 +225,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_install - pipenv run molecule test -s jira_cached_with_upgrade - - step: + - step: name: product_install/jira_software_latest services: - docker @@ -233,7 +233,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_install - pipenv run molecule test -s jira_software_latest - - step: + - step: name: product_install/jira_tarball services: - docker @@ -241,7 +241,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_install - pipenv run molecule test -s jira_tarball - - step: + - step: name: product_install/jira_version_from_file services: - docker @@ -249,7 +249,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_install - pipenv run molecule test -s jira_version_from_file - - step: + - step: name: product_install/jira_version_latest services: - docker @@ -257,7 +257,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_install - pipenv run molecule test -s jira_version_latest - - step: + - step: name: product_install/jira_version_override services: - docker @@ -265,7 +265,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_install - pipenv run molecule test -s jira_version_override - - step: + - step: name: product_install/servicedesk3 services: - docker @@ -273,7 +273,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_install - pipenv run molecule test -s servicedesk3 - - step: + - step: name: product_install/servicedesk4 services: - docker @@ -281,7 +281,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_install - pipenv run molecule test -s servicedesk4 - - step: + - step: name: product_install/servicedesk_latest services: - docker @@ -289,7 +289,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_install - pipenv run molecule test -s servicedesk_latest - - step: + - step: name: product_startup/bitbucket services: - docker @@ -297,7 +297,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_startup - pipenv run molecule test -s bitbucket - - step: + - step: name: product_startup/default services: - docker @@ -305,7 +305,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_startup - pipenv run molecule test -s default - - step: + - step: name: product_startup/startup_restart_false services: - docker @@ -313,7 +313,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_startup - pipenv run molecule test -s startup_restart_false - - step: + - step: name: product_startup/synchrony services: - docker @@ -321,7 +321,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_startup - pipenv run molecule test -s synchrony - - step: + - step: name: restore_backups/default services: - docker @@ -329,7 +329,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/restore_backups - pipenv run molecule test -s default - - step: + - step: name: restore_backups/restore_conf_server services: - docker @@ -337,7 +337,7 @@ pipelines: - ./bin/install-ansible --dev - cd roles/restore_backups - pipenv run molecule test -s restore_conf_server - - step: + - step: name: restore_backups/restore_jira_clustered services: - docker @@ -345,15 +345,14 @@ pipelines: - ./bin/install-ansible --dev - cd roles/restore_backups - pipenv run molecule test -s restore_jira_clustered - - step: name: Run Snyk security scan services: - docker script: - - ./bin/install-ansible --dev - - apt-get update && apt-get install -y npm - - npm install -g snyk - - snyk auth $SNYK_TOKEN - - pipenv run snyk test --severity-threshold=high + - ./bin/install-ansible --dev + - apt-get update && apt-get install -y npm + - npm install -g snyk + - snyk auth $SNYK_TOKEN + - pipenv run snyk test --severity-threshold=high diff --git a/pipeline_generator/pipeline.py b/pipeline_generator/pipeline.py index 9f85056..c356a56 100644 --- a/pipeline_generator/pipeline.py +++ b/pipeline_generator/pipeline.py @@ -1,4 +1,4 @@ -from jinja2 import Template +import jinja2 as j2 from pathlib import Path import os @@ -14,14 +14,16 @@ def find_all_scenarios(): def load_template(): - path = Path(os.path.join(os.path.dirname(__file__), PIPELINE_TEMPLATE_J2_FILE)) - return Template(path.read_text()) - + jenv = j2.Environment( + loader=j2.FileSystemLoader('.'), + lstrip_blocks=True, + trim_blocks=True) + return jenv.get_template(PIPELINE_TEMPLATE_J2_FILE) def main(): - template = load_template() - scenario_paths = find_all_scenarios() + + template = load_template() generated_output = template.render(scenario_paths=scenario_paths) print(generated_output) diff --git a/pipeline_generator/templates/bitbucket-pipelines.yml.j2 b/pipeline_generator/templates/bitbucket-pipelines.yml.j2 index 8d29339..77a5e9c 100644 --- a/pipeline_generator/templates/bitbucket-pipelines.yml.j2 +++ b/pipeline_generator/templates/bitbucket-pipelines.yml.j2 @@ -33,7 +33,7 @@ pipelines: fi - parallel: - {% for spath in scenario_paths -%} + {% for spath in scenario_paths %} - step: name: {{ spath.parts[2] }}/{{ spath.parts[4] }} services: @@ -49,8 +49,8 @@ pipelines: services: - docker script: - - ./bin/install-ansible --dev - - apt-get update && apt-get install -y npm - - npm install -g snyk - - snyk auth $SNYK_TOKEN - - pipenv run snyk test --severity-threshold=high + - ./bin/install-ansible --dev + - apt-get update && apt-get install -y npm + - npm install -g snyk + - snyk auth $SNYK_TOKEN + - pipenv run snyk test --severity-threshold=high