--- kind: pipeline type: docker name: client_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 --- kind: pipeline type: docker name: server_ci trigger: event: exclude: - promote - rollback steps: - 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 --- kind: pipeline type: docker name: backplane_ci trigger: event: exclude: - promote - rollback steps: - name: backplane_fmt image: coresdev/stk_build_env commands: - cd starkingdoms-backplane - 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: backplane_clippy image: coresdev/stk_build_env commands: - cd starkingdoms-backplane - 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: backplane_build image: coresdev/stk_build_env commands: - cd starkingdoms-backplane - 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_backplane image: plugins/s3 depends_on: - backplane_build - backplane_fmt - backplane_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-backplane target: builds/${DRONE_COMMIT_SHA}/starkingdoms-backplane path_style: true --- kind: pipeline type: docker name: trigger_deploy depends_on: - client_ci - server_ci - backplane_ci trigger: event: exclude: - promote - rollback steps: - 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 --- 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" --- kind: pipeline type: docker name: deploy-backplane trigger: event: - promote target: - backplane 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_backplane.yml -i ansible/global/backplane.yml --vault-password-file vault_password.txt -e "backplane_binary_url=$MINIO_BASE/$MINIO_BUCKET/builds/${DRONE_COMMIT_SHA}/starkingdoms-backplane/target/release/starkingdoms-backplane"