html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue
https://github.com/pydata/xarray/pull/5244#issuecomment-833593243,https://api.github.com/repos/pydata/xarray/issues/5244,833593243,MDEyOklzc3VlQ29tbWVudDgzMzU5MzI0Mw==,14808389,2021-05-06T15:00:32Z,2021-05-06T15:00:32Z,MEMBER,it seems PyPI does not allow packages with versions like `0.17.1.dev108+gf5e4fd5f`. I'm not sure if it's possible to have `setuptools-scm` create a different version. Should we run this only when a tag is created?,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,873842812
https://github.com/pydata/xarray/pull/5244#issuecomment-833541994,https://api.github.com/repos/pydata/xarray/issues/5244,833541994,MDEyOklzc3VlQ29tbWVudDgzMzU0MTk5NA==,14808389,2021-05-06T13:53:27Z,2021-05-06T13:53:27Z,MEMBER,I'd say let's resolve https://github.com/pydata/xarray/pull/5244#discussion_r627412101 and https://github.com/pydata/xarray/pull/5244#discussion_r627373825 first,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,873842812
https://github.com/pydata/xarray/pull/5244#issuecomment-833537209,https://api.github.com/repos/pydata/xarray/issues/5244,833537209,MDEyOklzc3VlQ29tbWVudDgzMzUzNzIwOQ==,226037,2021-05-06T13:47:39Z,2021-05-06T13:48:37Z,MEMBER,Any consensus on whether this is ready to merge? We should start the release process shortly (once the US wakes up).,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,873842812
https://github.com/pydata/xarray/pull/5244#issuecomment-833523795,https://api.github.com/repos/pydata/xarray/issues/5244,833523795,MDEyOklzc3VlQ29tbWVudDgzMzUyMzc5NQ==,14808389,2021-05-06T13:29:18Z,2021-05-06T13:29:18Z,MEMBER,"> should make sure to get the necessary tokens from PyPI and TestPyPI
I grabbed the `xarray` name on TestPyPI so `TESTPYPI_TOKEN` is already set","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,873842812
https://github.com/pydata/xarray/pull/5244#issuecomment-833482609,https://api.github.com/repos/pydata/xarray/issues/5244,833482609,MDEyOklzc3VlQ29tbWVudDgzMzQ4MjYwOQ==,13301940,2021-05-06T12:27:53Z,2021-05-06T12:32:57Z,MEMBER,"Here's the workflow visualization graph. Let me know if the current job dependency is okay...

Also, someone with admin permissions on PyPI should make sure to get the necessary tokens from PyPI and TestPyPI and set them on this repo.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,873842812
https://github.com/pydata/xarray/pull/5244#issuecomment-832596969,https://api.github.com/repos/pydata/xarray/issues/5244,832596969,MDEyOklzc3VlQ29tbWVudDgzMjU5Njk2OQ==,5821660,2021-05-05T10:56:06Z,2021-05-05T10:56:06Z,MEMBER,"> This should be pretty easy if we have separate jobs for building / testing / uploads (where the upload to `pypi` is skipped unless a release was created)
I've doing this for a while now in one of my projects. Not sure if it will be used much, but users could easily install versions from `test.pypi.org` and check it. I'm not saying that pip-installing from github is too complex. Another aspect is, that you could even install the package again after upload to check that everything works. But that may be overkill.","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,873842812
https://github.com/pydata/xarray/pull/5244#issuecomment-832591142,https://api.github.com/repos/pydata/xarray/issues/5244,832591142,MDEyOklzc3VlQ29tbWVudDgzMjU5MTE0Mg==,14808389,2021-05-05T10:43:49Z,2021-05-05T10:43:49Z,MEMBER,"from #5232:
@kmuehlbauer
> Why not always upload pushes to master to `test.pypi.org`?
@andersy005, what do you think? This should be pretty easy if we have separate jobs for building / testing / uploads (where the upload to `pypi` is skipped unless a release was created)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,873842812
https://github.com/pydata/xarray/pull/5244#issuecomment-832574270,https://api.github.com/repos/pydata/xarray/issues/5244,832574270,MDEyOklzc3VlQ29tbWVudDgzMjU3NDI3MA==,226037,2021-05-05T10:13:15Z,2021-05-05T10:13:15Z,MEMBER,"@andersy005 are you OK to try and merge this ""as is"" sometime today and then help us making a couple of tests on `test.pypi.prg` before doing the real release tomorrow?
(worst case: we release the old way)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,873842812
https://github.com/pydata/xarray/pull/5244#issuecomment-831511929,https://api.github.com/repos/pydata/xarray/issues/5244,831511929,MDEyOklzc3VlQ29tbWVudDgzMTUxMTkyOQ==,14808389,2021-05-03T20:25:32Z,2021-05-03T20:25:32Z,MEMBER,"if it's possible, it might still make sense to create and test the wheels for uploaded `v0.x.y` tags in a job and only upload to PyPI if a release was created through the webpage (which would save us from re-creating a release if the build failed).","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,873842812
https://github.com/pydata/xarray/pull/5244#issuecomment-831509902,https://api.github.com/repos/pydata/xarray/issues/5244,831509902,MDEyOklzc3VlQ29tbWVudDgzMTUwOTkwMg==,13301940,2021-05-03T20:21:51Z,2021-05-03T20:21:51Z,MEMBER,"> @andersy005 I'm curious, why do you go with multiple jobs within the workflow, and using artifacts to transfer state between them, rather than multiple steps in a single job?
I have a tendency to split a workflow into multiple jobs because it makes reasoning about the workflow easy (at least for me :)) . However, I think using a single job here would reduce overhead since the logic isn't complex to warrant a need for multiple jobs... ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,873842812
https://github.com/pydata/xarray/pull/5244#issuecomment-831449400,https://api.github.com/repos/pydata/xarray/issues/5244,831449400,MDEyOklzc3VlQ29tbWVudDgzMTQ0OTQwMA==,221526,2021-05-03T18:34:12Z,2021-05-03T18:34:12Z,CONTRIBUTOR,"@andersy005 I'm curious, why do you go with multiple jobs within the workflow, and using artifacts to transfer state between them, rather than multiple steps in a single job?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,873842812
https://github.com/pydata/xarray/pull/5244#issuecomment-831408105,https://api.github.com/repos/pydata/xarray/issues/5244,831408105,MDEyOklzc3VlQ29tbWVudDgzMTQwODEwNQ==,13301940,2021-05-03T17:23:03Z,2021-05-03T17:23:03Z,MEMBER,"> I _think_ both of those should be script-able as actions:
>
> > git merge upstream/stable
>
> This could run on each commit to stable, opening a PR to master if required, I think
>
> > Update the stable branch (used by ReadTheDocs) and switch back to master:
>
> This could run on each tag, like the push to PyPI.
>
> There's one action of ""update the release tag in RTD"" which may still be manual
>
> (though no need to do them now, I generally have tried to make the process 25% easier each release, I think these incremental PRs are ideal)
👍🏽 for addressing these in separate PRs","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,873842812
https://github.com/pydata/xarray/pull/5244#issuecomment-830866994,https://api.github.com/repos/pydata/xarray/issues/5244,830866994,MDEyOklzc3VlQ29tbWVudDgzMDg2Njk5NA==,5635139,2021-05-02T20:28:15Z,2021-05-02T20:28:15Z,MEMBER,"I _think_ both of those should be script-able as actions:
> git merge upstream/stable
This could run on each commit to stable, opening a PR to master if required, I think
> Update the stable branch (used by ReadTheDocs) and switch back to master:
This could run on each tag, like the push to PyPI.
There's one action of ""update the release tag in RTD"" which may still be manual
(though no need to do them now, I generally have tried to make the process 25% easier each release, I think these incremental PRs are ideal)","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,873842812
https://github.com/pydata/xarray/pull/5244#issuecomment-830865392,https://api.github.com/repos/pydata/xarray/issues/5244,830865392,MDEyOklzc3VlQ29tbWVudDgzMDg2NTM5Mg==,13301940,2021-05-02T20:15:05Z,2021-05-02T20:15:52Z,MEMBER,"> We could change the ""how to release"" steps too, in another PR is fine (or I can do it).
+1 for updating the how to release doc in another PR... I should point out that there are steps that this action doesn't address. For instance, step 2 and step 16
> 2. Confirm there are no commits on stable that are not yet merged
> ([ref](https://github.com/pydata/xarray/pull/4440)):
> ```
> git merge upstream/stable
> ```
>
> 16. Update the stable branch (used by ReadTheDocs) and switch back to master:
> ```sh
> git switch stable
> git rebase master
> git push --force upstream stable
> git switch master
> ```
How should we address these steps as part of the semi-automated release? Ccing @pydata/xarray in case they want to chime in ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,873842812
https://github.com/pydata/xarray/pull/5244#issuecomment-830746026,https://api.github.com/repos/pydata/xarray/issues/5244,830746026,MDEyOklzc3VlQ29tbWVudDgzMDc0NjAyNg==,5635139,2021-05-02T05:28:04Z,2021-05-02T05:28:04Z,MEMBER,"Excellent! Thanks a lot @andersy005 .
We could change the ""how to release"" steps too, in another PR is fine (or I can do it).
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,873842812