Skip to content

Commit 2c5188a

Browse files
authored
Adopt jupyter releaser (ipython#806)
* adopt jupyter releaser * add files
1 parent 21bdae9 commit 2c5188a

File tree

5 files changed

+148
-57
lines changed

5 files changed

+148
-57
lines changed

.github/workflows/prep-release.yml

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: "Step 1: Prep Release"
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
version_spec:
6+
description: "New Version Specifier"
7+
default: "next"
8+
required: false
9+
branch:
10+
description: "The branch to target"
11+
required: false
12+
post_version_spec:
13+
description: "Post Version Specifier"
14+
required: false
15+
since:
16+
description: "Use PRs with activity since this date or git reference"
17+
required: false
18+
since_last_stable:
19+
description: "Use PRs with activity since the last stable git tag"
20+
required: false
21+
type: boolean
22+
jobs:
23+
prep_release:
24+
runs-on: ubuntu-latest
25+
steps:
26+
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
27+
28+
- name: Prep Release
29+
id: prep-release
30+
uses: jupyter-server/jupyter_releaser/.github/actions/prep-release@v2
31+
with:
32+
token: ${{ secrets.ADMIN_GITHUB_TOKEN }}
33+
version_spec: ${{ github.event.inputs.version_spec }}
34+
post_version_spec: ${{ github.event.inputs.post_version_spec }}
35+
target: ${{ github.event.inputs.target }}
36+
branch: ${{ github.event.inputs.branch }}
37+
since: ${{ github.event.inputs.since }}
38+
since_last_stable: ${{ github.event.inputs.since_last_stable }}
39+
40+
- name: "** Next Step **"
41+
run: |
42+
echo "Optional): Review Draft Release: ${{ steps.prep-release.outputs.release_url }}"

.github/workflows/publish-release.yml

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: "Step 2: Publish Release"
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
branch:
6+
description: "The target branch"
7+
required: false
8+
release_url:
9+
description: "The URL of the draft GitHub release"
10+
required: false
11+
steps_to_skip:
12+
description: "Comma separated list of steps to skip"
13+
required: false
14+
15+
jobs:
16+
publish_release:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
20+
21+
- name: Populate Release
22+
id: populate-release
23+
uses: jupyter-server/jupyter_releaser/.github/actions/populate-release@v2
24+
with:
25+
token: ${{ secrets.ADMIN_GITHUB_TOKEN }}
26+
target: ${{ github.event.inputs.target }}
27+
branch: ${{ github.event.inputs.branch }}
28+
release_url: ${{ github.event.inputs.release_url }}
29+
steps_to_skip: ${{ github.event.inputs.steps_to_skip }}
30+
31+
- name: Finalize Release
32+
id: finalize-release
33+
env:
34+
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
35+
PYPI_TOKEN_MAP: ${{ secrets.PYPI_TOKEN_MAP }}
36+
TWINE_USERNAME: __token__
37+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
38+
uses: jupyter-server/jupyter-releaser/.github/actions/finalize-release@v2
39+
with:
40+
token: ${{ secrets.ADMIN_GITHUB_TOKEN }}
41+
target: ${{ github.event.inputs.target }}
42+
release_url: ${{ steps.populate-release.outputs.release_url }}
43+
44+
- name: "** Next Step **"
45+
if: ${{ success() }}
46+
run: |
47+
echo "Verify the final release"
48+
echo ${{ steps.finalize-release.outputs.release_url }}
49+
50+
- name: "** Failure Message **"
51+
if: ${{ failure() }}
52+
run: |
53+
echo "Failed to Publish the Draft Release Url:"
54+
echo ${{ steps.populate-release.outputs.release_url }}

.github/workflows/release.yml

-48
This file was deleted.

README.md

-9
Original file line numberDiff line numberDiff line change
@@ -188,12 +188,3 @@ with parity_check.hold_trait_notifications():
188188

189189
However, we **recommend** that custom cross-validators don't modify the state
190190
of the HasTraits instance.
191-
192-
### Release build:
193-
194-
Releases should be automatically build and pushed to Pypi when a tag is marked and pushed to GitHub.
195-
196-
```bash
197-
$ pip install build
198-
$ python -m build .
199-
```

RELEASE.md

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Making a Pytest-Jupyter Release
2+
3+
## Using `jupyter_releaser`
4+
5+
The recommended way to make a release is to use [`jupyter_releaser`](https://jupyter-releaser.readthedocs.io/en/latest/get_started/making_release_from_repo.html).
6+
7+
Note that we must use manual versions since Jupyter Releaser does not
8+
yet support "next" or "patch" when dev versions are used.
9+
10+
## Manual Release
11+
12+
To create a manual release, perform the following steps:
13+
14+
### Set up
15+
16+
```bash
17+
pip install hatch twine build
18+
git pull origin $(git branch --show-current)
19+
git clean -dffx
20+
```
21+
22+
### Update the version and apply the tag
23+
24+
```bash
25+
echo "Enter new version"
26+
read new_version
27+
hatch version ${new_version}
28+
git tag -a ${new_version} -m "Release ${new_version}"
29+
```
30+
31+
### Build the artifacts
32+
33+
```bash
34+
rm -rf dist
35+
python -m build .
36+
```
37+
38+
### Update the version back to dev
39+
40+
```bash
41+
echo "Enter dev version"
42+
read dev_version
43+
hatch version ${dev_version}
44+
git push origin $(git branch --show-current)
45+
```
46+
47+
### Publish the artifacts to pypi
48+
49+
```bash
50+
twine check dist/*
51+
twine upload dist/*
52+
```

0 commit comments

Comments
 (0)