From 5b5f63f83668b31f3219447c183d837294828480 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Fri, 21 Aug 2020 10:24:26 +0100 Subject: [PATCH 01/33] Update release process for Windows hosts --- README.md | 2 +- docker-files/windows/build/Dockerfile | 7 +++ docker-files/windows/docs/Dockerfile | 24 ++++++++ windows.md | 85 +++++++++++++-------------- 4 files changed, 72 insertions(+), 46 deletions(-) create mode 100644 docker-files/windows/build/Dockerfile create mode 100644 docker-files/windows/docs/Dockerfile diff --git a/README.md b/README.md index 0783348..03855a6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ Release automation for pandas. -**Windows users should follow the steps in `windows.md`** +**Windows users should follow [these](./windows.md) steps.** ## Steps to a release diff --git a/docker-files/windows/build/Dockerfile b/docker-files/windows/build/Dockerfile new file mode 100644 index 0000000..6679c51 --- /dev/null +++ b/docker-files/windows/build/Dockerfile @@ -0,0 +1,7 @@ +FROM pandas-build:latest + +ARG TAG + +ENV TAG=$TAG + +WORKDIR /pandas-release diff --git a/docker-files/windows/docs/Dockerfile b/docker-files/windows/docs/Dockerfile new file mode 100644 index 0000000..c42e81c --- /dev/null +++ b/docker-files/windows/docs/Dockerfile @@ -0,0 +1,24 @@ +FROM continuumio/miniconda3:latest + +RUN apt-get update && apt-get install -y texlive-full xclip \ + && apt-get clean + +# TODO: don't need to clone complete repository, just need environment.yml +RUN git clone https://github.com/pandas-dev/pandas.git + +# following maybe necessary to prevent segfaults +RUN conda update -n base -c defaults conda + +# this is also done in scripts\build-docs.sh (should be done earlier but won't use cached build and texlive is big download) +RUN apt-get update && apt-get install -y build-essential && apt-get clean + +# NOTE: This builds environment from master will update for correct branch in container +RUN conda env create --file=/pandas/environment.yml --name=pandas + +RUN rm -r pandas + +RUN mkdir -p /pandas-release/pandas + +RUN ln -s /pandas-release/pandas /pandas + +WORKDIR /pandas-release diff --git a/windows.md b/windows.md index 37da179..c73fd3f 100644 --- a/windows.md +++ b/windows.md @@ -34,17 +34,28 @@ docker volume rm pandas-release ``` **change TAG to the release version** + ``` -docker run -it --env TAG=v1.0.5 --name=pandas-release -v pandas-release:/pandas-release pandas-release /bin/bash +docker run -it --env TAG=v1.1.1 --name=pandas-release -v pandas-release:/pandas-release pandas-release /bin/bash ``` The Docker release container should be now be running. -Make sure the repos are up-to-date - +if using an older Docker image make sure environments and pandas-release repo are up-to-date. + + +``` +apt-get update && apt-get clean +git -C /pandas-release pull --ff-only + +# not so sure this should have been conda-forge channel +conda update -c conda-forge conda -y + +conda env update -n base --file=/pandas-release/environment.yml +``` + +Make sure the repos are up-to-date. + ``` make update-repos ``` @@ -56,6 +67,7 @@ make tag ``` Stop the container. + ``` exit ``` @@ -64,46 +76,38 @@ exit Create the Docker image for the sdist build, pip test and conda test containers - + +**change TAG to the release version** + + + ``` -docker build -t pandas-build . +docker build -t pandas-build --no-cache . + +docker build -t pandas-test --build-arg TAG=v1.1.1 -f docker-files/windows/build/Dockerfile . ``` ## Build the sdist ``` -docker run -it --rm -v pandas-release:/pandas-release pandas-build /bin/bash - -ln -s pandas-release/pandas pandas - -cd pandas-release/ - -./scripts/build_sdist.sh - -exit +docker run --name=pandas-sdist-build -v pandas-release:/pandas-release pandas-test /bin/bash -c "ln -s /pandas-release/pandas /pandas;./scripts/build_sdist.sh" ``` ## Pip Tests **change filename to the release version** ``` -docker run -it --rm -v pandas-release:/pandas-release pandas-build /bin/bash - -ln -s pandas-release/pandas pandas +docker run -it --name=pandas-pip-test -v pandas-release:/pandas-release pandas-test /bin/bash -cd pandas-release/ +ln -s /pandas-release/pandas /pandas -./scripts/pip_test.sh /pandas/dist/pandas-1.0.5.tar.gz +./scripts/pip_test.sh /pandas/dist/pandas-1.1.1.tar.gz exit @@ -111,17 +115,14 @@ exit ## Conda Tests **change PANDAS_VERSION to the release version** ``` -docker run -it --rm --env PANDAS_VERSION=1.0.5 -v pandas-release:/pandas-release pandas-build /bin/bash +docker run -it --name=pandas-conda-test --env PANDAS_VERSION=1.1.1 -v pandas-release:/pandas-release pandas-test /bin/bash -ln -s pandas-release/pandas pandas - -cd pandas-release/ +ln -s /pandas-release/pandas /pandas conda build --numpy=1.17.3 --python=3.8 ./recipe --output-folder=/pandas/dist @@ -136,7 +137,7 @@ TODO: avoid need to enter specific filename below (maybe just copy contents of d **change filename to the release version** ``` -docker run -t --rm -v %cd%:/local -v pandas-release:/pandas-release pandas-release /bin/bash -c "cp /pandas-release/pandas/dist/pandas-1.0.5.tar.gz /local/" +docker run -t --rm -v %cd%:/local -v pandas-release:/pandas-release pandas-release /bin/bash -c "cp /pandas-release/pandas/dist/pandas-1.1.1.tar.gz /local/" ``` ## Push the Tag. @@ -176,6 +177,8 @@ Restart the release container. ``` docker start pandas-release -i +apt-get install vim + make conda-forge make wheels @@ -190,22 +193,14 @@ Note that `make wheels` actually pushes a job to MacPython to produce wheels whi ## Build the Docs. You can cheat and re-tag / rebuild these if needed. - ``` -docker run -it --name=pandas-docs -v pandas-release:/pandas-release pandas-docs /bin/bash - -rm -r pandas +docker build -t pandas-docs -f docker-files\windows\docs\Dockerfile . -ln -s pandas-release/pandas pandas - -cd pandas-release/ +docker run -it --name=pandas-docs -v pandas-release:/pandas-release pandas-docs /bin/bash -# following maybe necessary to prevent segfaults -conda update -n base -c defaults conda +conda activate pandas -conda env create --file=/pandas/environment.yml --name=pandas +conda env update -n pandas --file=/pandas/environment.yml ./scripts/build-docs.sh From 68de0e792ee63c459af0d2e9a089033d9e1ee579 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Tue, 8 Sep 2020 13:58:54 +0100 Subject: [PATCH 02/33] wip - updates during 1.1.2 release --- windows.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/windows.md b/windows.md index c73fd3f..c43b497 100644 --- a/windows.md +++ b/windows.md @@ -36,7 +36,7 @@ docker volume rm pandas-release **change TAG to the release version** ``` -docker run -it --env TAG=v1.1.1 --name=pandas-release -v pandas-release:/pandas-release pandas-release /bin/bash +docker run -it --env TAG=v1.1.2 --name=pandas-release -v pandas-release:/pandas-release pandas-release /bin/bash ``` The Docker release container should be now be running. @@ -48,8 +48,7 @@ if using an older Docker image make sure environments and pandas-release repo ar apt-get update && apt-get clean git -C /pandas-release pull --ff-only -# not so sure this should have been conda-forge channel -conda update -c conda-forge conda -y +conda update -n base conda -y conda env update -n base --file=/pandas-release/environment.yml ``` @@ -84,7 +83,7 @@ Create the Docker image for the sdist build, pip test and conda test containers ``` docker build -t pandas-build --no-cache . -docker build -t pandas-test --build-arg TAG=v1.1.1 -f docker-files/windows/build/Dockerfile . +docker build -t pandas-test --build-arg TAG=v1.1.2 -f docker-files/windows/build/Dockerfile . ``` ## Build the sdist @@ -107,7 +106,7 @@ docker run -it --name=pandas-pip-test -v pandas-release:/pandas-release pandas-t ln -s /pandas-release/pandas /pandas -./scripts/pip_test.sh /pandas/dist/pandas-1.1.1.tar.gz +./scripts/pip_test.sh /pandas/dist/pandas-1.1.2.tar.gz exit @@ -120,7 +119,7 @@ TODO: avoid need to re-type version below **change PANDAS_VERSION to the release version** ``` -docker run -it --name=pandas-conda-test --env PANDAS_VERSION=1.1.1 -v pandas-release:/pandas-release pandas-test /bin/bash +docker run -it --name=pandas-conda-test --env PANDAS_VERSION=1.1.2 -v pandas-release:/pandas-release pandas-test /bin/bash ln -s /pandas-release/pandas /pandas @@ -137,7 +136,7 @@ TODO: avoid need to enter specific filename below (maybe just copy contents of d **change filename to the release version** ``` -docker run -t --rm -v %cd%:/local -v pandas-release:/pandas-release pandas-release /bin/bash -c "cp /pandas-release/pandas/dist/pandas-1.1.1.tar.gz /local/" +docker run -t --rm -v %cd%:/local -v pandas-release:/pandas-release pandas-release /bin/bash -c "cp /pandas-release/pandas/dist/pandas-1.1.2.tar.gz /local/" ``` ## Push the Tag. From d5521abc3ac149a43f1457a0f421ee3f483d265c Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Mon, 5 Oct 2020 20:21:08 +0100 Subject: [PATCH 03/33] 1.1.2 -> 1.1.3 --- windows.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/windows.md b/windows.md index c43b497..0dc3d18 100644 --- a/windows.md +++ b/windows.md @@ -36,7 +36,7 @@ docker volume rm pandas-release **change TAG to the release version** ``` -docker run -it --env TAG=v1.1.2 --name=pandas-release -v pandas-release:/pandas-release pandas-release /bin/bash +docker run -it --env TAG=v1.1.3 --name=pandas-release -v pandas-release:/pandas-release pandas-release /bin/bash ``` The Docker release container should be now be running. @@ -83,7 +83,7 @@ Create the Docker image for the sdist build, pip test and conda test containers ``` docker build -t pandas-build --no-cache . -docker build -t pandas-test --build-arg TAG=v1.1.2 -f docker-files/windows/build/Dockerfile . +docker build -t pandas-test --build-arg TAG=v1.1.3 -f docker-files/windows/build/Dockerfile . ``` ## Build the sdist @@ -106,7 +106,7 @@ docker run -it --name=pandas-pip-test -v pandas-release:/pandas-release pandas-t ln -s /pandas-release/pandas /pandas -./scripts/pip_test.sh /pandas/dist/pandas-1.1.2.tar.gz +./scripts/pip_test.sh /pandas/dist/pandas-1.1.3.tar.gz exit @@ -119,7 +119,7 @@ TODO: avoid need to re-type version below **change PANDAS_VERSION to the release version** ``` -docker run -it --name=pandas-conda-test --env PANDAS_VERSION=1.1.2 -v pandas-release:/pandas-release pandas-test /bin/bash +docker run -it --name=pandas-conda-test --env PANDAS_VERSION=1.1.3 -v pandas-release:/pandas-release pandas-test /bin/bash ln -s /pandas-release/pandas /pandas @@ -136,7 +136,7 @@ TODO: avoid need to enter specific filename below (maybe just copy contents of d **change filename to the release version** ``` -docker run -t --rm -v %cd%:/local -v pandas-release:/pandas-release pandas-release /bin/bash -c "cp /pandas-release/pandas/dist/pandas-1.1.2.tar.gz /local/" +docker run -t --rm -v %cd%:/local -v pandas-release:/pandas-release pandas-release /bin/bash -c "cp /pandas-release/pandas/dist/pandas-1.1.3.tar.gz /local/" ``` ## Push the Tag. From ac09b986c107e549aea3f6922b07915b02c22e82 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Mon, 26 Oct 2020 16:57:09 +0000 Subject: [PATCH 04/33] updates to windows.md --- windows.md | 46 ++++++++++++++++------------------------------ 1 file changed, 16 insertions(+), 30 deletions(-) diff --git a/windows.md b/windows.md index 0dc3d18..88da319 100644 --- a/windows.md +++ b/windows.md @@ -7,10 +7,10 @@ Install Docker Ensure the following repositories are forked to your GitHub account - https://github.com/conda-forge/pandas-feedstock - https://github.com/MacPython/pandas-wheels - - https://github.com/pandas-dev/pandas + - https://github.com/pandas-dev/pandas Open an Anaconda Prompt - @@ -36,7 +36,7 @@ docker volume rm pandas-release **change TAG to the release version** ``` -docker run -it --env TAG=v1.1.3 --name=pandas-release -v pandas-release:/pandas-release pandas-release /bin/bash +docker run -it --env TAG=v1.1.4 --name=pandas-release -v pandas-release:/pandas-release pandas-release /bin/bash ``` The Docker release container should be now be running. @@ -83,11 +83,11 @@ Create the Docker image for the sdist build, pip test and conda test containers ``` docker build -t pandas-build --no-cache . -docker build -t pandas-test --build-arg TAG=v1.1.3 -f docker-files/windows/build/Dockerfile . +docker build -t pandas-test --build-arg TAG=v1.1.4 -f docker-files/windows/build/Dockerfile . ``` ## Build the sdist - ``` @@ -95,57 +95,43 @@ docker run --name=pandas-sdist-build -v pandas-release:/pandas-release pandas-te ``` ## Pip Tests - **change filename to the release version** ``` -docker run -it --name=pandas-pip-test -v pandas-release:/pandas-release pandas-test /bin/bash - -ln -s /pandas-release/pandas /pandas - -./scripts/pip_test.sh /pandas/dist/pandas-1.1.3.tar.gz - -exit - +docker run --name=pandas-pip-test -v pandas-release:/pandas-release pandas-test /bin/bash -c "ln -s /pandas-release/pandas /pandas;./scripts/pip_test.sh /pandas/dist/pandas-1.1.4.tar.gz" ``` ## Conda Tests - **change PANDAS_VERSION to the release version** ``` -docker run -it --name=pandas-conda-test --env PANDAS_VERSION=1.1.3 -v pandas-release:/pandas-release pandas-test /bin/bash - -ln -s /pandas-release/pandas /pandas - -conda build --numpy=1.17.3 --python=3.8 ./recipe --output-folder=/pandas/dist - -exit - +docker run --name=pandas-conda-test --env PANDAS_VERSION=1.1.4 -v pandas-release:/pandas-release pandas-test /bin/bash -c "ln -s /pandas-release/pandas /pandas;conda build --numpy=1.17.3 --python=3.8 ./recipe --output-folder=/pandas/dist" ``` ## Copy the sdist File from the Docker Volume to the Local Host. - **change filename to the release version** ``` -docker run -t --rm -v %cd%:/local -v pandas-release:/pandas-release pandas-release /bin/bash -c "cp /pandas-release/pandas/dist/pandas-1.1.3.tar.gz /local/" +docker run -t --rm -v %cd%:/local -v pandas-release:/pandas-release pandas-release /bin/bash -c "cp /pandas-release/pandas/dist/pandas-1.1.4.tar.gz /local/" ``` -## Push the Tag. +## Push the Tag. **No going back now.** Restart the release container. - ``` docker start pandas-release -i @@ -209,7 +195,7 @@ exit Copy the built doc files to host and manually inspect html and pdf docs. **first remove the local pandas-docs directory (just manually use file manager for now)** - @@ -218,7 +204,7 @@ docker run -t --rm -v %cd%:/local -v pandas-release:/pandas-release pandas-relea ``` ## Upload the Docs - From ccede2b077f45734fad05aaa98910021eff23e7f Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Tue, 27 Oct 2020 20:51:40 +0000 Subject: [PATCH 05/33] wip - add WSL 2 instructions --- README.md | 4 +-- windows-wsl.md | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+), 2 deletions(-) create mode 100644 windows-wsl.md diff --git a/README.md b/README.md index 03855a6..a5e7bd4 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ Release automation for pandas. -**Windows users should follow [these](./windows.md) steps.** +**Windows users should follow [these](./windows.md) steps or [these](./windows-wsl.md) steps for WSL 2 (experimental).** ## Steps to a release -- [ ] Manually update +- [ ] Manually update - [ ] `TAG` in `Makefile` - [ ] `GH_USERNAME` in `Makefile` diff --git a/windows-wsl.md b/windows-wsl.md new file mode 100644 index 0000000..eff5e8b --- /dev/null +++ b/windows-wsl.md @@ -0,0 +1,84 @@ +# README for MS Windows Users using WSL 2. + +## Preparing for Your First Release. + +see https://docs.docker.com/docker-for-windows/wsl/#prerequisites for prerequisites + +Ensure the following repositories are forked to your GitHub account + - https://github.com/pandas-dev/pandas-release + - https://github.com/conda-forge/pandas-feedstock + - https://github.com/MacPython/pandas-wheels + - https://github.com/pandas-dev/pandas + + +### Setting up WSL 2. + +Install Docker (This will activate WSL2) + +Install Ubuntu 20.04 LTS from the Windows Store + +Launch Ubuntu 20.04 LTS from the start menu to set-up for first use. + +Launch Docker desktop + +go to Settings > Resources > WSL Integration. + +You might see + +``` +You don't have any WSL 2 distro. Please convert a WSL 1 distro to WSL 2, or install a new distro and it will appear here. + +More info +``` + +click on More Info and follow steps. + +``` +PS C:\Users\simon> wsl -l -v + NAME STATE VERSION +* docker-desktop Running 2 + Ubuntu-20.04 Running 1 + docker-desktop-data Running 2 +PS C:\Users\simon> wsl --set-version Ubuntu-20.04 2 +Conversion in progress, this may take a few minutes... +For information on key differences with WSL 2 please visit https://aka.ms/wsl2 +Conversion complete. +PS C:\Users\simon> wsl --set-default-version 2 +For information on key differences with WSL 2 please visit https://aka.ms/wsl2 +PS C:\Users\simon> wsl --set-default Ubuntu-20.04 +PS C:\Users\simon> wsl -l -v + NAME STATE VERSION +* Ubuntu-20.04 Running 2 + docker-desktop Running 2 + docker-desktop-data Running 2 +PS C:\Users\simon> +``` + +### Preparing the release environment. + +Start Ubuntu 20.04 LTS + +configure git manually + +``` +git config --global user.email "" +git config --global user.name "" +``` + +or copy the configuration from windows. +``` +cp /mnt/c/Users//.gitconfig . +``` + +also copy your ssh config from windows and set permissions +``` +cp -r /mnt/c/Users//.ssh/ . +chmod 400 .ssh/id_rsa +``` + +clone your fork of the pandas-release repo and set upstream +``` +git clone git@github.com:/pandas-release.git +cd pandas-release +git remote add upstream https://github.com/pandas-dev/pandas-release.git +``` \ No newline at end of file From dfab0cf3e460731cdf47395d885d8e6f0cc3e7f8 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Wed, 28 Oct 2020 12:56:34 +0000 Subject: [PATCH 06/33] wip - add WSL 2 instructions --- Makefile | 2 +- windows-wsl.md | 22 +++++++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index c3d3cab..9b99949 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # TO EDIT -TAG ?= v1.1.0 +TAG ?= v1.1.4 GH_USERNAME ?= TomAugspurger PANDAS_VERSION=$(TAG:v%=%) diff --git a/windows-wsl.md b/windows-wsl.md index eff5e8b..c9ef4d2 100644 --- a/windows-wsl.md +++ b/windows-wsl.md @@ -81,4 +81,24 @@ clone your fork of the pandas-release repo and set upstream git clone git@github.com:/pandas-release.git cd pandas-release git remote add upstream https://github.com/pandas-dev/pandas-release.git -``` \ No newline at end of file +``` + +download conda from https://docs.conda.io/en/latest/miniconda.html#linux-installers and +install. +``` +cd +ln -s /mnt/c/Users//Downloads/ ~/downloads +sha256sum downloads/Miniconda3-latest-Linux-x86_64.sh +bash downloads/Miniconda3-latest-Linux-x86_64.sh +``` + +close terminal and reopen to activate conda and install pandas-release conda environment +``` +conda list +conda update conda +cd pandas-release +conda env create -f environment.yml +conda activate pandas-release +``` + +The linux environment is now configured on WSL. Now follow the steps in [README.md](./README.md) From e3cc626382d13c8e9edfa5c35d176f548600f8f7 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Fri, 30 Oct 2020 12:09:59 +0000 Subject: [PATCH 07/33] wip - add WSL 2 instructions --- Makefile | 2 +- windows-wsl.md | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 9b99949..a911193 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # TO EDIT TAG ?= v1.1.4 -GH_USERNAME ?= TomAugspurger +GH_USERNAME ?= simonjayhawkins PANDAS_VERSION=$(TAG:v%=%) PANDAS_BASE_VERSION=$(shell echo $(PANDAS_VERSION) | awk -F '.' '{OFS="."} { print $$1, $$2}') TARGZ=pandas-$(PANDAS_VERSION).tar.gz diff --git a/windows-wsl.md b/windows-wsl.md index c9ef4d2..049ed48 100644 --- a/windows-wsl.md +++ b/windows-wsl.md @@ -102,3 +102,20 @@ conda activate pandas-release ``` The linux environment is now configured on WSL. Now follow the steps in [README.md](./README.md) + +## View the documentation once built. + +first find the path to the browser executable, e.g. chrome +``` +find /mnt/c/ -name "chrome.exe" 2>/dev/null +``` + +then open index.html in the browser +``` +"/mnt/c/Program Files/Google/Chrome/Application/chrome.exe" pandas/doc/build/html/index.html +``` + +and the same for the pdf documentation +``` +"/mnt/c/Program Files/Google/Chrome/Application/chrome.exe" pandas/doc/build/latex/pandas.pdf +``` From 6582d1079e16c567117b5d9e896cf0f2cd4ef16e Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Wed, 25 Nov 2020 12:59:08 +0000 Subject: [PATCH 08/33] [wip] 1.1.5/1.2.0rc0 releases --- Dockerfile | 15 +++++++++++++++ Makefile | 22 +++++++++++----------- README.md | 46 ++++++++++++++++++++++------------------------ windows-wsl.md | 5 +++-- 4 files changed, 51 insertions(+), 37 deletions(-) diff --git a/Dockerfile b/Dockerfile index d06874e..55aef52 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,3 +6,18 @@ RUN apt-get update && \ RUN conda update conda -y \ && conda install -y conda-build conda-verify gcc_linux-64 gxx_linux-64 \ && conda clean --all + +# ARG USER_ID +# ARG GROUP_ID + +# RUN addgroup --gid $GROUP_ID user +# RUN adduser --disabled-password --gecos '' --uid $USER_ID --gid $GROUP_ID user + +# # https://github.com/ContinuumIO/docker-images/issues/151 +# RUN mkdir /opt/conda/envs/user && \ +# chgrp user /opt/conda/pkgs && \ +# chmod g+w /opt/conda/pkgs && \ +# touch /opt/conda/pkgs/urls.txt && \ +# chown user /opt/conda/envs/user /opt/conda/pkgs/urls.txt + +# USER user diff --git a/Makefile b/Makefile index a911193..876d10b 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,8 @@ # TO EDIT -TAG ?= v1.1.4 - +# TAG ?= v1.2.0rc0 +TAG ?= v1.1.5 GH_USERNAME ?= simonjayhawkins + PANDAS_VERSION=$(TAG:v%=%) PANDAS_BASE_VERSION=$(shell echo $(PANDAS_VERSION) | awk -F '.' '{OFS="."} { print $$1, $$2}') TARGZ=pandas-$(PANDAS_VERSION).tar.gz @@ -14,15 +15,12 @@ SHELL := /bin/bash # ----------------------------------------------------------------------------- init-repos: - git clone https://github.com/pandas-dev/pandas && git -C pandas remote rename origin upstream && git -C pandas remote add origin https://github.com/$(GH_USERNAME)/pandas - git clone https://github.com/conda-forge/pandas-feedstock && git -C pandas-feedstock remote rename origin upstream && git -C pandas-feedstock remote add origin https://github.com/$(GH_USERNAME)/pandas-feedstock - git clone --recursive https://github.com/MacPython/pandas-wheels && git -C pandas-wheels remote rename origin upstream && git -C pandas-wheels remote add origin https://github.com/$(GH_USERNAME)/pandas-wheels + git clone https://github.com/pandas-dev/pandas && git -C pandas remote rename origin upstream && git -C pandas remote add origin https://github.com/$(GH_USERNAME)/pandas + git clone https://github.com/MacPython/pandas-wheels && git -C pandas-wheels remote rename origin upstream && git -C pandas-wheels remote add origin https://github.com/$(GH_USERNAME)/pandas-wheels update-repos: git -C pandas checkout master && git -C pandas pull git -C pandas-wheels checkout master && git -C pandas-wheels pull - git -C pandas-feedstock checkout master && git -C pandas-feedstock pull - pushd pandas-wheels && git submodule update --recursive --remote && popd # ----------------------------------------------------------------------------- # Git Tag @@ -37,10 +35,11 @@ tag: # Builder Images # ----------------------------------------------------------------------------- -docker-image: pandas +docker-image: docker build -t pandas-build . - - + # docker build -t pandas-build \ + # --build-arg USER_ID=$(shell id -u) \ + # --build-arg GROUP_ID=$(shell id -g) . docker-doc: docker build -t pandas-docs -f docker-files/docs/Dockerfile . @@ -49,13 +48,14 @@ docker-doc: # sdist # ----------------------------------------------------------------------------- -pandas/dist/$(TARGZ): +sdist: docker run -it --rm \ --name=pandas-sdist-build \ -v ${CURDIR}/pandas:/pandas \ -v ${CURDIR}/scripts:/scripts \ pandas-build \ sh /scripts/build_sdist.sh + sudo chown -R $(shell id -u):$(shell id -g) pandas/dist/ # ----------------------------------------------------------------------------- # Tests diff --git a/README.md b/README.md index a5e7bd4..db4036e 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,11 @@ Release automation for pandas. ## Steps to a release +The `environment.yml` contains the local dependencies. You'll +also need docker. + +And fork pandas-feedstock and pandas-wheels to your GitHub account. + - [ ] Manually update - [ ] `TAG` in `Makefile` - [ ] `GH_USERNAME` in `Makefile` @@ -14,11 +19,6 @@ If running for the first time be sure to initialize repos make init-repos ``` -The `environment.yml` contains the local dependencies. You'll -also need docker. - -And fork pandas-feedstock and pandas-wheels to your GitHub account. - ``` # Update repos make update-repos @@ -30,7 +30,7 @@ make tag make docker-image docker-doc # Build the sdist -make pandas/dist/<>.tar.gz +make sdist # Final Pip and Conda tests. Do these in parallel. # You can optionally do make doc here as well @@ -41,6 +41,22 @@ make conda-test make push-tag ``` +Start the binary build. **For Mac users** you may need to download the GNU version of sed before running this scripts via `brew install gnu-sed` + +``` +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. + +``` +make doc +``` + 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". @@ -57,24 +73,6 @@ 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 -make conda-forge -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. - -``` -make doc -``` - Once the binaries finish, you'll need to manually upload the wheels to PyPI. Assuming the job which `make wheels` triggered on MacPython completed successfully (you may want to double check this https://anaconda.org/multibuild-wheels-staging/pandas/files) you can download a copy of the wheels locally. diff --git a/windows-wsl.md b/windows-wsl.md index 049ed48..98fc0f8 100644 --- a/windows-wsl.md +++ b/windows-wsl.md @@ -63,6 +63,7 @@ configure git manually ``` git config --global user.email "" git config --global user.name "" +git config --global pull.rebase false ``` or copy the configuration from windows. @@ -112,10 +113,10 @@ find /mnt/c/ -name "chrome.exe" 2>/dev/null then open index.html in the browser ``` -"/mnt/c/Program Files/Google/Chrome/Application/chrome.exe" pandas/doc/build/html/index.html +"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe" pandas/doc/build/html/index.html ``` and the same for the pdf documentation ``` -"/mnt/c/Program Files/Google/Chrome/Application/chrome.exe" pandas/doc/build/latex/pandas.pdf +"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe" pandas/doc/build/latex/pandas.pdf ``` From 2486d191db6d74cc0d55c0942e49b29a8c7cde95 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Sun, 29 Nov 2020 20:36:34 +0000 Subject: [PATCH 09/33] [wip] prep 1.2.0rc0 release --- Makefile | 12 ++++++++---- README.md | 17 +++++++---------- recipe/meta.yaml | 3 ++- scripts/pip_test.sh | 4 ++-- windows-wsl.md | 1 - 5 files changed, 19 insertions(+), 18 deletions(-) diff --git a/Makefile b/Makefile index 876d10b..58f5d5d 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ # TO EDIT -# TAG ?= v1.2.0rc0 -TAG ?= v1.1.5 +TAG ?= v1.2.0rc0 +# TAG ?= v1.1.5 GH_USERNAME ?= simonjayhawkins PANDAS_VERSION=$(TAG:v%=%) @@ -15,8 +15,12 @@ SHELL := /bin/bash # ----------------------------------------------------------------------------- init-repos: - git clone https://github.com/pandas-dev/pandas && git -C pandas remote rename origin upstream && git -C pandas remote add origin https://github.com/$(GH_USERNAME)/pandas - git clone https://github.com/MacPython/pandas-wheels && git -C pandas-wheels remote rename origin upstream && git -C pandas-wheels remote add origin https://github.com/$(GH_USERNAME)/pandas-wheels + git clone https://github.com/pandas-dev/pandas \ + && git -C pandas remote rename origin upstream \ + && git -C pandas remote add origin https://github.com/$(GH_USERNAME)/pandas + git clone https://github.com/MacPython/pandas-wheels \ + && git -C pandas-wheels remote rename origin upstream \ + && git -C pandas-wheels remote add origin https://github.com/$(GH_USERNAME)/pandas-wheels update-repos: git -C pandas checkout master && git -C pandas pull diff --git a/README.md b/README.md index db4036e..edd21b4 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ -Release automation for pandas. +# Release automation for pandas. -**Windows users should follow [these](./windows.md) steps or [these](./windows-wsl.md) steps for WSL 2 (experimental).** +**Windows users should follow [these](./windows-wsl.md) steps.** ## Steps to a release The `environment.yml` contains the local dependencies. You'll also need docker. -And fork pandas-feedstock and pandas-wheels to your GitHub account. +And fork pandas-wheels to your GitHub account. - [ ] Manually update - [ ] `TAG` in `Makefile` @@ -33,10 +33,13 @@ make docker-image docker-doc make 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 +# Docs. You can cheat and re-tag / rebuild these if needed. +make doc + +``` # Push the tag. No going back now. make push-tag ``` @@ -51,12 +54,6 @@ 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. - -``` -make doc -``` - 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". diff --git a/recipe/meta.yaml b/recipe/meta.yaml index bec166a..04bf5d0 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -29,10 +29,11 @@ requirements: test: requires: - pytest + - pytest-xdist - pytest-mock - hypothesis commands: - - python -c "import pandas; pandas.test(extra_args=['-m not clipboard', '--skip-slow', '--skip-network', '--skip-db'])" + - python -c "import pandas; pandas.test(extra_args=['-m not clipboard', '--skip-slow', '--skip-network', '--skip-db', '-n=2'])" about: home: http://pandas.pydata.org diff --git a/scripts/pip_test.sh b/scripts/pip_test.sh index d0555bc..81c3e24 100755 --- a/scripts/pip_test.sh +++ b/scripts/pip_test.sh @@ -2,10 +2,10 @@ set -e # Cython is *not* required here. -conda create -n pip-test -y python=3.7 numpy pytz python-dateutil pytest pytest-mock hypothesis nomkl +conda create -n pip-test -y python=3.7 numpy pytz python-dateutil pytest pytest-xdist pytest-mock hypothesis nomkl source activate pip-test python3 -m pip wheel --no-deps --wheel-dir=/pandas/dist $1 python3 -m pip install --no-deps --no-index --find-links=/pandas/dist --only-binary=pandas pandas -python3 -c "import pandas; pandas.test(extra_args=['-m not clipboard', '--skip-slow', '--skip-network', '--skip-db'])" +python3 -c "import pandas; pandas.test(extra_args=['-m not clipboard', '--skip-slow', '--skip-network', '--skip-db', '-n=2'])" diff --git a/windows-wsl.md b/windows-wsl.md index 98fc0f8..083a8d9 100644 --- a/windows-wsl.md +++ b/windows-wsl.md @@ -6,7 +6,6 @@ see https://docs.docker.com/docker-for-windows/wsl/#prerequisites for prerequisi Ensure the following repositories are forked to your GitHub account - https://github.com/pandas-dev/pandas-release - - https://github.com/conda-forge/pandas-feedstock - https://github.com/MacPython/pandas-wheels - https://github.com/pandas-dev/pandas From 893dcd22ecab2ddcc4c008279a73a5a83ba53a97 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Sat, 5 Dec 2020 17:07:31 +0000 Subject: [PATCH 10/33] [wip] prep 1.2.0rc0 release --- README.md | 42 ++++++++++++++++-------------------------- 1 file changed, 16 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index edd21b4..77cc75e 100644 --- a/README.md +++ b/README.md @@ -39,9 +39,17 @@ make conda-test # Docs. You can cheat and re-tag / rebuild these if needed. make doc -``` # Push the tag. No going back now. make push-tag + +# you may also need to create and tag a new branch, so for example: + +git checkout -b 1.2.x +git push upstream 1.2.x +git checkout master +git commit --allow-empty -m "Start 1.3.0" +git tag -a v1.3.0.dev0 -m 'DEV: Start 1.3.0' +git push upstream master --follow-tags ``` Start the binary build. **For Mac users** you may need to download the GNU version of sed before running this scripts via `brew install gnu-sed` @@ -50,26 +58,21 @@ Start the binary build. **For Mac users** you may need to download the GNU vers make wheels ``` -Open PRs for each of those. +Open a PR at https://github.com/MacPython/pandas-wheels/pulls. Note that `make wheels` actually pushes a job to MacPython to produce wheels which we will download later. +While the wheels are building, upload the built docs to the web server + +``` +make upload-doc +``` + 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. -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 -``` - Once the binaries finish, you'll need to manually upload the wheels to PyPI. Assuming the job which `make wheels` triggered on MacPython completed successfully (you may want to double check this https://anaconda.org/multibuild-wheels-staging/pandas/files) you can download a copy of the wheels locally. @@ -86,9 +89,6 @@ make upload-pypi Finalize the docs -``` -make upload-doc -``` To make sure /stable and the latest minor revision point to the new release run the following. @@ -106,16 +106,6 @@ goto announce. - [ ] Announce Mailing List - [ ] Announce Twitter ------ - -## Initial Setup - -``` -# 1. Initialize Git Repositories -make init-repos - -`````` - --- TODO: From ab38edf2c5e4d243e3a4029706b223b8dfbf619a Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Wed, 16 Dec 2020 14:44:05 +0000 Subject: [PATCH 11/33] [wip] prep 1.2.0rc0 release --- Makefile | 1 - README.md | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 58f5d5d..6dbd0de 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,5 @@ # TO EDIT TAG ?= v1.2.0rc0 -# TAG ?= v1.1.5 GH_USERNAME ?= simonjayhawkins PANDAS_VERSION=$(TAG:v%=%) diff --git a/README.md b/README.md index 77cc75e..72f9d28 100644 --- a/README.md +++ b/README.md @@ -44,12 +44,14 @@ make push-tag # you may also need to create and tag a new branch, so for example: +cd pandas git checkout -b 1.2.x git push upstream 1.2.x git checkout master git commit --allow-empty -m "Start 1.3.0" git tag -a v1.3.0.dev0 -m 'DEV: Start 1.3.0' git push upstream master --follow-tags +cd .. ``` Start the binary build. **For Mac users** you may need to download the GNU version of sed before running this scripts via `brew install gnu-sed` From 33d26bd0bed233b77047aa935e7f16a25ad64957 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Fri, 18 Dec 2020 10:05:09 +0000 Subject: [PATCH 12/33] remove windows host instructions (not WSL) --- docker-files/windows/Dockerfile | 23 --- docker-files/windows/build/Dockerfile | 7 - docker-files/windows/docs/Dockerfile | 24 --- windows.md | 258 -------------------------- 4 files changed, 312 deletions(-) delete mode 100644 docker-files/windows/Dockerfile delete mode 100644 docker-files/windows/build/Dockerfile delete mode 100644 docker-files/windows/docs/Dockerfile delete mode 100644 windows.md diff --git a/docker-files/windows/Dockerfile b/docker-files/windows/Dockerfile deleted file mode 100644 index 836f159..0000000 --- a/docker-files/windows/Dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -FROM continuumio/miniconda3:latest - -RUN apt-get update && \ - apt-get install -y make rsync && \ - apt-get clean - -RUN conda update conda -y - -RUN git clone https://github.com/pandas-dev/pandas-release - -RUN conda env update -n base --file=pandas-release/environment.yml - -ARG GH_USERNAME - -ENV GH_USERNAME=$GH_USERNAME - -WORKDIR pandas-release - -RUN make init-repos - -RUN git config --global user.email "pandas-dev@python.org" - -RUN git config --global user.name "Pandas Development Team" diff --git a/docker-files/windows/build/Dockerfile b/docker-files/windows/build/Dockerfile deleted file mode 100644 index 6679c51..0000000 --- a/docker-files/windows/build/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM pandas-build:latest - -ARG TAG - -ENV TAG=$TAG - -WORKDIR /pandas-release diff --git a/docker-files/windows/docs/Dockerfile b/docker-files/windows/docs/Dockerfile deleted file mode 100644 index c42e81c..0000000 --- a/docker-files/windows/docs/Dockerfile +++ /dev/null @@ -1,24 +0,0 @@ -FROM continuumio/miniconda3:latest - -RUN apt-get update && apt-get install -y texlive-full xclip \ - && apt-get clean - -# TODO: don't need to clone complete repository, just need environment.yml -RUN git clone https://github.com/pandas-dev/pandas.git - -# following maybe necessary to prevent segfaults -RUN conda update -n base -c defaults conda - -# this is also done in scripts\build-docs.sh (should be done earlier but won't use cached build and texlive is big download) -RUN apt-get update && apt-get install -y build-essential && apt-get clean - -# NOTE: This builds environment from master will update for correct branch in container -RUN conda env create --file=/pandas/environment.yml --name=pandas - -RUN rm -r pandas - -RUN mkdir -p /pandas-release/pandas - -RUN ln -s /pandas-release/pandas /pandas - -WORKDIR /pandas-release diff --git a/windows.md b/windows.md deleted file mode 100644 index 88da319..0000000 --- a/windows.md +++ /dev/null @@ -1,258 +0,0 @@ -# README for MS Windows Users - -## Preparing for Your First Release - -Install Docker - -Ensure the following repositories are forked to your GitHub account - - https://github.com/conda-forge/pandas-feedstock - - https://github.com/MacPython/pandas-wheels - - https://github.com/pandas-dev/pandas - -Open an Anaconda Prompt - - -Build a Docker image with the conda base environment configured and repositories initialized. - -**change GH_USERNAME to your Github username** - -``` -docker build -t pandas-release --build-arg GH_USERNAME=simonjayhawkins -f docker-files/windows/Dockerfile . -``` - -## Preparing the Release Environment for a New Release - -Next we will prepare a Docker container for interactive use during the release process and copy the repositories -from the Docker image into a Docker volume for building the distribution and testing. - -To start with a clean volume. (after a previous release) - -``` -docker volume rm pandas-release -``` - -**change TAG to the release version** - -``` -docker run -it --env TAG=v1.1.4 --name=pandas-release -v pandas-release:/pandas-release pandas-release /bin/bash -``` - -The Docker release container should be now be running. - -if using an older Docker image make sure environments and pandas-release repo are up-to-date. - - -``` -apt-get update && apt-get clean -git -C /pandas-release pull --ff-only - -conda update -n base conda -y - -conda env update -n base --file=/pandas-release/environment.yml -``` - -Make sure the repos are up-to-date. - -``` -make update-repos -``` - -Tag the release. (This doesn't push the tag) - -``` -make tag -``` - -Stop the container. - -``` -exit -``` - -## Preparing the Build and Test Environment - - -Create the Docker image for the sdist build, pip test and conda test containers - -**change TAG to the release version** - - - -``` -docker build -t pandas-build --no-cache . - -docker build -t pandas-test --build-arg TAG=v1.1.4 -f docker-files/windows/build/Dockerfile . -``` - -## Build the sdist - -``` -docker run --name=pandas-sdist-build -v pandas-release:/pandas-release pandas-test /bin/bash -c "ln -s /pandas-release/pandas /pandas;./scripts/build_sdist.sh" -``` - -## Pip Tests - - -**change filename to the release version** - -``` -docker run --name=pandas-pip-test -v pandas-release:/pandas-release pandas-test /bin/bash -c "ln -s /pandas-release/pandas /pandas;./scripts/pip_test.sh /pandas/dist/pandas-1.1.4.tar.gz" -``` - -## Conda Tests - - **change PANDAS_VERSION to the release version** - -``` -docker run --name=pandas-conda-test --env PANDAS_VERSION=1.1.4 -v pandas-release:/pandas-release pandas-test /bin/bash -c "ln -s /pandas-release/pandas /pandas;conda build --numpy=1.17.3 --python=3.8 ./recipe --output-folder=/pandas/dist" -``` - -## Copy the sdist File from the Docker Volume to the Local Host. - -**change filename to the release version** - -``` -docker run -t --rm -v %cd%:/local -v pandas-release:/pandas-release pandas-release /bin/bash -c "cp /pandas-release/pandas/dist/pandas-1.1.4.tar.gz /local/" -``` - -## Push the Tag. - -**No going back now.** - -Restart the release container. - -``` -docker start pandas-release -i - -make push-tag - -exit -``` - -## Create New Branch -(not needed for Patch release) - -On pandas you should also now create and tag a new branch, so - -... - -## Create a Release - -Now manually create a release https://github.com/pandas-dev/pandas/releases - -Make sure to upload the sdist as the "binary". Conda-forge uses it. - - -## Start the Binary Builds. - -Restart the release container. - -``` -docker start pandas-release -i - -apt-get install vim - -make conda-forge - -make wheels - -exit -``` - -Open PRs for each of those. - -Note that `make wheels` actually pushes a job to MacPython to produce wheels which we will download later. - - -## Build the Docs. -You can cheat and re-tag / rebuild these if needed. -``` -docker build -t pandas-docs -f docker-files\windows\docs\Dockerfile . - -docker run -it --name=pandas-docs -v pandas-release:/pandas-release pandas-docs /bin/bash - -conda activate pandas - -conda env update -n pandas --file=/pandas/environment.yml - -./scripts/build-docs.sh - -exit -``` - -Copy the built doc files to host and manually inspect html and pdf docs. - -**first remove the local pandas-docs directory (just manually use file manager for now)** - -``` -docker run -t --rm -v %cd%:/local -v pandas-release:/pandas-release pandas-release /bin/bash -c "cp -r /pandas-release/pandas/doc/build/ /local/pandas-docs" -``` - -## Upload the Docs - -Copy ssh key and config into release container and restart container. - -``` -docker cp %userprofile%/.ssh pandas-release:/root/.ssh - -docker start pandas-release -i - -chmod 400 ~/.ssh/id_rsa - -make upload-doc - -exit -``` - -## Upload the Binarys to PyPI - -Once the binaries finish, you'll need to manually upload the wheels to PyPI. - -Assuming the job which `make wheels` triggered on MacPython completed successfully (you may want to double check this https://anaconda.org/multibuild-wheels-staging/pandas/files) you can download a copy of the wheels locally. - -``` -docker start pandas-release -i - -make download-wheels - -make upload-pypi - -exit -``` - -## Finalize the Docs - -Do this once the wheels are available on PyPI. - -``` -docker start pandas-release -i - -make link-stable - -make link-version - -exit -``` - -# Announce - -- [ ] Announce Mailing List -- [ ] Announce Twitter From 8a8e5b121ad22943f06fdf0693bd40940720504a Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Mon, 21 Dec 2020 19:13:35 +0000 Subject: [PATCH 13/33] [wip] prep 1.2.0 release --- .gitignore | 1 + Makefile | 2 +- scripts/tag.py | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 7ef70e1..bcf6d33 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ pandas-wheels pandas-feedstock pandas dist +.vscode diff --git a/Makefile b/Makefile index 6dbd0de..dd78f2d 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # TO EDIT -TAG ?= v1.2.0rc0 +TAG ?= v1.2.0 GH_USERNAME ?= simonjayhawkins PANDAS_VERSION=$(TAG:v%=%) diff --git a/scripts/tag.py b/scripts/tag.py index 4820436..b699486 100755 --- a/scripts/tag.py +++ b/scripts/tag.py @@ -22,7 +22,7 @@ def check_tag(tag): def checkout(tag): - if tag[-1] == '0' or 'rc' in tag: + if 'rc0' in tag: # off master base = 'master' else: From 851f300507b30a27d3fe55d7781e7f37d097a98d Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Fri, 1 Jan 2021 16:23:50 +0000 Subject: [PATCH 14/33] changes for 1.2.0 release --- scripts/push-tag.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/push-tag.py b/scripts/push-tag.py index 89c75b0..231f701 100755 --- a/scripts/push-tag.py +++ b/scripts/push-tag.py @@ -22,11 +22,12 @@ def get_branch(tag): >>> get_branch("v0.24.0rc0") 'master' >>> get_branch("v0.24.0") - 'master' + '0.24.x' >>> get_branch("v0.24.1") + '0.24.x' """ ver = version.parse(tag.lstrip('v')) - if ver.base_version[-1] == '0': + if 'rc0' in tag: # off master base = 'master' else: From 512ca6dab948a4b4d4c75209b266178a4a82faf2 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Wed, 20 Jan 2021 11:08:29 +0000 Subject: [PATCH 15/33] [wip] release 1.2.1 --- Makefile | 4 +-- README.md | 1 + docker-files/docs/Dockerfile | 5 ++++ scripts/build-docs.sh | 1 + windows-wsl.md | 53 ++++-------------------------------- 5 files changed, 15 insertions(+), 49 deletions(-) diff --git a/Makefile b/Makefile index dd78f2d..4f6a50a 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # TO EDIT -TAG ?= v1.2.0 +TAG ?= v1.2.1 GH_USERNAME ?= simonjayhawkins PANDAS_VERSION=$(TAG:v%=%) @@ -91,7 +91,7 @@ doc: -v ${CURDIR}/pandas:/pandas \ -v ${CURDIR}/scripts/build-docs.sh:/build-docs.sh \ pandas-docs \ - /build-docs.sh + /bin/bash upload-doc: diff --git a/README.md b/README.md index 72f9d28..cab4365 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ make conda-test # Docs. You can cheat and re-tag / rebuild these if needed. make doc +./build-docs.sh # Push the tag. No going back now. make push-tag diff --git a/docker-files/docs/Dockerfile b/docker-files/docs/Dockerfile index 9646d79..4109144 100644 --- a/docker-files/docs/Dockerfile +++ b/docker-files/docs/Dockerfile @@ -2,7 +2,12 @@ FROM continuumio/miniconda3:latest RUN apt-get update && apt-get install -y texlive-full xclip \ && apt-get clean + +RUN apt-get update && apt-get install -y build-essential \ + && apt-get clean + COPY pandas /pandas + RUN conda env create --file=/pandas/environment.yml --name=pandas \ && . activate pandas \ && conda uninstall -y --force pandas \ diff --git a/scripts/build-docs.sh b/scripts/build-docs.sh index 7991753..658e93f 100755 --- a/scripts/build-docs.sh +++ b/scripts/build-docs.sh @@ -15,6 +15,7 @@ python setup.py build_ext -i -j 4 cd /pandas/doc +./make.py clean ./make.py html ./make.py zip_html ./make.py latex_forced ||: diff --git a/windows-wsl.md b/windows-wsl.md index 083a8d9..f8d13cd 100644 --- a/windows-wsl.md +++ b/windows-wsl.md @@ -2,62 +2,21 @@ ## Preparing for Your First Release. -see https://docs.docker.com/docker-for-windows/wsl/#prerequisites for prerequisites +Install Docker Ensure the following repositories are forked to your GitHub account - https://github.com/pandas-dev/pandas-release - https://github.com/MacPython/pandas-wheels - https://github.com/pandas-dev/pandas +see https://docs.microsoft.com/en-us/windows/wsl/install-win10 for Windows Subsystem for Linux installation instructions -### Setting up WSL 2. - -Install Docker (This will activate WSL2) - -Install Ubuntu 20.04 LTS from the Windows Store - -Launch Ubuntu 20.04 LTS from the start menu to set-up for first use. - -Launch Docker desktop - -go to Settings > Resources > WSL Integration. - -You might see - -``` -You don't have any WSL 2 distro. Please convert a WSL 1 distro to WSL 2, or install a new distro and it will appear here. - -More info -``` - -click on More Info and follow steps. - -``` -PS C:\Users\simon> wsl -l -v - NAME STATE VERSION -* docker-desktop Running 2 - Ubuntu-20.04 Running 1 - docker-desktop-data Running 2 -PS C:\Users\simon> wsl --set-version Ubuntu-20.04 2 -Conversion in progress, this may take a few minutes... -For information on key differences with WSL 2 please visit https://aka.ms/wsl2 -Conversion complete. -PS C:\Users\simon> wsl --set-default-version 2 -For information on key differences with WSL 2 please visit https://aka.ms/wsl2 -PS C:\Users\simon> wsl --set-default Ubuntu-20.04 -PS C:\Users\simon> wsl -l -v - NAME STATE VERSION -* Ubuntu-20.04 Running 2 - docker-desktop Running 2 - docker-desktop-data Running 2 -PS C:\Users\simon> -``` ### Preparing the release environment. Start Ubuntu 20.04 LTS -configure git manually +either configure git manually ``` git config --global user.email "" @@ -107,15 +66,15 @@ The linux environment is now configured on WSL. Now follow the steps in [README. first find the path to the browser executable, e.g. chrome ``` -find /mnt/c/ -name "chrome.exe" 2>/dev/null +find /mnt/c/ -name "msedge.exe" 2>/dev/null ``` then open index.html in the browser ``` -"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe" pandas/doc/build/html/index.html +"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe" pandas/doc/build/html/index.html ``` and the same for the pdf documentation ``` -"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe" pandas/doc/build/latex/pandas.pdf +"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe" pandas/doc/build/latex/pandas.pdf ``` From 5cbdd73ebc77744f8ab126619bfe35905b675e31 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Sun, 7 Feb 2021 11:48:26 +0000 Subject: [PATCH 16/33] update for 1.2.2 --- Makefile | 2 +- windows-wsl.md | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 4f6a50a..d2373b6 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # TO EDIT -TAG ?= v1.2.1 +TAG ?= v1.2.2 GH_USERNAME ?= simonjayhawkins PANDAS_VERSION=$(TAG:v%=%) diff --git a/windows-wsl.md b/windows-wsl.md index f8d13cd..16bfb51 100644 --- a/windows-wsl.md +++ b/windows-wsl.md @@ -64,7 +64,9 @@ The linux environment is now configured on WSL. Now follow the steps in [README. ## View the documentation once built. -first find the path to the browser executable, e.g. chrome +Note: The Linux filesystem is accessible using File Explorer from the Dev Channel of the Windows Insider Program. + +otherwise first find the path to the browser executable, e.g. Microsoft Edge ``` find /mnt/c/ -name "msedge.exe" 2>/dev/null ``` From 91a1926ff57c5e3e4daaefeaa1bd67fab1b88c05 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Sat, 13 Feb 2021 09:58:03 +0000 Subject: [PATCH 17/33] update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cab4365..43550ce 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ make conda-test # Docs. You can cheat and re-tag / rebuild these if needed. make doc ./build-docs.sh +exit # Push the tag. No going back now. make push-tag From 8c21c1e02c50f2150b8a2bc02a3feb567a53be57 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Tue, 2 Mar 2021 09:09:47 +0000 Subject: [PATCH 18/33] release 1.2.3 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index d2373b6..a579c65 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # TO EDIT -TAG ?= v1.2.2 +TAG ?= v1.2.3 GH_USERNAME ?= simonjayhawkins PANDAS_VERSION=$(TAG:v%=%) From e9e5f21eef8ae341524ba3daae05de18793153c3 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Sat, 10 Apr 2021 10:53:54 +0100 Subject: [PATCH 19/33] update TAG to v1.2.4 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a579c65..6dc2c23 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # TO EDIT -TAG ?= v1.2.3 +TAG ?= v1.2.4 GH_USERNAME ?= simonjayhawkins PANDAS_VERSION=$(TAG:v%=%) From c8b68dee93bb70fa031a2f5124a52d1f984225d8 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Sun, 13 Jun 2021 15:25:24 +0100 Subject: [PATCH 20/33] update for v1.3.0rc1 --- Makefile | 2 +- README.md | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 6dc2c23..9df6991 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # TO EDIT -TAG ?= v1.2.4 +TAG ?= v1.3.0rc1 GH_USERNAME ?= simonjayhawkins PANDAS_VERSION=$(TAG:v%=%) diff --git a/README.md b/README.md index 43550ce..71eea86 100644 --- a/README.md +++ b/README.md @@ -47,11 +47,11 @@ make push-tag # you may also need to create and tag a new branch, so for example: cd pandas -git checkout -b 1.2.x -git push upstream 1.2.x +git checkout -b 1.3.x +git push upstream 1.3.x git checkout master -git commit --allow-empty -m "Start 1.3.0" -git tag -a v1.3.0.dev0 -m 'DEV: Start 1.3.0' +git commit --allow-empty -m "Start 1.4.0" +git tag -a v1.4.0.dev0 -m 'DEV: Start 1.4.0' git push upstream master --follow-tags cd .. ``` @@ -96,6 +96,8 @@ Finalize the docs To make sure /stable and the latest minor revision point to the new release run the following. +**DO NOT DO THIS STEP FOR A RELEASE CANDIDATE** + ``` make link-stable make link-version From 54d0118b9dd7157d66bd02212fd61c626f6c4d4f Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Wed, 16 Jun 2021 16:53:41 +0100 Subject: [PATCH 21/33] updates for conda-forge PR --- Makefile | 5 +++++ README.md | 22 +++++++++++++++++----- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 9df6991..546b1da 100644 --- a/Makefile +++ b/Makefile @@ -20,10 +20,15 @@ init-repos: git clone https://github.com/MacPython/pandas-wheels \ && git -C pandas-wheels remote rename origin upstream \ && git -C pandas-wheels remote add origin https://github.com/$(GH_USERNAME)/pandas-wheels + git clone https://github.com/conda-forge/pandas-feedstock \ + && git -C pandas-feedstock remote rename origin upstream \ + && git -C pandas-feedstock remote add origin https://github.com/$(GH_USERNAME)/pandas-feedstock + update-repos: git -C pandas checkout master && git -C pandas pull git -C pandas-wheels checkout master && git -C pandas-wheels pull + git -C pandas-feedstock checkout master && git -C pandas-feedstock pull # ----------------------------------------------------------------------------- # Git Tag diff --git a/README.md b/README.md index 71eea86..1609c27 100644 --- a/README.md +++ b/README.md @@ -72,11 +72,6 @@ While the wheels are building, upload the built docs to the web server make upload-doc ``` -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. - Once the binaries finish, you'll need to manually upload the wheels to PyPI. Assuming the job which `make wheels` triggered on MacPython completed successfully (you may want to double check this https://anaconda.org/multibuild-wheels-staging/pandas/files) you can download a copy of the wheels locally. @@ -85,6 +80,17 @@ Assuming the job which `make wheels` triggered on MacPython completed successful make download-wheels ``` +if rc0, create version link for the docs to use in the github release announcement + +``` +make link-version +``` + +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. + Upload the wheels and sdist ``` @@ -103,6 +109,12 @@ make link-stable make link-version ``` +if rc we need to manually create a PR since the conda-forge bot does not do this automatically on the dev branch. + +``` +make conda-forge +``` + goto announce. From 83c86dfb4e925fc6b5394f41c8549673a3a9e4b5 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Sat, 24 Jul 2021 13:42:23 +0100 Subject: [PATCH 22/33] update for 1.3.1 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 546b1da..936a785 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # TO EDIT -TAG ?= v1.3.0rc1 +TAG ?= v1.3.1 GH_USERNAME ?= simonjayhawkins PANDAS_VERSION=$(TAG:v%=%) From 043d7992257374e6731d7d83b42b5c968e8e0e99 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Wed, 22 Sep 2021 11:45:50 +0100 Subject: [PATCH 23/33] update for 1.3.3 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 936a785..b0c6e3b 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # TO EDIT -TAG ?= v1.3.1 +TAG ?= v1.3.3 GH_USERNAME ?= simonjayhawkins PANDAS_VERSION=$(TAG:v%=%) From 5e0b063aa80ec83f889c09dc723728037fd0956e Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Wed, 20 Oct 2021 13:48:11 +0100 Subject: [PATCH 24/33] update for 1.3.4 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index b0c6e3b..1a7d612 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # TO EDIT -TAG ?= v1.3.3 +TAG ?= v1.3.4 GH_USERNAME ?= simonjayhawkins PANDAS_VERSION=$(TAG:v%=%) From 42f6d16749d078c176b2132deba706a8dbf5ada6 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Sun, 7 Nov 2021 13:08:11 +0000 Subject: [PATCH 25/33] add conda package cache for doc container build --- Makefile | 7 ++----- README.md | 9 +++++++-- docker-files/docs/Dockerfile | 8 +------- scripts/build-docs.sh | 10 +++------- 4 files changed, 13 insertions(+), 21 deletions(-) diff --git a/Makefile b/Makefile index 1a7d612..49214c0 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # TO EDIT -TAG ?= v1.3.4 +TAG ?= v1.3.5 GH_USERNAME ?= simonjayhawkins PANDAS_VERSION=$(TAG:v%=%) @@ -45,11 +45,8 @@ tag: docker-image: docker build -t pandas-build . - # docker build -t pandas-build \ - # --build-arg USER_ID=$(shell id -u) \ - # --build-arg GROUP_ID=$(shell id -g) . docker-doc: - docker build -t pandas-docs -f docker-files/docs/Dockerfile . + DOCKER_BUILDKIT=1 docker build --progress=plain -t pandas-docs -f docker-files/docs/Dockerfile . # ----------------------------------------------------------------------------- diff --git a/README.md b/README.md index 1609c27..562b8e0 100644 --- a/README.md +++ b/README.md @@ -27,9 +27,10 @@ make update-repos make tag # Build the doc and test images -make docker-image docker-doc +make docker-image +make docker-doc # seperate terminal - takes 10-20 mins to solve env -# Build the sdist +# Build the sdist (can do this in parallel with building docker-doc image above) make sdist # Final Pip and Conda tests. Do these in parallel. @@ -41,6 +42,10 @@ make doc ./build-docs.sh exit +# Visually check docs +python -m http.server --directory pandas/doc/build/html/ +python -m http.server --directory pandas/doc/build/latex/ + # Push the tag. No going back now. make push-tag diff --git a/docker-files/docs/Dockerfile b/docker-files/docs/Dockerfile index 4109144..12a032e 100644 --- a/docker-files/docs/Dockerfile +++ b/docker-files/docs/Dockerfile @@ -3,12 +3,6 @@ FROM continuumio/miniconda3:latest RUN apt-get update && apt-get install -y texlive-full xclip \ && apt-get clean -RUN apt-get update && apt-get install -y build-essential \ - && apt-get clean - COPY pandas /pandas -RUN conda env create --file=/pandas/environment.yml --name=pandas \ - && . activate pandas \ - && conda uninstall -y --force pandas \ - || true python setup.py build_ext -j 4 +RUN --mount=type=cache,target=/opt/conda/pkgs conda env create --file=/pandas/environment.yml --name=pandas diff --git a/scripts/build-docs.sh b/scripts/build-docs.sh index 658e93f..3cbcb27 100755 --- a/scripts/build-docs.sh +++ b/scripts/build-docs.sh @@ -4,14 +4,10 @@ set -e source activate pandas conda uninstall -y --force pandas ||: -# this should have been built by pip-test -# ugh that's 3.7, this is 3.6. boooooo -# actually, can't really do that, since we upload the -# dist folder to PyPI, and we don't want to upload this one... -# python3 -m pip install --no-deps --no-index --find-links=/pandas/dist --only-binary=pandas pandas -apt-get update && apt-get install -y build-essential cd /pandas -python setup.py build_ext -i -j 4 + +python setup.py clean +python setup.py build_ext -j 4 cd /pandas/doc From 14f386a6f3fc86f6a230e6bc37ca12ea05fee837 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Fri, 26 Nov 2021 21:19:10 +0000 Subject: [PATCH 26/33] fix doc build deleting sdist --- scripts/build-docs.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/build-docs.sh b/scripts/build-docs.sh index 3cbcb27..0d9898c 100755 --- a/scripts/build-docs.sh +++ b/scripts/build-docs.sh @@ -6,8 +6,7 @@ conda uninstall -y --force pandas ||: cd /pandas -python setup.py clean -python setup.py build_ext -j 4 +python setup.py build_ext -i -j 4 cd /pandas/doc From 8d3c6a248c5e63020e0a319e39629447086be312 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Mon, 3 Jan 2022 09:24:27 +0000 Subject: [PATCH 27/33] v1.4.0rc0 prep --- Makefile | 2 +- scripts/pip_test.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 49214c0..0481143 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # TO EDIT -TAG ?= v1.3.5 +TAG ?= v1.4.0rc0 GH_USERNAME ?= simonjayhawkins PANDAS_VERSION=$(TAG:v%=%) diff --git a/scripts/pip_test.sh b/scripts/pip_test.sh index 81c3e24..3d75c7b 100755 --- a/scripts/pip_test.sh +++ b/scripts/pip_test.sh @@ -2,7 +2,7 @@ set -e # Cython is *not* required here. -conda create -n pip-test -y python=3.7 numpy pytz python-dateutil pytest pytest-xdist pytest-mock hypothesis nomkl +conda create -n pip-test -y python=3.8 numpy pytz python-dateutil pytest pytest-xdist pytest-mock hypothesis nomkl source activate pip-test From 477807de4e387468a11d08bf453c3db5571aab38 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Mon, 10 Jan 2022 10:54:40 +0000 Subject: [PATCH 28/33] 1.4.0rc release --- Makefile | 4 ++-- README.md | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 0481143..43ca573 100644 --- a/Makefile +++ b/Makefile @@ -121,8 +121,8 @@ conda-forge: wheels: - rm -rf pandas/dist/pandas-$(PANDAS_VERSION)-cp37m-linux_x86_64.whl - rm -rf pandas/dist/pandas-$(PANDAS_VERSION)-cp37-cp37m-linux_x86_64.whl + rm -rf pandas/dist/pandas-$(PANDAS_VERSION)-cp38m-linux_x86_64.whl + rm -rf pandas/dist/pandas-$(PANDAS_VERSION)-cp38-cp38m-linux_x86_64.whl ./scripts/wheels.sh $(TAG) $(GH_USERNAME) diff --git a/README.md b/README.md index 562b8e0..1760cd0 100644 --- a/README.md +++ b/README.md @@ -52,11 +52,11 @@ make push-tag # you may also need to create and tag a new branch, so for example: cd pandas -git checkout -b 1.3.x -git push upstream 1.3.x +git checkout -b 1.4.x +git push upstream 1.4.x git checkout master -git commit --allow-empty -m "Start 1.4.0" -git tag -a v1.4.0.dev0 -m 'DEV: Start 1.4.0' +git commit --allow-empty -m "Start 1.5.0" +git tag -a v1.5.0.dev0 -m 'DEV: Start 1.5.0' git push upstream master --follow-tags cd .. ``` From d28823eacf5a10da3a81ad731bd1e6ce01aeeb78 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Wed, 19 Jan 2022 10:36:53 +0000 Subject: [PATCH 29/33] v1.4.0 prep --- Makefile | 4 ++-- README.md | 4 ++-- docker-files/docs/Dockerfile | 6 +++++- scripts/push-tag.py | 6 +++--- scripts/tag.py | 4 ++-- 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 43ca573..f233f63 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # TO EDIT -TAG ?= v1.4.0rc0 +TAG ?= v1.4.0 GH_USERNAME ?= simonjayhawkins PANDAS_VERSION=$(TAG:v%=%) @@ -26,7 +26,7 @@ init-repos: update-repos: - git -C pandas checkout master && git -C pandas pull + git -C pandas checkout main && git -C pandas pull git -C pandas-wheels checkout master && git -C pandas-wheels pull git -C pandas-feedstock checkout master && git -C pandas-feedstock pull diff --git a/README.md b/README.md index 1760cd0..4ac9725 100644 --- a/README.md +++ b/README.md @@ -54,10 +54,10 @@ make push-tag cd pandas git checkout -b 1.4.x git push upstream 1.4.x -git checkout master +git checkout main git commit --allow-empty -m "Start 1.5.0" git tag -a v1.5.0.dev0 -m 'DEV: Start 1.5.0' -git push upstream master --follow-tags +git push upstream main --follow-tags cd .. ``` diff --git a/docker-files/docs/Dockerfile b/docker-files/docs/Dockerfile index 12a032e..12c7119 100644 --- a/docker-files/docs/Dockerfile +++ b/docker-files/docs/Dockerfile @@ -5,4 +5,8 @@ RUN apt-get update && apt-get install -y texlive-full xclip \ COPY pandas /pandas -RUN --mount=type=cache,target=/opt/conda/pkgs conda env create --file=/pandas/environment.yml --name=pandas +RUN --mount=type=cache,target=/opt/conda/pkgs conda update conda -n base -y + +RUN --mount=type=cache,target=/opt/conda/pkgs conda install mamba -n base -c conda-forge -y + +RUN --mount=type=cache,target=/opt/conda/pkgs mamba env create --file=/pandas/environment.yml --name=pandas diff --git a/scripts/push-tag.py b/scripts/push-tag.py index 231f701..c3897e4 100755 --- a/scripts/push-tag.py +++ b/scripts/push-tag.py @@ -20,7 +20,7 @@ def check_tag(tag): def get_branch(tag): """ >>> get_branch("v0.24.0rc0") - 'master' + 'main' >>> get_branch("v0.24.0") '0.24.x' >>> get_branch("v0.24.1") @@ -28,8 +28,8 @@ def get_branch(tag): """ ver = version.parse(tag.lstrip('v')) if 'rc0' in tag: - # off master - base = 'master' + # off main + base = 'main' else: base = '.'.join([tag[1:].rsplit('.', 1)[0], 'x']) diff --git a/scripts/tag.py b/scripts/tag.py index b699486..d8e7372 100755 --- a/scripts/tag.py +++ b/scripts/tag.py @@ -23,8 +23,8 @@ def check_tag(tag): def checkout(tag): if 'rc0' in tag: - # off master - base = 'master' + # off main + base = 'main' else: base = '.'.join([tag[1:].rsplit('.', 1)[0], 'x']) From d2e88cc13e2479c08699cc8c093414b1990a3905 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Sat, 22 Jan 2022 15:38:36 +0000 Subject: [PATCH 30/33] update Makefile --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index f233f63..39f84d1 100644 --- a/Makefile +++ b/Makefile @@ -123,6 +123,7 @@ conda-forge: wheels: rm -rf pandas/dist/pandas-$(PANDAS_VERSION)-cp38m-linux_x86_64.whl rm -rf pandas/dist/pandas-$(PANDAS_VERSION)-cp38-cp38m-linux_x86_64.whl + rm -rf pandas/dist/pandas-$(PANDAS_VERSION)-cp38-cp38-linux_x86_64.whl ./scripts/wheels.sh $(TAG) $(GH_USERNAME) From fe83a5d21e632a8846ad45d411defbd7fab63118 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Sat, 2 Apr 2022 08:29:45 +0100 Subject: [PATCH 31/33] 1.4.1 release --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 39f84d1..b295dac 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # TO EDIT -TAG ?= v1.4.0 +TAG ?= v1.4.1 GH_USERNAME ?= simonjayhawkins PANDAS_VERSION=$(TAG:v%=%) From 3c94d7194fda35e4c3619ed562b4b80e62b5eeb4 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Wed, 6 Apr 2022 13:39:31 +0100 Subject: [PATCH 32/33] v1.4.2 release --- Makefile | 4 ++-- scripts/conda-forge.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index b295dac..f328bb9 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # TO EDIT -TAG ?= v1.4.1 +TAG ?= v1.4.2 GH_USERNAME ?= simonjayhawkins PANDAS_VERSION=$(TAG:v%=%) @@ -28,7 +28,7 @@ init-repos: update-repos: git -C pandas checkout main && git -C pandas pull git -C pandas-wheels checkout master && git -C pandas-wheels pull - git -C pandas-feedstock checkout master && git -C pandas-feedstock pull + git -C pandas-feedstock checkout main && git -C pandas-feedstock pull # ----------------------------------------------------------------------------- # Git Tag diff --git a/scripts/conda-forge.sh b/scripts/conda-forge.sh index 4d5c890..010db5b 100755 --- a/scripts/conda-forge.sh +++ b/scripts/conda-forge.sh @@ -22,7 +22,7 @@ git remote set-url origin https://github.com/${GH_USERNAME}/pandas-feedstock if [[ ${PANDAS_VERSION} == *"rc"* ]]; then git checkout dev else - git checkout master + git checkout main fi git pull upstream From 1ff36886e8797ac0b051efbca6b6063681278b43 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Wed, 15 Jun 2022 18:20:03 +0100 Subject: [PATCH 33/33] v1.4.3 release prep --- Makefile | 4 ++-- recipe/meta.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index f328bb9..b9db32a 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # TO EDIT -TAG ?= v1.4.2 +TAG ?= v1.4.3 GH_USERNAME ?= simonjayhawkins PANDAS_VERSION=$(TAG:v%=%) @@ -74,7 +74,7 @@ conda-test: -v ${CURDIR}/pandas:/pandas \ -v ${CURDIR}/recipe:/recipe \ pandas-build \ - sh -c "conda build --numpy=1.17.3 --python=3.8 /recipe --output-folder=/pandas/dist" + sh -c "conda build --numpy=1.17.3 --python=3.8 /recipe --output-folder=/pandas/dist -c conda-forge" pip-test: pandas/dist/$(TARGZ) docker run -it --rm \ diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 04bf5d0..676a1cf 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -18,7 +18,7 @@ requirements: host: - python - pip - - cython >=0.29.13 + - cython >=0.29.30, <3 - numpy run: - python