Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add pyramid_retry to cookiecutters #3042

Closed
5 of 6 tasks
mmerickel opened this issue May 15, 2017 · 11 comments
Closed
5 of 6 tasks

add pyramid_retry to cookiecutters #3042

mmerickel opened this issue May 15, 2017 · 11 comments

Comments

@mmerickel
Copy link
Member

mmerickel commented May 15, 2017

EDIT:

  • Create a new branch for each cookiecutter called "1.8-branch"
  • Create a new branch for each cookiecutter called "1.9-branch"
  • Create a new branch for each cookiecutter called "latest" and keep it synced to the latest release of pyramid (currently 1.8-branch).
  • Update Pyramid 1.8 docs to use --checkout 1.8-branch
  • Update Pyramid 1.9 docs to use --checkout 1.9-branch
  • Update Pyramid master docs to use --checkout master upon final release of 1.9

pyramid_retry requires Pyramid > 1.9a1. This causes an issue with the independently deployed cookiecutters. There are two options:

  1. Add a "release": ["stable", "master"] option to cookiecutter.json. This isn't super great because it's not easy to install master in a consistent way just because of how setup.py works.

  2. Just add an unstable/dev branch to the cookiecutters and push the changes there. When 1.9.0 is released we can merge that branch into master and just do a coordinated release.

Choice 2 is what I would choose but I wanted to be clear what the options were in my view.

Finally, we need to update any relevant parts of the tutorials - only in 1.9 (not 1.7 / 1.8). This basically means the cookiecutter only works with 1.9. We could consider snapshotting the cookiecutter into a 1.8-branch such that people could use the old cookiecutter if they really wanted to and we wouldn't be obligated to keep the master branch working with 1.8.

@stevepiercy
Copy link
Member

I prefer option 2 as well.

I would like to see cookiecutter branches aligned with the releases of Pyramid: 1.8, 1.9 (soon to be released), and master/unstable/dev. That would also help with keeping Pyramid docs aligned and consistent.

@mmerickel
Copy link
Member Author

So ideally we keep the latest docs using the latest cookiecutter (master). If we want the 1.8 docs to keep working we may want to update our RELEASING info to change the cookiecutter links on old branches.

  • Update the old version of the docs in these 3-ish places to use cookiecutter gh:Pylons/pyramid-cookiecutter-starter --checkout 1.8-branch.

  • Make a new 1.9-branch in each cookiecutter if one is not created already.

We could also consider adding pyramid < 1.9 to the setup.py of the 1.8-branch cookiecutter but I'm not sure we need to go this far.

@stevepiercy
Copy link
Member

Agreed on updating RELEASING.txt.

Thinking out loud:

  • I'm reading an "old" version of the docs, say 1.8 for discussion.
  • cookiecutter gh:Pylons/pyramid-cookiecutter-starter --checkout 1.8-branch.
  • env/bin/pip install -e ".[testing]" installs the latest released version of Pyramid 1.9.
  • My Pyramid 1.8 docs don't align with what I'm seeing.

I think we need to update the CC's setup.py after all.

During the time that a version is in alpha/beta status, taking 1.9 as an example, we want to add pyramid_retry to the cookiecutters. On which branch of the CC's, and when, do we make such a change?

@mmerickel
Copy link
Member Author

My thinking is that in general changes to pyramid are bw compatible so if 1.9 is installed things should still work. That's an issue with the old scaffolds as well but in a less likely way since you had to install pyramid first to install the scaffold but when you went to install pyramid again it could get a different version.

Anyway as for your last question we could make the change at any time. Just update the docs on master in such a way that they assume the cookiecutter is coming from master even if it isn't.

@mmerickel
Copy link
Member Author

mmerickel commented Jun 9, 2017

The actual pyramid_retry changes should be:

  • Add config.include('pyramid_retry') next to pyramid_tm, wherever that is in the particular cookiecutter.
  • Add pyramid_retry to setup.py.
  • Add retry.attempts = 3 to development.ini and production.ini.
  • Set pyramid >= 1.9a in setup.py.

@stevepiercy
Copy link
Member

To clarify, would those changes would go on branches next and 1.9-branch for all three cookiecutters?

@mmerickel
Copy link
Member Author

They go on master which will be snapshotted to 1.9-branch prior to release.

@stevepiercy
Copy link
Member

I'll leave it off of pyramid-cookiecutter-starter because there is no pyramid_tm in its setup.py, unless you say add it in.

@mmerickel
Copy link
Member Author

Correct the starter doesn't need pyramid_retry.

@stevepiercy
Copy link
Member

Both the above PRs passed CI and are ready for review.

@mmerickel
Copy link
Member Author

Fixed in #3082 and related cookiecutter issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants