~starkingdoms/starkingdoms

ref: 321e32fc5c5439af1c396ff486d9be99d70cd36e starkingdoms/.drone.yml -rw-r--r-- 4.0 KiB
321e32fc — core update hook to provide commands for invalid formatting 2 years ago
                                                                                
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
---
kind: pipeline
type: docker
name: starkingdoms_ci
trigger:
  event:
    exclude:
      - promote
      - rollback

steps:
  - name: client_fmt
    image: node
    commands:
      - cd starkingdoms-client
      - yarn
      - yarn prettier . --check
  - name: client_build
    depends_on:
      - client_fmt
    image: node
    commands:
      - cd starkingdoms-client
      - yarn
      - yarn build
      - cd dist
      - tar cJvf client.tar.xz *
  - name: upload_client
    image: plugins/s3
    depends_on:
      - client_build
    settings:
      bucket:
        from_secret: s3_bucket
      endpoint:
        from_secret: s3_host
      access_key:
        from_secret: s3_access_key
      secret_key:
        from_secret: s3_secret_key
      source: starkingdoms-client/dist/client.tar.xz
      target: builds/${DRONE_COMMIT_SHA}/client.tar.xz
      path_style: true

  - name: server_fmt
    image: coresdev/stk_build_env
    commands:
      - cd server
      - rustfmt **/*.rs --check --edition 2021 --color always
    environment:
      SCCACHE_REGION: us-east-1
      SCCACHE_BUCKET:
        from_secret: s3_bucket
      SCCACHE_ENDPOINT:
        from_secret: s3_host
      AWS_ACCESS_KEY_ID:
        from_secret: s3_access_key
      AWS_SECRET_ACCESS_KEY:
        from_secret: s3_secret_key
      RUSTC_WRAPPER: sccache
      SCCACHE_USE_SSL: "true"
      CARGO_INCREMENTAL: "0"
  - name: server_clippy
    image: coresdev/stk_build_env
    commands:
      - cd server
      - cargo clippy --color always
    environment:
      SCCACHE_REGION: us-east-1
      SCCACHE_BUCKET:
        from_secret: s3_bucket
      SCCACHE_ENDPOINT:
        from_secret: s3_host
      AWS_ACCESS_KEY_ID:
        from_secret: s3_access_key
      AWS_SECRET_ACCESS_KEY:
        from_secret: s3_secret_key
      RUSTC_WRAPPER: sccache
      SCCACHE_USE_SSL: "true"
      CARGO_INCREMENTAL: "0"
  - name: server_build
    image: coresdev/stk_build_env
    commands:
      - cd server
      - cargo build --release --color always
    environment:
      SCCACHE_REGION: us-east-1
      SCCACHE_BUCKET:
        from_secret: s3_bucket
      SCCACHE_ENDPOINT:
        from_secret: s3_host
      AWS_ACCESS_KEY_ID:
        from_secret: s3_access_key
      AWS_SECRET_ACCESS_KEY:
        from_secret: s3_secret_key
      RUSTC_WRAPPER: sccache
      SCCACHE_USE_SSL: "true"
      CARGO_INCREMENTAL: "0"
  - name: upload_server
    image: plugins/s3
    depends_on:
      - server_build
      - server_fmt
      - server_clippy
    settings:
      bucket:
        from_secret: s3_bucket
      endpoint:
        from_secret: s3_host
      access_key:
        from_secret: s3_access_key
      secret_key:
        from_secret: s3_secret_key
      source: target/release/starkingdoms-server
      target: builds/${DRONE_COMMIT_SHA}/starkingdoms-server
      path_style: true

  - name: promote-unstable
    image: drone/cli
    when:
      branch:
        - bevy_rewrite
      event:
        - push
    environment:
      DRONE_SERVER:
        from_secret: drone_url
      DRONE_TOKEN:
        from_secret: drone_token
    commands:
      - drone build promote ${DRONE_REPO} ${DRONE_BUILD_NUMBER} unstable
    depends_on:
      - upload_client
      - upload_server

---
kind: pipeline
type: docker
name: deploy-unstable
trigger:
  event:
    - promote
  target:
    - unstable
steps:
  - name: deploy
    image: pad92/ansible-alpine
    environment:
      VAULT_PWD:
        from_secret: vault_password
      MINIO_BASE:
        from_secret: s3_host
      MINIO_BUCKET:
        from_secret: s3_bucket
      ANSIBLE_FORCE_COLOR: 1
      ANSIBLE_HOST_KEY_CHECKING: False
    commands:
      - echo "$VAULT_PWD" > vault_password.txt
      - cat vault_password.txt
      - ansible-playbook ansible/deploy.yml -i ansible/environments/unstable.yml --vault-password-file vault_password.txt -e "server_binary_url=$MINIO_BASE/$MINIO_BUCKET/builds/${DRONE_COMMIT_SHA}/starkingdoms-server/target/release/starkingdoms-server client_package_url=$MINIO_BASE/$MINIO_BUCKET/builds/${DRONE_COMMIT_SHA}/client.tar.xz/starkingdoms-client/dist/client.tar.xz"