--- include: - project: shore/ci-stuff file: templates/docker.yml - project: shore/ci-stuff file: templates/pre-commit.yml - project: shore/ci-stuff file: templates/terraform.yml default: before_script: - apt-get update - apt-get install -y terraform AWS Terraform plan: extends: .tf_plan stage: test variables: &aws_tf_vars TF_ROOT: Terraform/AWS rules: &tf_rules - changes: - $TF_ROOT/* - $TF_ROOT/**/* AWS Terraform apply: extends: .tf_apply stage: deploy rules: *tf_rules needs: - job: AWS Terraform plan artifacts: true variables: *aws_tf_vars web-proxy kodi build: extends: .compose-build tags: ["kodi.shore.co.il"] variables: WORKDIR: Compose/web-proxy/kodi rules: &compose-rules - if: $CI_PIPELINE_SOURCE == "schedule" - if: $CI_PIPELINE_SOURCE == "push" changes: - $WORKDIR/* - $WORKDIR/**/* web-proxy kodi pull: extends: .compose-pull tags: ["kodi.shore.co.il"] variables: WORKDIR: Compose/web-proxy/kodi rules: *compose-rules web-proxy kodi run: extends: .compose-run tags: ["kodi.shore.co.il"] variables: WORKDIR: Compose/web-proxy/kodi when: manual rules: *compose-rules web-proxy ns4 build: extends: .compose-build tags: ["ns4.shore.co.il"] variables: WORKDIR: Compose/web-proxy/ns4 rules: *compose-rules web-proxy ns4 pull: extends: .compose-pull tags: ["ns4.shore.co.il"] variables: WORKDIR: Compose/web-proxy/ns4 rules: *compose-rules web-proxy ns4 run: extends: .compose-run tags: ["ns4.shore.co.il"] variables: WORKDIR: Compose/web-proxy/ns4 when: manual rules: *compose-rules web-proxy host01 build: extends: .compose-build tags: ["host01.shore.co.il"] variables: WORKDIR: Compose/web-proxy/host01 rules: *compose-rules web-proxy host01 pull: extends: .compose-pull tags: ["host01.shore.co.il"] variables: WORKDIR: Compose/web-proxy/host01 rules: *compose-rules web-proxy host01 run: extends: .compose-run tags: ["host01.shore.co.il"] variables: WORKDIR: Compose/web-proxy/host01 when: manual rules: *compose-rules # Matrix Compose deployment. matrix-build: extends: .compose-build tags: &matrix-tags [host01.shore.co.il] variables: &matrix-vars WORKDIR: Compose/matrix rules: *compose-rules matrix-pull: extends: .compose-pull tags: *matrix-tags variables: *matrix-vars rules: *compose-rules matrix-run: extends: .compose-run tags: *matrix-tags variables: *matrix-vars rules: *compose-rules needs: - job: matrix-build - job: matrix-pull after_script: # yamllint disable rule:line-length - docker-compose exec synapse sh -c "while [ ! -f /conf/homeserver.yaml ]; do echo Waiting for the config file.; sleep 1; done" - docker-compose exec synapse update_synapse_database --run-background-updates --database-config /conf/homeserver.yaml # yamllint enable rule:line-length