summaryrefslogtreecommitdiff
path: root/.expeditor/config.yml
blob: ffcebe8ad21c5078442f2a83ad4947b995cab1e5 (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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# 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
  - angrychef

# 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

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:
      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
      - built_in:tag_docker_image
      - built_in:promote_habitat_packages
      - built_in:publish_rubygems
      - built_in:notify_chefio_slack_channels
  - workload: ruby_gem_published:mixlib-archive-*
    actions:
      - bash:.expeditor/update_dep.sh
  - workload: ruby_gem_published:mixlib-authentication-*
    actions:
      - bash:.expeditor/update_dep.sh
  - workload: ruby_gem_published:mixlib-cli-*
    actions:
      - bash:.expeditor/update_dep.sh
  - workload: ruby_gem_published:mixlib-log-*
    actions:
      - bash:.expeditor/update_dep.sh
  - workload: ruby_gem_published:mixlib-shellout-*
    actions:
      - bash:.expeditor/update_dep.sh
  - workload: ruby_gem_published:chef-vault-*
    actions:
      - bash:.expeditor/update_dep.sh
  - workload: ruby_gem_published:chef-zero-*
    actions:
      - bash:.expeditor/update_dep.sh
  - workload: ruby_gem_published:ohai-*
    actions:
      - bash:.expeditor/update_dep.sh
  - workload: ruby_gem_published:inspec-core-*
    actions:
      - bash:.expeditor/update_dep.sh
  - workload: ruby_gem_published:train-core-*
    actions:
      - bash:.expeditor/update_dep.sh
  - workload: ruby_gem_published:win32-process-*
    actions:
      - bash:.expeditor/update_dep.sh
  - workload: ruby_gem_published:win32-service-*
    actions:
      - bash:.expeditor/update_dep.sh
  - workload: ruby_gem_published:win32-taskscheduler-*
    actions:
      - bash:.expeditor/update_dep.sh
  - workload: ruby_gem_published:ffi-yajl-*
    actions:
      - bash:.expeditor/update_dep.sh
  - workload: ruby_gem_published:libyajl2-*
    actions:
      - bash:.expeditor/update_dep.sh
  - workload: ruby_gem_published:cheffish-*
    actions:
      - bash:.expeditor/update_dep.sh