Skip to content

Commit

Permalink
Merge branch 'master' into remove_rhel6
Browse files Browse the repository at this point in the history
  • Loading branch information
tas50 authored Dec 2, 2020
2 parents 74d30ec + 45eca05 commit 7e1d506
Show file tree
Hide file tree
Showing 14 changed files with 230 additions and 180 deletions.
3 changes: 0 additions & 3 deletions .expeditor/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -230,9 +230,6 @@ subscriptions:
- workload: ruby_gem_published:opscode-pushy-client-*
actions:
- bash:.expeditor/update_dep.sh
- workload: ruby_gem_published:stove-*
actions:
- bash:.expeditor/update_dep.sh
- workload: ruby_gem_published:test-kitchen-*
actions:
- bash:.expeditor/update_dep.sh
Expand Down
52 changes: 33 additions & 19 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,44 @@
<!-- usage documentation: https://expeditor.chef.io/docs/reference/changelog/ -->
<!-- latest_release 20.11.177 -->
## [20.11.177](https://github.com/chef/chef-workstation/tree/20.11.177) (2020-11-15)
<!-- latest_release 20.12.186 -->
## [20.12.186](https://github.com/chef/chef-workstation/tree/20.12.186) (2020-12-02)

#### Merged Pull Requests
- Update to the latest omnibus + bump other deps [#1544](https://github.com/chef/chef-workstation/pull/1544) ([tas50](https://github.com/tas50))
- Update Test Kitchen and Fauxhai to the latest releases [#1569](https://github.com/chef/chef-workstation/pull/1569) ([tas50](https://github.com/tas50))
<!-- latest_release -->

<!-- release_rollup since=20.10.168 -->
### Changes since 20.10.168 release

#### Merged Pull Requests
- Update to the latest omnibus + bump other deps [#1544](https://github.com/chef/chef-workstation/pull/1544) ([tas50](https://github.com/tas50)) <!-- 20.11.177 -->
- Bump Chef Workstation App to 0.1.91 [#1543](https://github.com/chef/chef-workstation/pull/1543) ([chef-expeditor[bot]](https://github.com/chef-expeditor[bot])) <!-- 20.11.176 -->
- Remove ruby-prof gem [#1527](https://github.com/chef/chef-workstation/pull/1527) ([tas50](https://github.com/tas50)) <!-- 20.11.175 -->
- Update kitchen-vagrant and fauxhai to the latest [#1532](https://github.com/chef/chef-workstation/pull/1532) ([tas50](https://github.com/tas50)) <!-- 20.11.174 -->
- Bump omnibus from `1782bac` to `d890d36` in /omnibus [#1530](https://github.com/chef/chef-workstation/pull/1530) ([dependabot-preview[bot]](https://github.com/dependabot-preview[bot])) <!-- 20.11.173 -->
- Update cookstyle to 7.1.2 [#1528](https://github.com/chef/chef-workstation/pull/1528) ([tas50](https://github.com/tas50)) <!-- 20.11.173 -->
- Bump kitchen-vagrant from 1.7.0 to 1.7.1 in /omnibus [#1526](https://github.com/chef/chef-workstation/pull/1526) ([dependabot-preview[bot]](https://github.com/dependabot-preview[bot])) <!-- 20.11.172 -->
- Update kitchen-vagrant to 1.7.1 [#1525](https://github.com/chef/chef-workstation/pull/1525) ([tas50](https://github.com/tas50)) <!-- 20.11.171 -->
- Update rspec to 3.10 and kitchen-vcenter to 2.9.0 [#1523](https://github.com/chef/chef-workstation/pull/1523) ([tas50](https://github.com/tas50)) <!-- 20.11.170 -->
- Fix a few Test Kitchen docs [#1516](https://github.com/chef/chef-workstation/pull/1516) ([tas50](https://github.com/tas50)) <!-- 20.10.169 -->
- Bump inspec and kitchen-vcenter [#1515](https://github.com/chef/chef-workstation/pull/1515) ([clintoncwolfe](https://github.com/clintoncwolfe)) <!-- 20.10.169 -->
<!-- release_rollup since=20.11.180 -->
### Changes since 20.11.180 release

#### Merged Pull Requests
- Update Test Kitchen and Fauxhai to the latest releases [#1569](https://github.com/chef/chef-workstation/pull/1569) ([tas50](https://github.com/tas50)) <!-- 20.12.186 -->
- Bump Chef Workstation App to 0.1.97 [#1566](https://github.com/chef/chef-workstation/pull/1566) ([chef-expeditor[bot]](https://github.com/chef-expeditor[bot])) <!-- 20.12.185 -->
- Bump Chef Workstation App to 0.1.97 [#1565](https://github.com/chef/chef-workstation/pull/1565) ([chef-expeditor[bot]](https://github.com/chef-expeditor[bot])) <!-- 20.11.184 -->
- Update omnibus-software to resolve windows builds [#1563](https://github.com/chef/chef-workstation/pull/1563) ([tas50](https://github.com/tas50)) <!-- 20.11.183 -->
- Update Chef Infra Client to 16.7.61 [#1562](https://github.com/chef/chef-workstation/pull/1562) ([tas50](https://github.com/tas50)) <!-- 20.11.182 -->
- Update the docs for supported platforms [#1555](https://github.com/chef/chef-workstation/pull/1555) ([tas50](https://github.com/tas50)) <!-- 20.11.181 -->
- Remove Foodcritic and Stove binaries [#1524](https://github.com/chef/chef-workstation/pull/1524) ([tas50](https://github.com/tas50)) <!-- 20.11.181 -->
<!-- release_rollup -->

<!-- latest_stable_release -->
## [20.11.180](https://github.com/chef/chef-workstation/tree/20.11.180) (2020-11-17)

#### Merged Pull Requests
- Bump inspec and kitchen-vcenter [#1515](https://github.com/chef/chef-workstation/pull/1515) ([clintoncwolfe](https://github.com/clintoncwolfe))
- Fix a few Test Kitchen docs [#1516](https://github.com/chef/chef-workstation/pull/1516) ([tas50](https://github.com/tas50))
- Update rspec to 3.10 and kitchen-vcenter to 2.9.0 [#1523](https://github.com/chef/chef-workstation/pull/1523) ([tas50](https://github.com/tas50))
- Update kitchen-vagrant to 1.7.1 [#1525](https://github.com/chef/chef-workstation/pull/1525) ([tas50](https://github.com/tas50))
- Bump kitchen-vagrant from 1.7.0 to 1.7.1 in /omnibus [#1526](https://github.com/chef/chef-workstation/pull/1526) ([dependabot-preview[bot]](https://github.com/dependabot-preview[bot]))
- Update cookstyle to 7.1.2 [#1528](https://github.com/chef/chef-workstation/pull/1528) ([tas50](https://github.com/tas50))
- Bump omnibus from `1782bac` to `d890d36` in /omnibus [#1530](https://github.com/chef/chef-workstation/pull/1530) ([dependabot-preview[bot]](https://github.com/dependabot-preview[bot]))
- Update kitchen-vagrant and fauxhai to the latest [#1532](https://github.com/chef/chef-workstation/pull/1532) ([tas50](https://github.com/tas50))
- Remove ruby-prof gem [#1527](https://github.com/chef/chef-workstation/pull/1527) ([tas50](https://github.com/tas50))
- Bump Chef Workstation App to 0.1.91 [#1543](https://github.com/chef/chef-workstation/pull/1543) ([chef-expeditor[bot]](https://github.com/chef-expeditor[bot]))
- Update to the latest omnibus + bump other deps [#1544](https://github.com/chef/chef-workstation/pull/1544) ([tas50](https://github.com/tas50))
- Update omnibus to 8.0.6 + bump cookstyle [#1546](https://github.com/chef/chef-workstation/pull/1546) ([tas50](https://github.com/tas50))
- Bump Chef Workstation App to 0.1.93 [#1547](https://github.com/chef/chef-workstation/pull/1547) ([chef-expeditor[bot]](https://github.com/chef-expeditor[bot]))
- Bump Chef Workstation App to 0.1.94 [#1549](https://github.com/chef/chef-workstation/pull/1549) ([chef-expeditor[bot]](https://github.com/chef-expeditor[bot]))
<!-- latest_stable_release -->

## [20.10.168](https://github.com/chef/chef-workstation/tree/20.10.168) (2020-10-21)

#### Merged Pull Requests
Expand All @@ -38,7 +53,6 @@
- Update all components + pull in new omnibus for faster MSI installs [#1509](https://github.com/chef/chef-workstation/pull/1509) ([tas50](https://github.com/tas50))
- Bumping omnibus and omnibus-software to get new cacerts [#1512](https://github.com/chef/chef-workstation/pull/1512) ([tyler-ball](https://github.com/tyler-ball))
- Update chef-cli and knife-ec2 [#1514](https://github.com/chef/chef-workstation/pull/1514) ([tas50](https://github.com/tas50))
<!-- latest_stable_release -->

## [20.9.158](https://github.com/chef/chef-workstation/tree/20.9.158) (2020-09-30)

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ FROM ubuntu:18.04
LABEL maintainer="Chef Software, Inc. <docker@chef.io>"

ARG CHANNEL=stable
ARG VERSION=20.10.168
ARG VERSION=20.11.180
ENV DEBIAN_FRONTEND=noninteractive \
PATH=/opt/chef-workstation/bin:/opt/chef-workstation/embedded/bin:/root/.chefdk/gem/ruby/2.7.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Expand Down
68 changes: 68 additions & 0 deletions RELEASE_PROCESS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Releasing Chef Workstation

This document describes the release process for Chef Workstation.

The general overview is:

1. Ensure build pipeline is green and `current` channel builds are being generated
1. Merge any pending PRs
1. Write release notes
1. Have release notes reviewed by the docs team
1. Perform the release

Chef Workstation is released every two weeks. Monday at sprint kickoff the goal is to identify the target version to be released (including any pending dependency updates). Release notes should be generated that day, or ASAP, and provided to the docs team for review. The desired date for performing the release is Wednesday, three days into the sprint.

## Build Pipeline

The build pipeline should always be kept in a 'green' state. Each PR merged to master should pass its [verify](https://buildkite.com/chef/chef-chef-workstation-master-verify) tests. After a PR is merged, ensure the [build](https://buildkite.com/chef/chef-chef-workstation-master-omnibus-release) pipeline is successful and promotes the build to the `current` channel.

## Merge Pending PRs

Examine the [open PRs](https://github.com/chef/chef-workstation/pulls) on the Chef Workstation repo and determine if any should be merged for the upcoming release.

Dependabot and Expeditor are configured to create PRs when dependent packages are updated. Those processes can sometimes fail or there may be a pending PR in a dependent package that should be merged. Check the following repos and ensure they have the desired PRs merged, released, and updated in Chef Workstation:

* [Chef Workstation App](https://github.com/chef/chef-workstation-app)
* [Chef CLI](https://github.com/chef/chef-cli)
* [Chef Analyze](https://github.com/chef/chef-analyze/)
* [Chef Infra Client](https://github.com/chef/chef/)
* [InSpec](https://github.com/inspec/inspec/)
* [Test Kitchen](https://github.com/test-kitchen/test-kitchen/) and its drivers

Check with the teams responsible for these dependencies to see if they have any updates they want to get in the upcoming release. Also check with the #eng-infra-chef team (responsible for Chef Infra development) to see if they have any PRs they want merged before release.

Finally, run a `bundle update` on the `omnibus` and `components/gems` folders to see if there are any random dependencies that can be updated.

## Write Release Notes

Release notes should be written in the [wiki](https://github.com/chef/chef-workstation/wiki/Pending-Release-Notes). The template is a guide but it is often useful to look at existing release notes in [discourse](https://discourse.chef.io/search?expanded=true&q=Chef%20Workstation%20%23chef-release%20order%3Alatest) for examples of the format and what should be included.

To see changes that have occured since the last release, run `git difftool -d 20.10.168` and supply the last released version. This can also be done in the browser by accessing https://github.com/chef/chef-workstation/compare/20.10.168...master and providing the last released version. This is helpful for seeing PRs that have updated code in the Chef Workstation repo. Changes to `omnibus_overrides.rb` should be looked for first.

The bulk of the release note content comes from the `components/gems/Gemfile.lock` file. This shows all the dependencies that have updated. Generally, patch level dependency updates are not included in the release notes. Any minor/major level updates to Chef maintained gems should be included in the release notes, as well as updates to security related gems (IE, OpenSSL).

## Release Notes Review

Drop a note in the `#docs-support` Slack channel and ask for a review of the [release notes](https://github.com/chef/chef-workstation/wiki/Pending-Release-Notes). Docs team has up to 3 days to review the release notes.

Ask the Inspec and Chef Infra developers for review as well. They often have insight into what should be announced or not.

## Perform the Release

In slack, run the `/expeditor promote chef-workstation 20.10.168` and supply the desired `current` channel package to promote. This will kick off the release process. Watch for notifications in the `#chef-ws-notify` channel for any build failures.

### Common Failures

Sometimes the Omnitruck cache takes a long time to refresh. If you run `curl 'https://omnitruck.chef.io/stable/chef-workstation/metadata?p=mac_os_x&pv=10.15&m=x86_64&v=latest'` and it does not return the version you just promoted, the omnitruck cache has not been updated. Run this periodically (it can sometimes take a few hours) and retry the failed portion of the promote process after the correct version is returned. Retries can be performed on the Expeditor messages in `#chef-ws-notify`.

The released package is also uploaded to Homebrew and Chocolatey via a triggered [third party packages](https://buildkite.com/chef/chef-chef-workstation-master-third-party-packages) pipeline. This often fails if the Omnitruck cache is slow to update. Continue retrying the Chocolatey pipeline after Omnitruck has refreshed and it should eventually succeed.

As of the writing of this document, the Homebrew job is broken. To manually create the Homebrew PR take the following steps:

1. Clone the https://github.com/homebrew/homebrew-cask repo and ensure it is up to date
1. Add https://github.com/chef/homebrew-cask as a new remote
1. Update the `Casks/chef-workstation.rb` with the new version and SHA
1. Push this change to a branch on the Chef fork
1. Open a PR against the original repo with the updated cask
1. Perform the PR checklist to ensure it will pass the tests on their side
1. The Homebrew team will merge the PR
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
20.11.177
20.12.186
13 changes: 7 additions & 6 deletions components/gems/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ group(:omnibus_package, :development, :test) do
gem "yard"
gem "guard"
gem "cookstyle", "~> 7.1"
gem "foodcritic", ">= 16.3"
gem "ffi-libarchive"
end

Expand All @@ -42,15 +41,18 @@ end
# We should only be using "~>" to work around bugs, or temporarily pinning some tech debt.
# We equality pin the chef gem itself to assert which version we're shipping.
group(:omnibus_package) do
# add small binaries that warn against the use of legacy apps. For now this is foodcritic/stove
gem "chef_deprecations", ">= 0.1.1"

gem "appbundler"

# Expeditor manages the version of chef released to Rubygems. We only release 'stable' chef
# gems to Rubygems now, so letting this float on latest should always give us the latest
# stable release. May have to re-pin around major version bumping time, or during patch
# fixes.
gem "chef", "= 16.6.14"
gem "chef-bin", "= 16.6.14"
gem "ohai", ">= 16.5"
gem "chef", "= 16.7.61"
gem "chef-bin", "= 16.7.61"
gem "ohai", ">= 16.7"
gem "cheffish", ">= 16.0"

# chefspec
Expand Down Expand Up @@ -115,7 +117,6 @@ group(:omnibus_package) do
gem "rb-readline"
gem "winrm-fs"
gem "winrm-elevated"
gem "stove", ">= 7.1.6"
gem "berkshelf", ">= 7.0.10"
gem "mdl", ">= 0.7.0"
end
Expand All @@ -135,6 +136,6 @@ platforms :mswin, :mingw do
gem "win32-dir"
gem "win32-event"
gem "win32-mutex"
gem "win32-process", "~> 0.8.2"
gem "win32-process", ">= 0.9.0" # resolves Ruby 2.7 warnings
gem "win32-service", ">= 2.1.5" # 2.1.5 resolves ffi warnings
end
Loading

0 comments on commit 7e1d506

Please sign in to comment.