diff --git a/Makefile b/Makefile index 795bd42..f379023 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,8 @@ # TO EDIT -TAG ?= v0.25.0rc0 -GH_USERNAME ?= TomAugspurger - -PANDAS_VERSION=$(TAG:v%=%) # like 0.24.2 -PANDAS_BASE_VERSION=$(shell echo $(PANDAS_VERSION) | awk -F '.' '{OFS="."} { print $$1, $$2}') # like 0.24 +TAG ?= v0.25.0 +GH_USERNAME ?= WillAyd +PANDAS_VERSION=$(TAG:v%=%) +PANDAS_BASE_VERSION=$(shell echo $(PANDAS_VERSION) | awk -F '.' '{OFS="."} { print $$1, $$2}') TARGZ=pandas-$(PANDAS_VERSION).tar.gz # to ensure pushd and popd works @@ -107,7 +106,6 @@ doc: upload-doc: rsync -rv -e ssh pandas/doc/build/html/ pandas.pydata.org:/usr/share/nginx/pandas/pandas-docs/version/$(PANDAS_VERSION)/ rsync -rv -e ssh pandas/doc/build/latex/pandas.pdf pandas.pydata.org:/usr/share/nginx/pandas/pandas-docs/version/$(PANDAS_VERSION)/pandas.pdf - sudo chgrp -R docs /usr/share/nginx/pandas/pandas-docs link-stable: ssh pandas.pydata.org "cd /usr/share/nginx/pandas/pandas-docs && ln -sfn version/$(PANDAS_VERSION) stable" diff --git a/README.md b/README.md index 8a5eb80..8b558cd 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,16 @@ Release automation for pandas. ## Steps to a release - [ ] Manually update - - [ ] `PANDAS_VERSION` in `Makefile` + - [ ] `TAG` in `Makefile` - [ ] `GH_USERNAME` in `Makefile` - - [ ] `version` in `recipe/meta.yaml` +If running for the first time be sure to initialize repos + +```sh +make init-repos +``` + +And fork pandas-feedstock and pandas-wheels to your GitHub account. ``` # Update repos @@ -22,6 +28,7 @@ make docker-image docker-doc make pandas/dist/<>.sdist # Final Pip and Conda tests. Do these in parallel. +# You can optionally do make doc here as well make pip-test make conda-test @@ -34,7 +41,18 @@ Now manually create a release https://github.com/pandas-dev/pandas/releases Make sure to upload the sdist that's in `pandas/dist/` as the "binary". Conda-forge uses it. -Start the binary builds +On pandas you should also now create and tag a new branch, so + +```sh +git checkout -b .x +git push upstream .x +git checkout master +git commit --allow-empty -m "Start " +git tag -a v.dev0 -m 'DEV: Start cycle' +git push upstream master --follow-tags +``` + +Start the binary builds. **For Mac users** you may need to download the GNU version of sed before running this scripts via `brew install gnu-sed` ``` # Binaries @@ -44,6 +62,8 @@ make wheels Open PRs for each of those. +Note that `make wheels` actually pushes a job to MacPython to produce wheels which we will download later. + Docs. You can cheat and re-tag / rebuild these if needed. ``` @@ -51,7 +71,8 @@ make doc ``` Once the binaries finish, you'll need to manually upload the -wheels to PyPI +wheels to PyPI. Assuming the job which `make wheels` triggered on MacPython completed successfully (you may want to double check this) +you can download a copy of the wheels for Mac / Linux locally. ``` @@ -71,12 +92,32 @@ Finalize the docs ``` make upload-doc make website -make push-website ``` -The website script is currenlty broken. You may need to manually -add the next (dev) release, and remove any pre-releases. +You also need to make edits to the pandas-website to appropriately display items. +Ideally this could be done via `make push-website` as the rule exists but the +intermediary steps aren't fully automated yet. + +```sh +pushd pandas-website +mv latest.rst previous.rst +# Recreate latest.rst to match release notes from GH in earlier steps +# Update pre_release.json and releases.json +git commit -am "Your updates" +git push +make html +make upload +``` + +To make sure /stable and the latest minor revision point to the new release run the following from root + +```sh +popd # should bring us back to root from pandas-website +make link-stable +make link-version +``` +Now check pandas.pydata.org and ensure the sidebar and links are correct! goto announce. diff --git a/docker-files/conda/Dockerfile b/docker-files/conda/Dockerfile index 4b9422b..710f12f 100644 --- a/docker-files/conda/Dockerfile +++ b/docker-files/conda/Dockerfile @@ -3,4 +3,4 @@ FROM condaforge/linux-anvil2:latest RUN conda install -y conda-verify && conda clean -tipsy WORKDIR /pandas -RUN conda build conda.recipe --numpy=1.11 --python=3.6 +RUN conda build conda.recipe --numpy=1.13.3 --python=3.6 diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 40094b8..d7544a4 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -47,3 +47,4 @@ extra: - msarahan - ocefpaf - TomAugspurger + - WillAyd