type: docker
kind: pipeline
name: "shuttle-drone-templates"
steps:
  - name: "wait for dind"
    image: docker:dind
    volumes:
      - name: dockersock
        path: /var/run
    environment:
      DOCKER_BUILDKIT: 1
      DOCKER_PASSWORD:
        from_secret: docker_password
      DOCKER_USERNAME:
        from_secret: docker_username
    commands:
      - ls /var/run
      - set -eu
      - sleep 10
      - echo "$${DOCKER_PASSWORD}" | docker login --password-stdin --username="$${DOCKER_USERNAME}"
  - name: "build"
    image: docker.io/kasperhermansen/shuttle-drone:1690570181415
    volumes:
      - name: dockersock
        path: /var/run
    environment:
      DOCKER_BUILDKIT: 1
      DOCKER_PASSWORD:
        from_secret: docker_password
      DOCKER_USERNAME:
        from_secret: docker_username
      DRONE_TOKEN:
        from_secret: drone_token
      SSH_KEY:
        from_secret: gitea_id_ed25519
      GIT_USERNAME:
        from_secret: GIT_USERNAME 
      GIT_PASSWORD:
        from_secret: GIT_PASSWORD 
    commands:
      - set -eu
      - apt update && apt install -y libssl-dev pkg-config openssl # musl-tools
      - eval `ssh-agent`
      - mkdir -p ~/.ssh
      - echo "$SSH_KEY" | base64 -d > ~/.ssh/id_ed25519
      - chmod -R 600  ~/.ssh
      - ssh-add
      - echo "$DOCKER_PASSWORD" | docker login  --password-stdin --username="$DOCKER_USERNAME" docker.io
      #- rustup target add x86_64-unknown-linux-musl
      - cd ci || exit 1
      - cargo build 
      - cd - || exit 1
      # - sha1sum ci/target/x86_64-unknown-linux-musl/debug/ci
      # - ldd ci/target/x86_64-unknown-linux-musl/debug/ci
      # - "./ci/target/x86_64-unknown-linux-musl/debug/ci"
      - sha1sum ci/target/debug/ci
      - ldd ci/target/debug/ci
      - "./ci/target/debug/ci"
services:
  - name: docker
    image: docker:dind
    privileged: true
    volumes:
      - name: dockersock
        path: /var/run
volumes:
  - name: dockersock
    temp: {}