'Azure pipelines - Stages are skiped despite no conditions

I'm trying to set up a pipeline in Azure.

Actual behavior

On pull-request a build validation triggers the pipeline and all stages and jobs are triggered.

After the merge, all jobs are skipped.

Expected behavior

After the merge of the pull request, I would expect stage Bto be triggered

Question

What am I missing so pipeline triggers correctly on merge?

azure.pipelines.yml

trigger:
  branches:
    include:
      - master 
stages:
  - template: 'main.yml'

main.yml

 stages:
  - stage: 'A'
    condition: startsWith(variables['build.reason'], 'PullRequest')
    jobs:
      - job: A
        steps:
          - script: echo A

  - stage: 'B'
    jobs:
      - job: 'B'
        steps:
          - script: echo B


Solution 1:[1]

The trigger feature only works for the whole pipeline and not for an individual stage/job in the pipeline.

Normally, we use the different trigger types (CI/PR, resources) and filters (branches, paths, tags) to define when the pipeline should be triggered.

In the pipeline, we generally specify conditions to a stage, job or step to define when the this stage, job or step should be run or not. The conditions will be verified after the pipeline has been triggered.

To specify conditions, you can use one of the following ways:

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Bright Ran-MSFT