version: 2 jobs: dockerhubuploadrelease: machine: true steps: - checkout - run: docker build -f docker/Dockerfile --label gitsha1=${CIRCLE_SHA1} -t matrixdotorg/synapse:${CIRCLE_TAG}-py2 . - run: docker build -f docker/Dockerfile --label gitsha1=${CIRCLE_SHA1} -t matrixdotorg/synapse:${CIRCLE_TAG} -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}-py2 - run: docker push matrixdotorg/synapse:${CIRCLE_TAG}-py3 dockerhubuploadreleasebranch: machine: true steps: - checkout - run: docker build -f docker/Dockerfile --label gitsha1=${CIRCLE_SHA1} -t matrixdotorg/synapse:${CIRCLE_BRANCH} --build-arg PYTHON_VERSION=3.7 . - run: docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD - run: docker push matrixdotorg/synapse:${CIRCLE_BRANCH} dockerhubuploadlatest: machine: true steps: - checkout - run: docker build -f docker/Dockerfile --label gitsha1=${CIRCLE_SHA1} -t matrixdotorg/synapse:latest-py2 . - run: docker build -f docker/Dockerfile --label gitsha1=${CIRCLE_SHA1} -t matrixdotorg/synapse:latest -t matrixdotorg/synapse:latest-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-py2 - run: docker push matrixdotorg/synapse:latest-py3 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: - 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: /.*/ - dockerhubuploadreleasebranch: filters: branches: only: shhs - dockerhubuploadlatest: filters: branches: only: master