forked from MirrorHub/synapse
8607397ea7
Latest is horrible and makes debugging what has happened anywhere a nightmare. We push a latest because of demand for it, but we'll also push a SHA1 commit id so those wanting to know what they're running (and be able to roll back if required) can use those instead. Note that latest here is defined as "most recent master commit" not "most recent released version", as the actual semantics of making latest correct while still being able to build bugfixed releases of previous versions is just ARGH. So we define it as "master" not "latest release".
159 lines
5 KiB
YAML
159 lines
5 KiB
YAML
version: 2
|
|
jobs:
|
|
dockerhubuploadrelease:
|
|
machine: true
|
|
steps:
|
|
- checkout
|
|
- run: docker build -f docker/Dockerfile -t matrixdotorg/synapse:$CIRCLE_TAG .
|
|
- run: docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD
|
|
- run: docker push matrixdotorg/synapse:$CIRCLE_TAG
|
|
dockerhubuploadlatest:
|
|
machine: true
|
|
steps:
|
|
- checkout
|
|
- run: docker build -f docker/Dockerfile -t matrixdotorg/synapse:$CIRCLE_SHA1 .
|
|
- run: docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD
|
|
- run: docker tag matrixdotorg/synapse:$CIRCLE_SHA1 matrixdotorg/synapse:latest
|
|
- run: docker push matrixdotorg/synapse:$CIRCLE_SHA1
|
|
- run: docker push matrixdotorg/synapse:latest
|
|
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]+(.[0-9]+)?/
|
|
branches:
|
|
ignore: /.*/
|
|
- dockerhubuploadlatest:
|
|
filters:
|
|
branches:
|
|
only: master
|