Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deleting the dev branch workflow instructions #513

Merged
merged 2 commits into from
Jun 26, 2018
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
126 changes: 115 additions & 11 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
## Contributing

[fork]: https://github.com/github/primer/fork
[pr]: https://github.com/github/primer/compare
[style]: http://primer.github.io/guidelines/
[fork]: https://github.com/primer/primer/fork
[pr]: https://github.com/primer/primer/compare
[style]: https://styleguide.github.com/primer/principles/

Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.

Expand All @@ -12,21 +12,20 @@ The issue tracker is the preferred channel for [bug reports](#bug-reports), [fea

* Please **do not** use the issue tracker for personal support requests.
* Please **do not** derail or troll issues. Keep the discussion on topic and respect the opinions of others.
* Please **do not** open issues or pull requests regarding the code in [`Normalize`](https://github.com/necolas/normalize.css) (open them in their respective repositories).

## Bug reports

A bug is a _demonstrable problem_ that is caused by the code in the repository. Good bug reports are extremely helpful, so thanks!

Guidelines for bug reports:

0. **Validate and lint your code** — [validate your HTML](http://html5.validator.nu) to ensure your problem isn't caused by a simple error in your own code.
1. **Validate and lint your code** — [validate your HTML](http://html5.validator.nu) to ensure your problem isn't caused by a simple error in your own code.

1. **Use the GitHub issue search** — check if the issue has already been reported.
2. **Use the GitHub issue search** — check if the issue has already been reported.

2. **Check if the issue has been fixed** — try to reproduce it using the latest `master` or development branch in the repository.
3. **Check if the issue has been fixed** — try to reproduce it using the latest `master` branch in the repository.

3. **Isolate the problem** — ideally create a [reduced test case](https://css-tricks.com/reduced-test-cases/) and a live example.
4. **Isolate the problem** — ideally create a [reduced test case](https://css-tricks.com/reduced-test-cases/) and a live example.

A good bug report shouldn't leave others needing to chase you up for more information. Please try to be as detailed as possible in your report. What is your environment? What steps will reproduce the issue? What browser(s) and OS experience the problem? Do other browsers show the bug differently? What would you expect to be the outcome? All these details will help people to fix any potential bugs.

Expand Down Expand Up @@ -61,10 +60,9 @@ Anyone can open a pull request on Primer. You do not need to work at GitHub or b

1. Fork and clone [this repository](https://github.com/primer/primer).
2. Configure and install the dependencies: `npm install`
3. Check out the dev branch `git checkout dev`
3. Create a new branch from dev `git checkout -b my-branch-name`
3. Create a new branch from master `git checkout -b my-branch-name`
4. Make your changes and commit them.
5. Push your branch and open a pull request against `dev`. Add a comment describing your proposed changes and request a review from `@primer/ds-core`.
5. Push your branch and open a pull request. Add a comment describing your proposed changes and request a review from `@primer/ds-core`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be open a pull request against the latest release branch?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think contributors should have to make that decision. I'd rather they just be open against the default and the core team decide which release branch they fall into.

6. Wait for CI tests to finish.
- If the tests pass, you should see a status check telling you which alpha version of primer you can install with npm to test your work in other projects.
- If the tests fail, review the logs and address any issues.
Expand All @@ -77,6 +75,112 @@ Here are a few things you can do that will increase the likelihood of your pull
- Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests.
- Write a [good commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).

## Releasing a new Primer version 🎉

This section is targeted at maintainers of primer, to instruct them on the processes for releasing a new version.

### In `primer/primer`:

1. Find or create a new pull request with a release branch from `master` and name it `release-<version>`.

(CI will publish a release candidate version to npm for branches prefixed with `release`. These version numbers have a `rc.<number>` suffix on them)

For the pull request you can use the following template.

```md
# Primer Minor Release

Tracking Issue for next release: 📦 **0.0.0**
Approximate release date: 📆

### Must

- [ ]

### Should

- [ ]

### Could

- [ ]

----

### Ship checklist

- [ ] Update CHANGELOG
- [ ] Run version bump
- [ ] Update storybook
- [ ] Update primer.github.io
- [ ] Update github/github
- [ ] Update the style guide
- [ ] Update the release tag note
- [ ] Create a new pull request for the next release

/cc @primer/ds-core
```

2. Go through the tracking issue and make sure everything that should be merged in is merged in.

3. Once your builds finish, click on the details links for the continuous-integration/travis-ci/push build. Expand the `Deploying application` output and you should be able to find an outputted change log here. Copy this and update the [CHANGELOG.md](https://github.com/primer/primer/blob/master/CHANGELOG.md) file.

4. Run the version bump in your terminal: `npm run bump`.

5. Test your changes with the latest release candidate version in the appropriate places (styleguide, storybook, github/github).

6. Once the release PR is approved and you've done necessary testing, merge to `master`. This will trigger a publish to npm.

### In `github/github`:

1. Create a new branch

2. Update the primer version in your terminal `npm install primer@<version>`.

3. Update `stylelint-config-primer` in your terminal to the appropriate version `npm install stylelint-config-primer@latest`.

4. If you need to make changes to github/github due to the Primer release, make a separate branch. When ready, merge that branch into your release branch.

5. Add reviewers.

6. Check that every deleted vendor file has an accompanying updated vendor file and that the version numbers look correct.

7. Test on review-lab.

8. When ready, merge! 🎉


## Other items that need to be done after publishing Primer

#### Update the Style Guide

1. In [github/styleguide](https://github.com/github/styleguide), update `primer` to your newly released version in your terminal:

`npm install primer@latest`

2. Then run: `script/update-primer-docs`.

3. Commit changes, make PR, get it approved, merge! 🚀

#### Update [primer.github.io](primer.github.io)

1. Edit [index.html](https://github.com/primer/primer.github.io/blob/master/index.html) to include the latest version.

#### Update Storybook

1. Pull the latest from master on primer/primer (after merging in release branch).

2. Run `npm run publish-storybook`.

#### Publish release tag

1. Create a new release tag [here](https://github.com/primer/primer/releases/new).

2. Copy the changes from the [CHANGELOG](https://github.com/primer/primer/blob/master/CHANGELOG.md) and paste it into the release notes.

3. Publish 🎉


## Resources

- [Contributing to Open Source on GitHub](https://guides.github.com/activities/contributing-to-open-source/)
Expand Down
4 changes: 1 addition & 3 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
- [ ] First, change the base branch from "master" to "dev".
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should the base branch here be the release branch? Since we merge into the release branch first

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Schwoops, forgot to submit my review so this comment is just now showing up - but saw your last comment so feel free to ignore this 👍


- [ ] Next, briefly describe your proposal in the title.
- [ ] First, briefly describe your proposal in the title.

- [ ] Fixes: # (type an issue number after the # if applicable)

Expand Down
68 changes: 0 additions & 68 deletions RELEASING.md

This file was deleted.

2 changes: 1 addition & 1 deletion script/after_success
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -e
branch=$TRAVIS_PULL_REQUEST_BRANCH
event=$TRAVIS_EVENT_TYPE

# only publish canary releases on PRs against dev
# only publish canary releases on non release or master branches
if [[ "$event" = "pull_request" ]] && [[ !("$branch" =~ ^release-.*) ]] && [[ !("$branch" = "master") ]];
then
script/release-pr --yes
Expand Down
3 changes: 1 addition & 2 deletions tools/generator-primer-module/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,7 @@ live outside of the Primer monorepo, with the following caveats:

* When prompted to add the new module to existing meta-packages, you will need
to un-select them all.
* You will also need to manually install all of the monorepo's top-level dev
dependencies to get tools like `primer-module-build` and `ava`.
* You will also need to manually install all of the monorepo's top-level devDependencies to get tools like `primer-module-build` and `ava`.
* The `npm test` command will not work, because it references a test spec in
the monorepo.

Expand Down