0

对于 CircleCI 构建,我有以下工作流定义

workflows:
  version: 2
  default:
    jobs:
      - verify
      - tests_3_1:
          requires:
            - verify
      - tests_5_0:
          requires:
            - verify
      - pack:
          requires:
            - tests_3_1
            - tests_5_0
      - push:
          requires:
            - pack
          context:
            - GitHub
          filters:
              tags:
                only: /^v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/
              branches:
                ignore: /.*/

这个想法是:

  • 在所有提交上运行verify, test_3_1, test_5_0,pack
  • 在上面的作业之上,push在 master 上运行作业,并且带有与 semver 版本匹配的标签v

由于某种原因,标记提交时不会触发构建。我不确定问题是在过滤器中还是在与构建标签不匹配的正则表达式中。

现在我尝试v0.1.0-preview-0001了 RegexPal 上的匹配项。

构建未触发

您能提出任何改进建议吗?我看到这个问题非常相似,但我在实施建议的解决方案时遇到了问题

4

1 回答 1

0

如文档push中所示,我通过为每个作业指定标签正则表达式过滤器解决了这个问题。

workflows:
  version: 2
  default:
    jobs:
      - verify:
          filters:
            tags:
              only: /.*/
      - tests_3_1:
          requires:
            - verify
          filters:
            tags:
              only: /.*/
      - tests_5_0:
          requires:
            - verify
          filters:
            tags:
              only: /.*/
      - pack:
          requires:
            - tests_3_1
            - tests_5_0
          filters:
            tags:
              only: /.*/
      - push:
          requires:
            - pack
          context:
            - GitHub
          filters:
              tags:
                only: /^v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/
              branches:
                ignore: /.*/
于 2021-03-18T11:35:03.657 回答