Skip to content

Commit d52ae07

Browse files
authored
ENH - Update release process (#317)
* Add release template * Update release workflow
1 parent 063b7dd commit d52ae07

File tree

4 files changed

+79
-14
lines changed

4 files changed

+79
-14
lines changed

.github/ISSUE_TEMPLATE/release.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
name: "New release 🏷 [maintainers only]"
3+
about: "Start a new conda-store-ui release"
4+
title: "[REL] - <release number>"
5+
labels: ["release 🏷"]
6+
---
7+
8+
<!-- These steps should be taken to create a new release!
9+
**Double-check for quality control** -->
10+
11+
## Release details
12+
13+
Scheduled release date - <yyyy/mm/dd>
14+
15+
Release captain responsible - <@gh_username>
16+
17+
---
18+
19+
### 1. Pre-flight checks
20+
21+
- [ ] 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)
22+
23+
### 2. Prepare the codebase for a new release
24+
25+
- [ ] Create a new git branch for the release `git checkout -b release-2023.9.1`
26+
- [ ] Prepare the branch just in case `git clean -fxdq`
27+
- [ ] Bump `conda-store-ui` version in `package.json`
28+
- [ ] Follow the manual release instructions in the Release.md file (do not make the release yet!)
29+
- [ ] Make a release commit: `git commit -m 'REL - 2023.9.1'`
30+
- [ ] Push the release (REL) commit
31+
- [ ] If a **release candidate** is needed, tick this box when we're ready for a full release.
32+
33+
### 3. Make the release
34+
35+
- [ ] [Start a new GitHub release](https://github.com/conda-incubator/conda-store/releases/new)
36+
- Call the release the current version, e.g. `2023.9.1`
37+
- In the **`Choose a Tag:`** dropdown, type in the release name (e.g., `2023.9.1`) and click "Create new tag"
38+
- In the **`Target:`** dropdown, pin it to the release commit you've recently pushed.
39+
- Add release notes in the field below[^github-activity].
40+
- [ ] Confirm that the release completed
41+
- [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).
42+
- [ ] Celebrate, you're done! 🎉
43+
44+
[^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`.

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,6 @@ jobs:
3737
- name: "Publish to npm 📤"
3838
run: |
3939
echo "Publishing with tag ${{ env.GITHUB_REF_NAME }}"
40-
yarn publish --access public --verbose
40+
npm publish --verbose --access public conda-store-ui.tgz
4141
env:
4242
NPM_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

RELEASE.md

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,43 @@
11
# Manual release process
22

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

68
```bash
7-
# dry run build
8-
npm publish --access public --dry-run
9+
yarn install
910

10-
# the real publish-to-npmjs command
11+
# build the package
12+
yarn run build
13+
14+
# for the browser bundle
15+
yarn run webpack bundle
16+
17+
# pack the bundle
18+
yarn pack --filename conda-store-ui.tgz
19+
20+
```
21+
22+
5. Perform a local dry run publish:
23+
24+
```bash
25+
# dry run publish to npmjs
26+
npm publish --verbose --access public conda-store-ui.tgz --dry-run
27+
```
28+
29+
6. If the dry run looks good, publish to npmjs:
30+
31+
```bash
1132
npm publish --access public
1233
```
1334

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

16-
```bash
17-
# use the same version here as in package.json, but without a leading `v`
18-
git tag -a YYYY.M.ReleaseNumber
37+
```bash
38+
# use the same version here as in package.json, but without a leading `v`
39+
git tag -a YYYY.M.ReleaseNumber
1940

20-
# push to upstream
21-
git push && git push --tags
22-
```
41+
# push to upstream
42+
git push && git push --tags
43+
```

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@conda-store/conda-store-ui",
3-
"version": "2023.10.1",
3+
"version": "2023.10.2",
44
"description": "UI elements for building a frontend for conda-store",
55
"homepage": "https://github.com/conda-incubator/conda-store-ui",
66
"bugs": {

0 commit comments

Comments
 (0)