summaryrefslogtreecommitdiff
path: root/.expeditor/config.yml
blob: f9a30566cd4dc0e4b48982bcf603658007d29923 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# Documentation available at https://expeditor.chef.io/docs/getting-started/

# The name of the product keys for this product (from mixlib-install)
product_key:
  - chef

# Slack channel in Chef Software slack to send notifications about build failures, etc
slack:
  notify_channel: chef-notify

# Which Ruby Gems, built when the Omnibus package is built, to publish to rubygems.org
# This publish is triggered by the `built_in:publish_rubygems` artifact_action.
rubygems:
  - chef
  - chef-config

docker_images:
  - chef

habitat_packages:
  - chef-client:
      also_build_for_linux_kernel2: true

pipelines:
  - verify:
      public: true

github:
  # The file where the MAJOR.MINOR.PATCH version is kept. The version in this file
  # is bumped automatically via the `built_in:bump_version` merge_action.
  version_file: "VERSION"
  # The file where our CHANGELOG is kept. This file is updated automatically with
  # details from the Pull Request via the `built_in:update_changelog` merge_action.
  changelog_file: "CHANGELOG.md"
  # Delete the PR branch after successfully merged into release branch.
  delete_branch_on_merge: true
  # The tag format to use (e.g. v1.0.0)
  version_tag_format: "v{{version}}"
  # allow bumping the minor release via label
  minor_bump_labels:
    - "Expeditor: Bump Version Minor"
  # Which Github branches to build Omnibus releases from, and what versions
  # (as determined by the value in the VERSION file) those branches are responsible
  # for building.
  release_branch:
    - master:
        version_constraint: 15*
    - chef-14:
        version_constraint: 14*
    - chef-13:
        version_constraint: 13*

# These actions are taken, in order they are specified, anytime a Pull Request is merged.
merge_actions:
  - built_in:bump_version:
      ignore_labels:
        - "Expeditor: Skip Version Bump"
        - "Expeditor: Skip All"
  - bash:.expeditor/update_version.sh@chef/chef@master:
      only_if: built_in:bump_version
  - built_in:update_changelog:
      ignore_labels:
        - "Expeditor: Skip Changelog"
        - "Expeditor: Skip All"
  - built_in:trigger_habitat_package_build:
      ignore_labels:
        - "Expeditor: Skip Build"
        - "Expeditor: Skip All"
      only_if: built_in:bump_version
  - built_in:trigger_omnibus_release_build:
      ignore_labels:
        - "Expeditor: Skip Omnibus"
        - "Expeditor: Skip All"
      only_if: built_in:bump_version

subscriptions:
  - workload: artifact_published:unstable:chef:{{version_constraint}}
    actions:
      - built_in:build_docker_image
  - workload: artifact_published:current:chef:{{version_constraint}}
    actions:
      - built_in:tag_docker_image
      - built_in:promote_habitat_packages
  - workload: artifact_published:stable:chef:{{version_constraint}}
    actions:
      - built_in:rollover_changelog
      - bash:.expeditor/update_dockerfile.sh@chef/chef@master
      - built_in:tag_docker_image
      - built_in:promote_habitat_packages
      - built_in:publish_rubygems
      - built_in:notify_chefio_slack_channels