diff options
Diffstat (limited to '.circleci/config.yml')
-rw-r--r-- | .circleci/config.yml | 168 |
1 files changed, 168 insertions, 0 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000000..d4aafd4b2c --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,168 @@ +version: 2 +jobs: + dockerhubuploadrelease: + machine: true + steps: + - checkout + - run: docker build -f docker/Dockerfile --label gitsha1=${CIRCLE_SHA1} -t matrixdotorg/synapse:${CIRCLE_TAG} . + - run: docker build -f docker/Dockerfile --label gitsha1=${CIRCLE_SHA1} -t matrixdotorg/synapse:${CIRCLE_TAG}-py3 --build-arg PYTHON_VERSION=3.6 . + - run: docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD + - run: docker push matrixdotorg/synapse:${CIRCLE_TAG} + - run: docker push matrixdotorg/synapse:${CIRCLE_TAG}-py3 + dockerhubuploadlatest: + machine: true + steps: + - checkout + - run: docker build -f docker/Dockerfile --label gitsha1=${CIRCLE_SHA1} -t matrixdotorg/synapse:${CIRCLE_SHA1} . + - run: docker build -f docker/Dockerfile --label gitsha1=${CIRCLE_SHA1} -t matrixdotorg/synapse:${CIRCLE_SHA1}-py3 --build-arg PYTHON_VERSION=3.6 . + - run: docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD + - run: docker push matrixdotorg/synapse:latest + - run: docker push matrixdotorg/synapse:latest-py3 + sytestpy2: + docker: + - image: matrixdotorg/sytest-synapsepy2 + working_directory: /src + steps: + - checkout + - run: /synapse_sytest.sh + - store_artifacts: + path: /logs + destination: logs + - store_test_results: + path: /logs + sytestpy2postgres: + docker: + - image: matrixdotorg/sytest-synapsepy2 + working_directory: /src + steps: + - checkout + - run: POSTGRES=1 /synapse_sytest.sh + - store_artifacts: + path: /logs + destination: logs + - store_test_results: + path: /logs + sytestpy2merged: + docker: + - image: matrixdotorg/sytest-synapsepy2 + working_directory: /src + steps: + - checkout + - run: bash .circleci/merge_base_branch.sh + - run: /synapse_sytest.sh + - store_artifacts: + path: /logs + destination: logs + - store_test_results: + path: /logs + sytestpy2postgresmerged: + docker: + - image: matrixdotorg/sytest-synapsepy2 + working_directory: /src + steps: + - checkout + - run: bash .circleci/merge_base_branch.sh + - run: POSTGRES=1 /synapse_sytest.sh + - store_artifacts: + path: /logs + destination: logs + - store_test_results: + path: /logs + + sytestpy3: + docker: + - image: matrixdotorg/sytest-synapsepy3 + working_directory: /src + steps: + - checkout + - run: /synapse_sytest.sh + - store_artifacts: + path: /logs + destination: logs + - store_test_results: + path: /logs + sytestpy3postgres: + docker: + - image: matrixdotorg/sytest-synapsepy3 + working_directory: /src + steps: + - checkout + - run: POSTGRES=1 /synapse_sytest.sh + - store_artifacts: + path: /logs + destination: logs + - store_test_results: + path: /logs + sytestpy3merged: + docker: + - image: matrixdotorg/sytest-synapsepy3 + working_directory: /src + steps: + - checkout + - run: bash .circleci/merge_base_branch.sh + - run: /synapse_sytest.sh + - store_artifacts: + path: /logs + destination: logs + - store_test_results: + path: /logs + sytestpy3postgresmerged: + docker: + - image: matrixdotorg/sytest-synapsepy3 + working_directory: /src + steps: + - checkout + - run: bash .circleci/merge_base_branch.sh + - run: POSTGRES=1 /synapse_sytest.sh + - store_artifacts: + path: /logs + destination: logs + - store_test_results: + path: /logs + +workflows: + version: 2 + build: + jobs: + - sytestpy2: + filters: + branches: + only: /develop|master|release-.*/ + - sytestpy2postgres: + filters: + branches: + only: /develop|master|release-.*/ + - sytestpy3: + filters: + branches: + only: /develop|master|release-.*/ + - sytestpy3postgres: + filters: + branches: + only: /develop|master|release-.*/ + - sytestpy2merged: + filters: + branches: + ignore: /develop|master|release-.*/ + - sytestpy2postgresmerged: + filters: + branches: + ignore: /develop|master|release-.*/ + - sytestpy3merged: + filters: + branches: + ignore: /develop|master|release-.*/ + - sytestpy3postgresmerged: + filters: + branches: + ignore: /develop|master|release-.*/ + - dockerhubuploadrelease: + filters: + tags: + only: /v[0-9].[0-9]+.[0-9]+.*/ + branches: + ignore: /.*/ + - dockerhubuploadlatest: + filters: + branches: + only: master |