Skip to content

Commit

Permalink
ENH - Update release process (#317)
Browse files Browse the repository at this point in the history
* Add release template

* Update release workflow
  • Loading branch information
trallard authored Oct 19, 2023
1 parent 063b7dd commit d52ae07
Show file tree
Hide file tree
Showing 4 changed files with 79 additions and 14 deletions.
44 changes: 44 additions & 0 deletions .github/ISSUE_TEMPLATE/release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
name: "New release 🏷 [maintainers only]"
about: "Start a new conda-store-ui release"
title: "[REL] - <release number>"
labels: ["release 🏷"]
---

<!-- These steps should be taken to create a new release!
**Double-check for quality control** -->

## Release details

Scheduled release date - <yyyy/mm/dd>

Release captain responsible - <@gh_username>

---

### 1. Pre-flight checks

- [ ] Ensure there are no [open issues with a `block-release ⛔️` label](https://github.com/conda-incubator/conda-store/issues?q=is%3Aopen+label%3A%22block-release+%E2%9B%94%EF%B8%8F%22+sort%3Aupdated-desc)

### 2. Prepare the codebase for a new release

- [ ] Create a new git branch for the release `git checkout -b release-2023.9.1`
- [ ] Prepare the branch just in case `git clean -fxdq`
- [ ] Bump `conda-store-ui` version in `package.json`
- [ ] Follow the manual release instructions in the Release.md file (do not make the release yet!)
- [ ] Make a release commit: `git commit -m 'REL - 2023.9.1'`
- [ ] Push the release (REL) commit
- [ ] If a **release candidate** is needed, tick this box when we're ready for a full release.

### 3. Make the release

- [ ] [Start a new GitHub release](https://github.com/conda-incubator/conda-store/releases/new)
- Call the release the current version, e.g. `2023.9.1`
- In the **`Choose a Tag:`** dropdown, type in the release name (e.g., `2023.9.1`) and click "Create new tag"
- In the **`Target:`** dropdown, pin it to the release commit you've recently pushed.
- Add release notes in the field below[^github-activity].
- [ ] Confirm that the release completed
- [The `release` GitHub action job](https://github.com/conda-incubator/conda-store-ui/blob/main/.github/workflows/release.yaml) has completed successfully in the [actions tab](https://github.com/conda-incubator/conda-store-ui/actions).
- [ ] Celebrate, you're done! 🎉

[^github-activity]: If you wish, use [`github-activity` to generate a changelog](https://github.com/choldgraf/github-activity), e.g. `github-activity conda-incubator/conda-store --since 2023.9.1 --until 2023.10.1`.
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,6 @@ jobs:
- name: "Publish to npm 📤"
run: |
echo "Publishing with tag ${{ env.GITHUB_REF_NAME }}"
yarn publish --access public --verbose
npm publish --verbose --access public conda-store-ui.tgz
env:
NPM_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
45 changes: 33 additions & 12 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,43 @@
# Manual release process

1. Increment version in `package.json`
2. Perform a local dry run build:
1. Create a new branch for the release `git checkout -b release-2023.9.1`
2. Clean the branch `git clean -fxdq`
3. Increment version in `package.json`
4. Build the package locally:

```bash
# dry run build
npm publish --access public --dry-run
yarn install

# the real publish-to-npmjs command
# build the package
yarn run build

# for the browser bundle
yarn run webpack bundle

# pack the bundle
yarn pack --filename conda-store-ui.tgz

```

5. Perform a local dry run publish:

```bash
# dry run publish to npmjs
npm publish --verbose --access public conda-store-ui.tgz --dry-run
```

6. If the dry run looks good, publish to npmjs:

```bash
npm publish --access public
```

3. Ensure that whatever code you published is checked into git, then tag and push the commit and tag
7. Ensure that whatever code you published is checked into git, then tag and push the commit and tag

```bash
# use the same version here as in package.json, but without a leading `v`
git tag -a YYYY.M.ReleaseNumber
```bash
# use the same version here as in package.json, but without a leading `v`
git tag -a YYYY.M.ReleaseNumber
# push to upstream
git push && git push --tags
```
# push to upstream
git push && git push --tags
```
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@conda-store/conda-store-ui",
"version": "2023.10.1",
"version": "2023.10.2",
"description": "UI elements for building a frontend for conda-store",
"homepage": "https://github.com/conda-incubator/conda-store-ui",
"bugs": {
Expand Down

0 comments on commit d52ae07

Please sign in to comment.