version: 2 jobs: dockerhubuploadrelease: machine: true steps: - checkout - run: docker build -f docker/Dockerfile -t matrixdotorg/synapse:${CIRCLE_TAG} . - run: docker build -f docker/Dockerfile -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 -t matrixdotorg/synapse:${CIRCLE_SHA1} . - run: docker build -f docker/Dockerfile -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 tag matrixdotorg/synapse:${CIRCLE_SHA1} matrixdotorg/synapse:latest - run: docker tag matrixdotorg/synapse:${CIRCLE_SHA1}-py3 matrixdotorg/synapse:latest-py3 - run: docker push matrixdotorg/synapse:${CIRCLE_SHA1} - run: docker push matrixdotorg/synapse:${CIRCLE_SHA1}-py3 - 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