-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs(postmortem): add icons-angular v10.5.0 incident (#3749)
* docs(postmortem): add icons-angular v10.5.0 incident * chore(docs): update frontmatter and template * chore(docs): update frontmatter and template * docs(postmortem): update template * Update docs/postmortems/00-template.md Co-Authored-By: emyarod <[email protected]> * docs(postmortems): add explainers for sections
- Loading branch information
Showing
4 changed files
with
167 additions
and
0 deletions.
There are no files selected for viewing
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
--- | ||
date: 2019-10-21 | ||
authors: carbon-bot | ||
--- | ||
|
||
# Title of postmortem | ||
|
||
**Summary** | ||
|
||
<!-- What is a one or two-line summary of the event that occurred? --> | ||
|
||
**Impact** | ||
|
||
<!-- What was the scope of impact from the event occuring? How many teams were | ||
impacted? --> | ||
|
||
**Root causes**: | ||
|
||
<!-- Looking back, what ended up being the main reasons why this event occurred? | ||
--> | ||
|
||
**Detection** | ||
|
||
<!-- How did we find out or discover that this event had occurred? --> | ||
|
||
**Resolution** | ||
|
||
<!-- How did we end up addressing this event in order to mitigate impact? --> | ||
|
||
**Action Items** | ||
|
||
<!-- What are the action items that came out of this postmortem? Reference | ||
issues and Pull Requests in the "Bug" column with the appropriate owners --> | ||
|
||
| Action item | Owner | Bug | | ||
| ----------- | ----- | --- | | ||
|
||
|
||
## Lessons learned | ||
|
||
**What went well** | ||
|
||
- Item A | ||
- Item B | ||
- Item C | ||
|
||
**What went wrong** | ||
|
||
- Item A | ||
- Item B | ||
- Item C | ||
|
||
**Where we got lucky** | ||
|
||
- Item A | ||
- Item B | ||
- Item C | ||
|
||
## Timeline | ||
|
||
2015-10-21 **(all times in UTC)** | ||
|
||
- 14:51 Ipsum reprehenderit impedit facere explicabo fugiat. | ||
|
||
## Supporting information | ||
|
||
<!-- Any additional information that you might reference earlier on in the | ||
postmortem --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
--- | ||
date: 2019-08-15 | ||
authors: joshblack | ||
--- | ||
|
||
# `@carbon/icons-angular` v10.5.0 broken build | ||
|
||
**Summary**: | ||
|
||
The v10.5.0 release of the Carbon Design System shipped a broken build of | ||
`@carbon/icons-angular`. | ||
|
||
**Impact** | ||
|
||
This impacted teams that used the caret ranges (`^`) in the `10.x` range for | ||
tracking the `@carbon/icons-angular` dependency. In particular, | ||
`carbon-components-angular` has specified `^10.1.0` as a range for the | ||
`@carbon/icons-angular` `peerDependency`. This could result in teams who are | ||
installing fresh versions of these dependencies to use the broken `v10.5.0` when | ||
it was released. | ||
|
||
**Root causes**: | ||
|
||
When the Carbon Design System core team introduced an option to | ||
[down size icons to 16px](https://github.com/carbon-design-system/carbon/pull/3501), | ||
they encountered a build-related issue with the `@carbon/icons-angular`. The | ||
recommendation at the time was to comment out the build step so that the team | ||
could proceed. Unfortunately, the `private` field was not also added to the | ||
package to prevent it being published during this broken state. In addition, | ||
there was no prompt in the GitHub UI for a final review from the | ||
`@carbon/icons-angular` `CODEOWNERS` specified in the project. | ||
|
||
**Resolution** | ||
|
||
Since `v10.5.0` was recently released, we decided to use the `unpublish` feature | ||
of `npm` that is valid within 72hours of a release. Running this command | ||
subsequently unpublished the invalid build of `@carbon/icons-angular` and | ||
restored `v10.4.0` as the `latest` package for teams to consume. | ||
|
||
**Detection** | ||
|
||
This issue was first reported by @cal-smith | ||
|
||
**Action Items** | ||
|
||
| Action item | Owner | Bug | | ||
| -------------------------------------------------------------- | ---------- | -------------------------------------------------------- | | ||
| Update `package.json` in `@carbon/icons-angular` to be private | @joshblack | https://github.com/carbon-design-system/carbon/pull/3744 | | ||
|
||
## Lessons learned | ||
|
||
**What went well** | ||
|
||
- The time it took to resolve the issue was fast after it was first reported | ||
|
||
**What went wrong** | ||
|
||
- We contributed code that took away the underlying build functions without | ||
setting the package to `private` to prevent accidental publishing | ||
|
||
**Where we got lucky** | ||
|
||
- We were still within the 72 hour time period required by `npm` for their | ||
`unpublish` feature to work | ||
|
||
## Timeline | ||
|
||
2015-08-15 **(all times in UTC)** | ||
|
||
- 17:50: @cal-smith initially reached out to @joshblack on Slack first reporting | ||
the broken icon build | ||
- 19:30: Dean Williams also followed up on Slack to report the underlying issue | ||
- 19:38: @joshblack acknowledged the underlying issue and reported an ETA on a | ||
fix | ||
- 20:07: @joshblack unpublished `v10.5.0` of `@carbon/icons-angular` after | ||
confirmation from @cal-smith | ||
|
||
## Supporting information |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Postmortems | ||
|
||
> A postmortem is a written record of an incident, its impact, the actions taken | ||
> to mitigate or resolve it, the root cause(s), and the follow-up actions to | ||
> prevent the incident from recurring. | ||
> | ||
> [Postmortem Culture: Learning from failure](https://landing.google.com/sre/sre-book/chapters/postmortem-culture/), | ||
> _Devin Carraway_ | ||
For a full overview, checkout the Software Reliability Engineering book on this | ||
topic [here](https://landing.google.com/sre/sre-book/chapters/postmortem/). | ||
|
||
## Process | ||
|
||
- Copy the [Postmortem template](./00-template.md) over to a new file | ||
- This file should be named: `YYYY-MM-DD-title.md` | ||
- For example: `10-11-05-critical-layout-breaking-change.md` | ||
- Fill out the template as best you can, be as detailed as needed | ||
- Submit a Pull Request to the project, make sure to include anyone involved in | ||
the incident as a reviewer so they can provide additional perspectives if | ||
needed |