Question - Valid yaml, duplicate key for git?

Is this valid yaml in Drone? Can I define git twice with different events?

workspace:
  base: /test
  path: webtools

clone:
  git:
    image: plugins/git
    recursive: true
    submodule_override:
      rest/map/data: https://github.com/ec-europa/euwebtoolsnuts.git
    when:
      event: [ push, pull_request, tag ]
  git:
    image: fpfis/true
    when:
      event: [ deployment ]

Some yaml linters like in Symfony trow errors on this because it’s a duplicate key. I just want to know if this is valid in Drone, or you can use different keys for the git checkout. If this is only possible with duplicate keys I’ll have to use a yaml linter that doesn’t fall over this.

Duplicate keys are invalid per the official yaml specification, however, Drone supports them in version 0.8. Drone 1.0 is more compliant with the specification, and will error if a yaml file has duplicate keys.

So Drone 1.0 will not support multiple git steps? Or can they be defined under a different key? I was under the impression that the key ‘git’ was required for that step.

You are using the 0.8 yaml format which means duplicate keys are supported. The 1.0 yaml format completely changed. Many of the questions you are asking do not really apply to the 1.0 yaml format. To learn more about the 1.0 yaml format see https://docs.drone.io/user-guide/pipeline/

@bradrydzewski it seems there was a documentation shake-up and heaps of links are dead / content missing. Is there any documentation regarding the new format of clone: config syntax?

yes, from the documentation home, click to the pipelines section of the documentation and choose your pipeline type (Docker, Exec, SSH, etc) and then choose Cloning from the side menu.

Ah!! Thanks @bradrydzewski

By the way, I think the example at https://docs.drone.io/pipeline/docker/syntax/cloning/ is missing something. I had to add a git submodule init step to get submodules to work:

steps:
- name: submodules
  image: alpine/git
  commands:
  - git submodule init
  - git config 'submodule.themes/new.url' 'http://privategit/grrowl/theme.git'
  - git submodule update --recursive --remote

edit: added https config override