mirror of
https://github.com/jupyter/notebook.git
synced 2024-11-21 01:11:21 +08:00
Add releaser workflows (#6698)
* add releaser workflows * add workflow files
This commit is contained in:
parent
7b82dbbdf6
commit
4e6282c1e5
42
.github/workflows/prep-release.yml
vendored
Normal file
42
.github/workflows/prep-release.yml
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
name: "Step 1: Prep Release"
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version_spec:
|
||||
description: "New Version Specifier"
|
||||
default: "next"
|
||||
required: false
|
||||
branch:
|
||||
description: "The branch to target"
|
||||
required: false
|
||||
post_version_spec:
|
||||
description: "Post Version Specifier"
|
||||
required: false
|
||||
since:
|
||||
description: "Use PRs with activity since this date or git reference"
|
||||
required: false
|
||||
since_last_stable:
|
||||
description: "Use PRs with activity since the last stable git tag"
|
||||
required: false
|
||||
type: boolean
|
||||
jobs:
|
||||
prep_release:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
|
||||
|
||||
- name: Prep Release
|
||||
id: prep-release
|
||||
uses: jupyter-server/jupyter_releaser/.github/actions/prep-release@v2
|
||||
with:
|
||||
token: ${{ secrets.ADMIN_GITHUB_TOKEN }}
|
||||
version_spec: ${{ github.event.inputs.version_spec }}
|
||||
post_version_spec: ${{ github.event.inputs.post_version_spec }}
|
||||
target: ${{ github.event.inputs.target }}
|
||||
branch: ${{ github.event.inputs.branch }}
|
||||
since: ${{ github.event.inputs.since }}
|
||||
since_last_stable: ${{ github.event.inputs.since_last_stable }}
|
||||
|
||||
- name: "** Next Step **"
|
||||
run: |
|
||||
echo "Optional): Review Draft Release: ${{ steps.prep-release.outputs.release_url }}"
|
54
.github/workflows/publish-release.yml
vendored
Normal file
54
.github/workflows/publish-release.yml
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
name: "Step 2: Publish Release"
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
branch:
|
||||
description: "The target branch"
|
||||
required: false
|
||||
release_url:
|
||||
description: "The URL of the draft GitHub release"
|
||||
required: false
|
||||
steps_to_skip:
|
||||
description: "Comma separated list of steps to skip"
|
||||
required: false
|
||||
|
||||
jobs:
|
||||
publish_release:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
|
||||
|
||||
- name: Populate Release
|
||||
id: populate-release
|
||||
uses: jupyter-server/jupyter_releaser/.github/actions/populate-release@v2
|
||||
with:
|
||||
token: ${{ secrets.ADMIN_GITHUB_TOKEN }}
|
||||
target: ${{ github.event.inputs.target }}
|
||||
branch: ${{ github.event.inputs.branch }}
|
||||
release_url: ${{ github.event.inputs.release_url }}
|
||||
steps_to_skip: ${{ github.event.inputs.steps_to_skip }}
|
||||
|
||||
- name: Finalize Release
|
||||
id: finalize-release
|
||||
env:
|
||||
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
|
||||
PYPI_TOKEN_MAP: ${{ secrets.PYPI_TOKEN_MAP }}
|
||||
TWINE_USERNAME: __token__
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
uses: jupyter-server/jupyter-releaser/.github/actions/finalize-release@v2
|
||||
with:
|
||||
token: ${{ secrets.ADMIN_GITHUB_TOKEN }}
|
||||
target: ${{ github.event.inputs.target }}
|
||||
release_url: ${{ steps.populate-release.outputs.release_url }}
|
||||
|
||||
- name: "** Next Step **"
|
||||
if: ${{ success() }}
|
||||
run: |
|
||||
echo "Verify the final release"
|
||||
echo ${{ steps.finalize-release.outputs.release_url }}
|
||||
|
||||
- name: "** Failure Message **"
|
||||
if: ${{ failure() }}
|
||||
run: |
|
||||
echo "Failed to Publish the Draft Release Url:"
|
||||
echo ${{ steps.populate-release.outputs.release_url }}
|
39
RELEASE.md
39
RELEASE.md
@ -1,9 +1,40 @@
|
||||
# Releasing Jupyter Notebook
|
||||
|
||||
## Automated releases
|
||||
## Using `jupyter_releaser`
|
||||
|
||||
The recommended way to make a release is to use [`jupyter_releaser`](https://github.com/jupyter-server/jupyter_releaser#checklist-for-adoption).
|
||||
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).
|
||||
|
||||
We follow a similar bump strategy as in JupyterLab: https://github.com/jupyterlab/jupyterlab/blob/master/RELEASE.md#bump-version
|
||||
## Manual Release
|
||||
|
||||
If you would still like to do the release manually instead, read below.
|
||||
To create a manual release, perform the following steps:
|
||||
|
||||
### Set up
|
||||
|
||||
```bash
|
||||
pip install hatch twine
|
||||
git pull origin $(git branch --show-current)
|
||||
git clean -dffx
|
||||
```
|
||||
|
||||
### Update the version and apply the tag
|
||||
|
||||
```bash
|
||||
echo "Enter new version"
|
||||
read new_version
|
||||
hatch version ${new_version}
|
||||
git tag -a ${new_version} -m "Release ${new_version}"
|
||||
```
|
||||
|
||||
### Build the artifacts
|
||||
|
||||
```bash
|
||||
rm -rf dist
|
||||
hatch build
|
||||
```
|
||||
|
||||
### Publish the artifacts to pypi
|
||||
|
||||
```bash
|
||||
twine check dist/*
|
||||
twine upload dist/*
|
||||
```
|
||||
|
Loading…
Reference in New Issue
Block a user