mirror of
https://github.com/jupyter/notebook.git
synced 2024-11-27 03:20:27 +08:00
Use Jupyter Releaser (#6048)
* Use Jupyter Releaser * Automated Changelog Entry for 6.4.0a0 on notebook-releaser * Publish 6.4.0a0 SHA256 hashes: dist/notebook-6.4.0a0-py3-none-any.whl: abbbbb02504cedb85c2d5eeac39ea11615360b9b0075126bf180d6011eac14a5 dist/notebook-6.4.0a0.tar.gz: 2984630a020a9396c61b2c3b98f43b1957dd0121b162a926b3d6136fafa7ca16 * Bump to 6.5.0.dev0 * Remove jupyter_packaging as a runtime requirement * Automated Changelog Entry for 6.4.0a1 on notebook-releaser * Publish 6.4.0a1 SHA256 hashes: dist/notebook-6.4.0a1-py3-none-any.whl: 4b0ae5cb972b5b16b18b942810b85859185ef2081017dd495e5f57099ce06ef4 dist/notebook-6.4.0a1.tar.gz: c48e10d34afa35e304e3b7deca1882508195960f35c4661dec044bb8da344ae5 * Bump to 6.5.0.dev0 * Update notebook/_version.py Co-authored-by: Kevin Bates <kbates4@gmail.com> * Update pyproject.toml Co-authored-by: Kevin Bates <kbates4@gmail.com> Co-authored-by: GitHub Action <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Steven Silvester <steven.silvester@ieee.org> Co-authored-by: Kevin Bates <kbates4@gmail.com>
This commit is contained in:
parent
008a6c0450
commit
c19323de9a
57
.github/workflows/check-release.yml
vendored
Normal file
57
.github/workflows/check-release.yml
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
name: Check Release
|
||||
on:
|
||||
push:
|
||||
branches: ["master"]
|
||||
pull_request:
|
||||
branches: ["*"]
|
||||
|
||||
permissions:
|
||||
contents:
|
||||
write
|
||||
|
||||
jobs:
|
||||
check_release:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Python
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.9
|
||||
architecture: "x64"
|
||||
- name: Install node
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '14.x'
|
||||
- name: Get pip cache dir
|
||||
id: pip-cache
|
||||
run: |
|
||||
echo "::set-output name=dir::$(pip cache dir)"
|
||||
- name: Cache pip
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ${{ steps.pip-cache.outputs.dir }}
|
||||
key: ${{ runner.os }}-pip-${{ hashFiles('setup.cfg') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pip-
|
||||
${{ runner.os }}-pip-
|
||||
- name: Cache checked links
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.cache/pytest-link-check
|
||||
key: ${{ runner.os }}-linkcheck-${{ hashFiles('**/.md') }}-md-links
|
||||
restore-keys: |
|
||||
${{ runner.os }}-linkcheck-
|
||||
- name: Upgrade packaging dependencies
|
||||
run: |
|
||||
pip install --upgrade pip setuptools wheel --user
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
pip install -e .
|
||||
- name: Check Release
|
||||
env:
|
||||
TWINE_PASSWORD: ${{ secrets.TEST_PYPI_TOKEN }}
|
||||
uses: jupyter-server/jupyter_releaser/.github/actions/check-release@v1
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -54,3 +54,5 @@ geckodriver.log
|
||||
|
||||
# copied changelog
|
||||
docs/source/changelog.md
|
||||
|
||||
.jupyter_releaser_checkout
|
||||
|
14
CHANGELOG.md
14
CHANGELOG.md
File diff suppressed because one or more lines are too long
@ -5,9 +5,12 @@ include CHANGELOG.md
|
||||
include package.json
|
||||
include bower.json
|
||||
include .bowerrc
|
||||
include pyproject.toml
|
||||
include setup.py
|
||||
include setupbase.py
|
||||
include Dockerfile
|
||||
graft tools
|
||||
graft notebook/tests
|
||||
|
||||
# Translations
|
||||
graft notebook/i18n
|
||||
|
33
RELEASE.md
33
RELEASE.md
@ -1,14 +1,20 @@
|
||||
# Making a Release of Notebook
|
||||
|
||||
## Start from a fresh git checkout and conda environment
|
||||
## Using `jupyter_releaser`
|
||||
|
||||
### Set the release branch
|
||||
The recommended way to make a release is to use [`jupyter_releaser`](https://github.com/jupyter-server/jupyter_releaser#checklist-for-adoption).
|
||||
|
||||
## Manual Release Process
|
||||
|
||||
### Start from a fresh git checkout and conda environment
|
||||
|
||||
#### Set the release branch
|
||||
|
||||
```bash
|
||||
export release_branch=master
|
||||
```
|
||||
|
||||
### Create the git checkout
|
||||
#### Create the git checkout
|
||||
|
||||
```bash
|
||||
git clone git@github.com:jupyter/notebook.git
|
||||
@ -16,27 +22,27 @@ cd notebook
|
||||
git checkout ${release_banch}
|
||||
```
|
||||
|
||||
### Create and activate the conda environment
|
||||
#### Create and activate the conda environment
|
||||
|
||||
```bash
|
||||
conda create -n notebook-release -c conda-forge jupyter
|
||||
conda activate notebook-release
|
||||
```
|
||||
|
||||
## Perform a local dev install
|
||||
### Perform a local dev install
|
||||
|
||||
```bash
|
||||
pip install -ve .
|
||||
```
|
||||
|
||||
## Install release dependencies
|
||||
### Install release dependencies
|
||||
|
||||
```bash
|
||||
conda install -c conda-forge nodejs babel twine
|
||||
conda install -c conda-forge nodejs babel twine build
|
||||
npm install -g po2json
|
||||
```
|
||||
|
||||
## Update the version
|
||||
### Update the version
|
||||
|
||||
```bash
|
||||
vim notebook/_version.py
|
||||
@ -45,21 +51,20 @@ git commit -am "Release $(python setup.py --version)"
|
||||
git tag $(python setup.py --version)
|
||||
```
|
||||
|
||||
## Create the artifacts
|
||||
### Create the artifacts
|
||||
|
||||
```bash
|
||||
rm -rf dist
|
||||
python setup.py sdist
|
||||
python setup.py bdist_wheel
|
||||
python -m build .
|
||||
```
|
||||
|
||||
## Upload the artifacts
|
||||
### Upload the artifacts
|
||||
|
||||
```bash
|
||||
twine check dist/* && twine upload dist/*
|
||||
```
|
||||
|
||||
## Change back to dev version
|
||||
### Change back to dev version
|
||||
|
||||
```bash
|
||||
vim notebook/_version.py # Add the .dev suffix
|
||||
@ -67,7 +72,7 @@ python setup.py jsversion
|
||||
git commit -am "Back to dev version"
|
||||
```
|
||||
|
||||
## Push the commits and tags
|
||||
### Push the commits and tags
|
||||
|
||||
```bash
|
||||
git push origin ${release_branch} --tags
|
||||
|
@ -47,7 +47,7 @@ front-end Notebook client (i.e. the familiar notebook interface).
|
||||
documented in the configuration file and the user documentation.
|
||||
|
||||
- :ref:`Running a Notebook server <working_remotely>`
|
||||
- Related: `Configuring a language kernel <https://jupyter.readthedocs.io/en/latest/install-kernel.html>`_
|
||||
- Related: `Configuring a language kernel <https://ipython.readthedocs.io/en/latest/install/kernel_install.html>`_
|
||||
to run in the Notebook server enables your server to run other languages, like R or Julia.
|
||||
|
||||
.. _configure_nbclient:
|
||||
|
@ -134,7 +134,7 @@
|
||||
"\n",
|
||||
"> Of course, in addition to the files listed, there are number of other files one needs to build a proper package. Here are some good resources:\n",
|
||||
"- [The Hitchhiker's Guide to Packaging](https://the-hitchhikers-guide-to-packaging.readthedocs.io/en/latest/quickstart.html)\n",
|
||||
"- [Repository Structure and Python](https://www.kennethreitz.org/essays/repository-structure-and-python) by Kenneth Reitz\n",
|
||||
"- [Repository Structure and Python](https://kenreitz.org/essays/2013/01/27/repository-structure-and-python) by Kenneth Reitz\n",
|
||||
"\n",
|
||||
"> How you distribute them, too, is important:\n",
|
||||
"- [Packaging and Distributing Projects](https://python-packaging-user-guide.readthedocs.io/tutorials/distributing-packages/)\n",
|
||||
@ -507,4 +507,4 @@
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 1
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
# Notebook Examples
|
||||
|
||||
The pages in this section are all converted notebook files. You can also
|
||||
[view these notebooks on nbviewer](http://nbviewer.jupyter.org/github/jupyter/notebook/blob/master/)
|
||||
[view these notebooks on nbviewer](http://nbviewer.jupyter.org/github/jupyter/notebook/tree/master/)
|
||||
|
@ -68,11 +68,11 @@ example, for blog posts), reStructuredText, LaTeX, PDF, and slide shows, via
|
||||
the nbconvert_ command.
|
||||
|
||||
Furthermore, any ``.ipynb`` notebook document available from a public
|
||||
URL can be shared via the `Jupyter Notebook Viewer <nbviewer>`_ (nbviewer_).
|
||||
URL can be shared via the Jupyter Notebook Viewer <nbviewer>.
|
||||
This service loads the notebook document from the URL and renders it as a
|
||||
static web page. The results may thus be shared with a colleague, or as a
|
||||
public blog post, without other users needing to install the Jupyter notebook
|
||||
themselves. In effect, nbviewer_ is simply nbconvert_ as
|
||||
themselves. In effect, nbviewer is simply nbconvert_ as
|
||||
a web service, so you can do your own static conversions with nbconvert,
|
||||
without relying on nbviewer.
|
||||
|
||||
@ -278,9 +278,7 @@ way, using standard LaTeX notation: ``$...$`` for inline mathematics and
|
||||
``$$...$$`` for displayed mathematics. When the Markdown cell is executed,
|
||||
the LaTeX portions are automatically rendered in the HTML output as equations
|
||||
with high quality typography. This is made possible by MathJax_, which
|
||||
supports a `large subset <mathjax_tex>`_ of LaTeX functionality
|
||||
|
||||
.. _mathjax_tex: https://docs.mathjax.org/en/latest/tex.html
|
||||
supports a `large subset <https://docs.mathjax.org/en/latest/input/tex/index.html>`__ of LaTeX functionality
|
||||
|
||||
Standard mathematics environments defined by LaTeX and AMS-LaTeX (the
|
||||
``amsmath`` package) also work, such as
|
||||
|
@ -2,12 +2,19 @@
|
||||
store the current version info of the notebook.
|
||||
|
||||
"""
|
||||
import re
|
||||
|
||||
# Version string must appear intact for tbump versioning
|
||||
__version__ = '6.4.0a1'
|
||||
|
||||
# Build up version_info tuple for backwards compatibility
|
||||
pattern = r'(?P<major>\d+).(?P<minor>\d+).(?P<patch>\d+)(?P<rest>.*)'
|
||||
match = re.match(pattern, __version__)
|
||||
parts = [int(match[part]) for part in ['major', 'minor', 'patch']]
|
||||
if match['rest']:
|
||||
parts.append(match['rest'])
|
||||
version_info = tuple(parts)
|
||||
|
||||
# Downstream maintainer, when running `python.setup.py jsversion`,
|
||||
# the version string is propagated to the JavaScript files, do not forget to
|
||||
# patch the JavaScript files in `.postN` release done by distributions.
|
||||
|
||||
# Next beta/alpha/rc release: The version number for beta is X.Y.ZbN **without dots**.
|
||||
|
||||
version_info = (6, 4, 0, '.dev0')
|
||||
__version__ = '.'.join(map(str, version_info[:3])) + ''.join(version_info[3:])
|
||||
|
@ -73,7 +73,7 @@ define(function(){
|
||||
// tree
|
||||
jglobal('SessionList','tree/js/sessionlist');
|
||||
|
||||
Jupyter.version = "6.4.0.dev0";
|
||||
Jupyter.version = "6.4.0a1";
|
||||
Jupyter._target = '_blank';
|
||||
|
||||
return Jupyter;
|
||||
|
@ -1,5 +1,6 @@
|
||||
{
|
||||
"name": "jupyter-notebook-deps",
|
||||
"private": true,
|
||||
"version": "4.0.0",
|
||||
"description": "Jupyter Notebook nodejs dependencies",
|
||||
"author": "Jupyter Developers",
|
||||
|
28
pyproject.toml
Normal file
28
pyproject.toml
Normal file
@ -0,0 +1,28 @@
|
||||
[build-system]
|
||||
requires=["jupyter_packaging~=0.9,<2"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[tool.check-manifest]
|
||||
ignore = ["docs-translations/**", ".*", "*.yml", "*.less", "git-hooks/**", "MANIFEST.in", "RELEASE.md", "jupyter.svg", "notebook/static/**", "notebook/i18n/**/*.json", "docs/source/*.*"]
|
||||
ignore-bad-ideas = ["notebook/i18n/**/*.mo"]
|
||||
|
||||
[tool.jupyter-releaser.hooks]
|
||||
after-bump-version = "python setup.py jsversion"
|
||||
before-build-python = ["pip install babel", "npm install -g po2json"]
|
||||
|
||||
[tool.jupyter-releaser.options]
|
||||
ignore-glob = ["docs/source/examples/Notebook/Working With Markdown Cells.ipynb", "docs-translations/**/README.md", "docs/source/contributing.rst", "docs/source/examples/Notebook/JavaScript Notebook Extensions.ipynb", "CHANGELOG.md"]
|
||||
|
||||
[tool.tbump.version]
|
||||
current = "6.4.0a1"
|
||||
regex = '''
|
||||
(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)
|
||||
((?P<channel>a|b|rc|.dev)(?P<release>\d+))?
|
||||
'''
|
||||
|
||||
[tool.tbump.git]
|
||||
message_template = "Bump to {new_version}"
|
||||
tag_template = "v{new_version}"
|
||||
|
||||
[[tool.tbump.file]]
|
||||
src = "notebook/_version.py"
|
3
setup.py
3
setup.py
@ -50,6 +50,9 @@ if os.path.exists('MANIFEST'): os.remove('MANIFEST')
|
||||
|
||||
from setuptools import setup
|
||||
|
||||
# Needed to support building with `setuptools.build_meta`
|
||||
sys.path.insert(0, os.path.abspath(os.path.dirname(__file__)))
|
||||
|
||||
from setupbase import (
|
||||
version,
|
||||
find_packages,
|
||||
|
@ -272,7 +272,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"See my [About](/about/) page for details. "
|
||||
"See my [Confined Output](./Confined Output.ipynb/) sibling page. "
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -8203,4 +8203,4 @@
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 0
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user