summaryrefslogtreecommitdiff
path: root/.expeditor/config.yml
blob: 29a43d54224c5febcc5ba26243e0ada3dae162f7 (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
# 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-infra-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
  - chef-bin
  - chef-utils

pipelines:
  - verify:
      public: true
  - docker/build
  - habitat/build
  - habitat/test:
      definition: .expeditor/habitat-test.pipeline.yml
      trigger: default
  - omnibus/release
  - omnibus/adhoc:
      definition: .expeditor/release.omnibus.yml
      env:
        - ADHOC: true

github:
  # This deletes the GitHub PR branch after successfully merged into the 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"
  # allow bumping the major release via label
  major_bump_labels:
    - "Expeditor: Bump Version Major"
  # 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: 17*
    - chef-16:
        version_constraint: 16*
    - chef-15:
        version_constraint: 15*

changelog:
  rollup_header: Changes not yet released to stable

# 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"
  - trigger_pipeline:habitat/build:
      ignore_labels:
        - "Expeditor: Skip Habitat"
        - "Expeditor: Skip All"
      only_if: built_in:bump_version
  - trigger_pipeline:omnibus/release:
      ignore_labels:
        - "Expeditor: Skip Omnibus"
        - "Expeditor: Skip All"
      only_if: built_in:bump_version

subscriptions:
  # the omnibus/docker/gem chain
  - workload: artifact_published:unstable:chef:{{version_constraint}}
    actions:
      - trigger_pipeline:docker/build
  - workload: artifact_published:current:chef:{{version_constraint}}
    actions:
      - built_in:promote_docker_images
  - workload: artifact_published:stable:chef:{{version_constraint}}
    actions:
      - built_in:rollover_changelog
      - bash:.expeditor/update_dockerfile.sh
      - built_in:promote_docker_images
      - built_in:publish_rubygems
      - built_in:promote_habitat_packages
      - built_in:notify_chefio_slack_channels

  # the habitat chain
  - workload: buildkite_hab_build_group_published:{{agent_id}}:*
    actions:
      # when all of the hab package publish to the unstable channel, test and promote them
      - trigger_pipeline:habitat/test