pipeline:
  when-branch:
    image: alpine
    commands:
      - echo "test"
    when:
      branch: master

  when-branch-array:
    image: alpine
    commands:
      - echo "test"
    when:
      branch: [master, deploy]

  when-event:
    image: alpine
    commands:
      - echo "test"
    when:
      event: push

  when-event-array:
    image: alpine
    commands:
      - echo "test"
    when:
      event: [push, pull_request, tag, deployment]

  when-tag:
    image: alpine
    commands:
      - echo "test"
    when:
      tag: "v**"

  when-status:
    image: alpine
    commands:
      - echo "test"
    when:
      status: [success, failure]

  when-platform:
    image: alpine
    commands:
      - echo "test"
    when:
      platform: linux/amd64

  when-platform-array:
    image: alpine
    commands:
      - echo "test"
    when:
      platform: [ linux/*, windows/amd64 ]

  when-environment:
    image: alpine
    commands:
      - echo "test"
    when:
      environment: production
      event: deployment

  when-matrix:
    image: alpine
    commands:
      - echo "test"
    when:
      matrix:
        GO_VERSION: 1.5
        REDIS_VERSION: 2.8

  when-instance:
    image: alpine
    commands:
      - echo "test"
    when:
      instance: stage.woodpecker.company.com

  when-path:
    image: alpine
    commands:
      - echo "test"
    when:
      path: "folder/**"

  when-path-array:
    image: alpine
    commands:
      - echo "test"
    when:
      path:
        - "folder/**"
        - "**/*.c"

  when-path-include-exclude:
    image: alpine
    commands:
      - echo "test"
    when:
      path:
        include: [ '.woodpecker/*.yml', '*.ini' ]
        exclude: [ '*.md', 'docs/**' ]
        ignore_message: "[ALL]"

  when-repo:
    image: alpine
    commands:
      - echo "test"
    when:
      repo: test/test

  when-multi:
    image: alpine
    commands:
      - echo "test"
    when:
      - event: pull_request
        repo: test/test
      - event: push
        branch: main

  when-cron:
    image: alpine
    commands:
      - echo "test"
    when:
      cron: "update locales"
      event: cron

  when-cron-list:
    image: alpine
    commands: echo "test"
    when:
      - event: cron
        cron:
          include:
            - test
            - hello
          exclude: hi

  when-evaluate:
    image: alpine
    commands: echo "test"
    when:
      - event: push
        evaluate: 'CI_BUILD_EVENT == "push" && CI_REPO == "owner/repo"'
