summary refs log tree commit diff
path: root/.circleci/config.yml
blob: 3c2b32c015cb4c17bbcdebefe640d09c17194fa3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
version: 2
jobs:
  dockerhubuploadrelease:
    machine: true
    steps:
      - checkout
      - 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}-py3
  dockerhubuploadlatest:
    machine: true
    steps:
      - checkout
      - 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-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:
      - sytestpy3:
          filters:
            branches:
              only: /develop|master|release-.*/
      - sytestpy3postgres:
          filters:
            branches:
              only: /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