kind: pipeline name: default type: docker steps: - name: build ci image: rustlang/rust:nightly volumes: - name: ci path: /drone/src/target/debug commands: - set -e - apt update - apt install musl-tools pkg-config libssl-dev openssl build-essential musl-dev -y - rustup target add x86_64-unknown-linux-musl - cargo build --target=x86_64-unknown-linux-musl - name: load_secret image: debian:buster-slim volumes: - name: ssh path: /root/.ssh/ environment: SSH_KEY: from_secret: gitea_id_ed25519 commands: - mkdir -p $HOME/.ssh/ - echo "$SSH_KEY" | base64 -d > $HOME/.ssh/id_ed25519 - name: build pr image: kasperhermansen/cuddle:latest pull: always volumes: - name: ssh path: /root/.ssh/ - name: dockersock path: /var/run commands: - eval `ssh-agent` - chmod -R 600 ~/.ssh - ssh-add - cuddle x ci:pr environment: DOCKER_BUILDKIT: 1 CUDDLE_SECRETS_PROVIDER: 1password CUDDLE_ONE_PASSWORD_DOT_ENV: ".env.ci" CUDDLE_SSH_AGENT: "true" CUDDLE_CI: "true" CUDDLE_PLEASE_TOKEN: from_secret: cuddle_please_token OP_SERVICE_ACCOUNT_TOKEN: from_secret: op_service_account_token when: event: - pull_request depends_on: - "load_secret" - "build ci" - name: build main image: kasperhermansen/cuddle:latest pull: always volumes: - name: ssh path: /root/.ssh/ - name: dockersock path: /var/run - name: ci path: /drone/src/target/debug commands: - eval `ssh-agent` - chmod -R 600 ~/.ssh - ssh-add - cuddle x ci:main environment: DOCKER_BUILDKIT: 1 CUDDLE_SECRETS_PROVIDER: 1password CUDDLE_ONE_PASSWORD_DOT_ENV: ".env.ci" CUDDLE_SSH_AGENT: "true" CUDDLE_CI: "true" CUDDLE_PLEASE_TOKEN: from_secret: cuddle_please_token OP_SERVICE_ACCOUNT_TOKEN: from_secret: op_service_account_token when: branch: - main - master depends_on: - "load_secret" - "build ci" - name: deploy release image: kasperhermansen/cuddle:latest pull: always volumes: - name: ssh path: /root/.ssh/ - name: dockersock path: /var/run commands: - eval `ssh-agent` - chmod -R 600 ~/.ssh - ssh-add - cuddle x build:release:all - cuddle x deploy:docs:preview environment: DOCKER_BUILDKIT: 1 CUDDLE_SECRETS_PROVIDER: 1password CUDDLE_ONE_PASSWORD_DOT_ENV: ".env.ci" CUDDLE_SSH_AGENT: "true" CUDDLE_CI: "true" CUDDLE_PLEASE_TOKEN: from_secret: cuddle_please_token OP_SERVICE_ACCOUNT_TOKEN: from_secret: op_service_account_token when: ref: include: - refs/tags/v** depends_on: - "load_secret" - "build ci" services: - name: docker image: docker:dind privileged: true volumes: - name: dockersock path: /var/run volumes: - name: ssh temp: {} - name: dockersock temp: {} - name: ci temp: {}