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: machine: true steps: - checkout - run: docker pull matrixdotorg/sytest-synapsepy2 - run: docker run --rm -it -v $(pwd)\:/src -v $(pwd)/logs\:/logs matrixdotorg/sytest-synapsepy2 - store_artifacts: path: ~/project/logs destination: logs - store_test_results: path: logs sytestpy2postgres: machine: true steps: - checkout - run: docker pull matrixdotorg/sytest-synapsepy2 - run: docker run --rm -it -v $(pwd)\:/src -v $(pwd)/logs\:/logs -e POSTGRES=1 matrixdotorg/sytest-synapsepy2 - store_artifacts: path: ~/project/logs destination: logs - store_test_results: path: logs sytestpy2merged: machine: true steps: - checkout - run: bash .circleci/merge_base_branch.sh - run: docker pull matrixdotorg/sytest-synapsepy2 - run: docker run --rm -it -v $(pwd)\:/src -v $(pwd)/logs\:/logs matrixdotorg/sytest-synapsepy2 - store_artifacts: path: ~/project/logs destination: logs - store_test_results: path: logs sytestpy2postgresmerged: machine: true steps: - checkout - run: bash .circleci/merge_base_branch.sh - run: docker pull matrixdotorg/sytest-synapsepy2 - run: docker run --rm -it -v $(pwd)\:/src -v $(pwd)/logs\:/logs -e POSTGRES=1 matrixdotorg/sytest-synapsepy2 - store_artifacts: path: ~/project/logs destination: logs - store_test_results: path: logs sytestpy3: machine: true steps: - checkout - run: docker pull matrixdotorg/sytest-synapsepy3 - run: docker run --rm -it -v $(pwd)\:/src -v $(pwd)/logs\:/logs matrixdotorg/sytest-synapsepy3 - store_artifacts: path: ~/project/logs destination: logs - store_test_results: path: logs sytestpy3postgres: machine: true steps: - checkout - run: docker pull matrixdotorg/sytest-synapsepy3 - run: docker run --rm -it -v $(pwd)\:/src -v $(pwd)/logs\:/logs -e POSTGRES=1 matrixdotorg/sytest-synapsepy3 - store_artifacts: path: ~/project/logs destination: logs - store_test_results: path: logs sytestpy3merged: machine: true steps: - checkout - run: bash .circleci/merge_base_branch.sh - run: docker pull matrixdotorg/sytest-synapsepy3 - run: docker run --rm -it -v $(pwd)\:/src -v $(pwd)/logs\:/logs matrixdotorg/sytest-synapsepy3 - store_artifacts: path: ~/project/logs destination: logs - store_test_results: path: logs sytestpy3postgresmerged: machine: true steps: - checkout - run: bash .circleci/merge_base_branch.sh - run: docker pull matrixdotorg/sytest-synapsepy3 - run: docker run --rm -it -v $(pwd)\:/src -v $(pwd)/logs\:/logs -e POSTGRES=1 matrixdotorg/sytest-synapsepy3 - store_artifacts: path: ~/project/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