~starkingdoms/starkingdoms

55b4b47550b43aa124c170a3d8f6e6a9afe3aafb — core 1 year, 8 months ago 7a6167e
woodpecker work
4 files changed, 61 insertions(+), 343 deletions(-)

D .woodpecker.yml
A .woodpecker/.backplane.yaml
A .woodpecker/.client.yaml
A .woodpecker/.server.yaml
D .woodpecker.yml => .woodpecker.yml +0 -343
@@ 1,343 0,0 @@
---
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 --profile release-ci --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 --profile release-ci --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-ci/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 --profile release-ci --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 --profile release-ci --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-ci/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-ci/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-ci/starkingdoms-backplane"
---
kind: pipeline
type: docker
name: deploy-beta
trigger:
  event:
    - promote
  target:
    - beta
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/beta.yml --vault-password-file vault_password.txt -e "server_binary_url=$MINIO_BASE/$MINIO_BUCKET/builds/${DRONE_COMMIT_SHA}/starkingdoms-server/target/release-ci/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-stable
trigger:
  event:
    - promote
  target:
    - stable
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/stable.yml --vault-password-file vault_password.txt -e "server_binary_url=$MINIO_BASE/$MINIO_BUCKET/builds/${DRONE_COMMIT_SHA}/starkingdoms-server/target/release-ci/starkingdoms-server client_package_url=$MINIO_BASE/$MINIO_BUCKET/builds/${DRONE_COMMIT_SHA}/client.tar.xz/starkingdoms-client/dist/client.tar.xz"


A .woodpecker/.backplane.yaml => .woodpecker/.backplane.yaml +22 -0
@@ 0,0 1,22 @@
steps:
  - name: backplane_fmt
    image: coresdev/stk_build_env
    commands:
      - cd starkingdoms-backplane
      - rustfmt **/*.rs --check --edition 2021 --color always
    environment:
      CARGO_INCREMENTAL: "0"
  - name: backplane_clippy
    image: coresdev/stk_build_env
    commands:
      - cd starkingdoms-backplane
      - cargo clippy --profile release-ci --color always
    environment:
      CARGO_INCREMENTAL: "0"
  - name: backplane_build
    image: coresdev/stk_build_env
    commands:
      - cd starkingdoms-backplane
      - cargo build --profile release-ci --color always
    environment:
      CARGO_INCREMENTAL: "0"
\ No newline at end of file

A .woodpecker/.client.yaml => .woodpecker/.client.yaml +17 -0
@@ 0,0 1,17 @@
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 *
\ No newline at end of file

A .woodpecker/.server.yaml => .woodpecker/.server.yaml +22 -0
@@ 0,0 1,22 @@
steps:
  - name: server_fmt
    image: coresdev/stk_build_env
    commands:
      - cd server
      - rustfmt **/*.rs --check --edition 2021 --color always
    environment:
      CARGO_INCREMENTAL: "0"
  - name: server_clippy
    image: coresdev/stk_build_env
    commands:
      - cd server
      - cargo clippy --profile release-ci --color always
    environment:
      CARGO_INCREMENTAL: "0"
  - name: server_build
    image: coresdev/stk_build_env
    commands:
      - cd server
      - cargo build --profile release-ci --color always
    environment:
      CARGO_INCREMENTAL: "0"