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

Create new release #39

Closed
gdvalderrama opened this issue Jul 31, 2023 · 12 comments · Fixed by #200
Closed

Create new release #39

gdvalderrama opened this issue Jul 31, 2023 · 12 comments · Fixed by #200
Assignees
Labels
management Project management

Comments

@gdvalderrama
Copy link

Looks like new versions have been released, but not pushed to pypi.
The latest change there is from over 3 years ago.

@Nusnus
Copy link
Member

Nusnus commented Jul 31, 2023

Hey there, the new pytest-celery 1.0.0 is still under active development and is not ready for the public at the current phase so the package would be updated as soon as it makes sense :)

@auvipy
Copy link
Member

auvipy commented Aug 2, 2023

can we first start with a 0.5.0/0.9.0 something like that before we release v1.0.0? i mean a bit more of an iterative approach?

@Nusnus
Copy link
Member

Nusnus commented Aug 4, 2023

There are still fundamental issues to progress with before it will be usable.
I'm definitely onboard with iterative development, but I prefer to start with 1.0.0 having an MVP codebase and move forward from there.

The main challenge is finding the correct S.O.L.I.D design that allows growth over iterative development so I can only implement the minimum for v1.0.0 and over time with the community we'll be able to extend the functionality.

Lastly, to avoid upgrading the entire test environment we have decided to somehow allow v0.0.0 co-exist with the new v1.0.0, having v1.0.0 only be used for new smoke tests at the moment, which is another technical challenge that we need to overcome as I have not solved it completely yet.

Due to the above, it is wiser to invest the time required to solve these technical and engineering problems as it will lay the foundation for years to come potentially, which is why I'm not rushing it.

@auvipy
Copy link
Member

auvipy commented Aug 4, 2023

make sense. thanks for clarifying

@Nusnus
Copy link
Member

Nusnus commented Jan 14, 2024

@gdvalderrama

The latest change there is from over 3 years ago.

@fako

maintainer indicating he's "taking his time" for three years now.

It seems there’s a misunderstanding about the development timeline of the pytest-celery project.

May 6, 2021 (v0.0.0)

The pytest-celery project was used as a tool to link the celery.contrib functionality under an official pytest plugin.
The celery.contrib is the defacto testing infrastructure for celery’s unit/integration test suites.

This means there was no “actual project” to maintain, nor did the 3y have a special meaning.
The infrastructure behind the plugin was just another package under the celery repo, and was maintained as such.

Nobody was “taking his time”, is what I am trying to say.

Dec 19, 2022

@thedrow has commented:

@auvipy @Nusnus is going to take the lead on the project. I already explained to him what needs to be done.

~ Feb-March, 2023

I have initiated the development of a new pytest-celery plugin, one that will encapsulate the previous infrastructure and expand on it with new tools for more advanced testing without conflicting with the existing codebase.

Mid-Jan, 2024 (Today)

I am happy to share the first beta version.
The version contains the MVP requirements for the new smoke tests in Celery.
The smoke tests are the defacto acceptance tests for the new plugin, which means that from here to the final release, there will be mostly documentation, bug fixes, and such work that fits the scope of the development stage.


@gdvalderrama

Looks like new versions have been released, but not pushed to pypi.

pip install pytest-celery==1.0.0b1
Collecting pytest-celery==1.0.0b1
  Using cached pytest_celery-1.0.0b1-py3-none-any.whl.metadata (1.3 kB)
Collecting celery<6,>=5 (from celery[pymemcache,redis]<6,>=5->pytest-celery==1.0.0b1)
  Using cached celery-5.3.6-py3-none-any.whl.metadata (21 kB)
Collecting docker<8.0.0,>=7.0.0 (from pytest-celery==1.0.0b1)
  Using cached docker-7.0.0-py3-none-any.whl.metadata (3.5 kB)
Collecting psutil<6.0.0,>=5.9.7 (from pytest-celery==1.0.0b1)
  Using cached psutil-5.9.7-cp38-abi3-macosx_11_0_arm64.whl.metadata (21 kB)
Collecting pytest-docker-tools<4.0.0,>=3.1.3 (from pytest-celery==1.0.0b1)
  Using cached pytest_docker_tools-3.1.3-py3-none-any.whl (24 kB)
Collecting retry<0.10.0,>=0.9.2 (from pytest-celery==1.0.0b1)
  Using cached retry-0.9.2-py2.py3-none-any.whl (8.0 kB)
Collecting setuptools<70.0.0,>=69.0.3 (from pytest-celery==1.0.0b1)
  Using cached setuptools-69.0.3-py3-none-any.whl.metadata (6.3 kB)
Collecting billiard<5.0,>=4.2.0 (from celery<6,>=5->celery[pymemcache,redis]<6,>=5->pytest-celery==1.0.0b1)
  Using cached billiard-4.2.0-py3-none-any.whl.metadata (4.4 kB)
Collecting click-didyoumean>=0.3.0 (from celery<6,>=5->celery[pymemcache,redis]<6,>=5->pytest-celery==1.0.0b1)
  Using cached click_didyoumean-0.3.0-py3-none-any.whl (2.7 kB)
Collecting click-plugins>=1.1.1 (from celery<6,>=5->celery[pymemcache,redis]<6,>=5->pytest-celery==1.0.0b1)
  Using cached click_plugins-1.1.1-py2.py3-none-any.whl (7.5 kB)
Collecting click-repl>=0.2.0 (from celery<6,>=5->celery[pymemcache,redis]<6,>=5->pytest-celery==1.0.0b1)
  Using cached click_repl-0.3.0-py3-none-any.whl.metadata (3.6 kB)
Collecting click<9.0,>=8.1.2 (from celery<6,>=5->celery[pymemcache,redis]<6,>=5->pytest-celery==1.0.0b1)
  Using cached click-8.1.7-py3-none-any.whl.metadata (3.0 kB)
Collecting kombu<6.0,>=5.3.4 (from celery<6,>=5->celery[pymemcache,redis]<6,>=5->pytest-celery==1.0.0b1)
  Using cached kombu-5.3.5-py3-none-any.whl.metadata (3.1 kB)
Collecting python-dateutil>=2.8.2 (from celery<6,>=5->celery[pymemcache,redis]<6,>=5->pytest-celery==1.0.0b1)
  Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting tzdata>=2022.7 (from celery<6,>=5->celery[pymemcache,redis]<6,>=5->pytest-celery==1.0.0b1)
  Using cached tzdata-2023.4-py2.py3-none-any.whl.metadata (1.4 kB)
Collecting vine<6.0,>=5.1.0 (from celery<6,>=5->celery[pymemcache,redis]<6,>=5->pytest-celery==1.0.0b1)
  Using cached vine-5.1.0-py3-none-any.whl.metadata (2.7 kB)
Collecting python-memcached==1.59 (from celery[pymemcache,redis]<6,>=5->pytest-celery==1.0.0b1)
  Using cached python_memcached-1.59-py2.py3-none-any.whl (16 kB)
Collecting redis!=4.5.5,<6.0.0,>=4.5.2 (from celery[pymemcache,redis]<6,>=5->pytest-celery==1.0.0b1)
  Using cached redis-5.0.1-py3-none-any.whl.metadata (8.9 kB)
Collecting six>=1.4.0 (from python-memcached==1.59->celery[pymemcache,redis]<6,>=5->pytest-celery==1.0.0b1)
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting packaging>=14.0 (from docker<8.0.0,>=7.0.0->pytest-celery==1.0.0b1)
  Using cached packaging-23.2-py3-none-any.whl.metadata (3.2 kB)
Collecting requests>=2.26.0 (from docker<8.0.0,>=7.0.0->pytest-celery==1.0.0b1)
  Using cached requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
Collecting urllib3>=1.26.0 (from docker<8.0.0,>=7.0.0->pytest-celery==1.0.0b1)
  Using cached urllib3-2.1.0-py3-none-any.whl.metadata (6.4 kB)
Collecting pytest>=6.0.1 (from pytest-docker-tools<4.0.0,>=3.1.3->pytest-celery==1.0.0b1)
  Using cached pytest-7.4.4-py3-none-any.whl.metadata (7.9 kB)
Collecting decorator>=3.4.2 (from retry<0.10.0,>=0.9.2->pytest-celery==1.0.0b1)
  Using cached decorator-5.1.1-py3-none-any.whl (9.1 kB)
Collecting py<2.0.0,>=1.4.26 (from retry<0.10.0,>=0.9.2->pytest-celery==1.0.0b1)
  Using cached py-1.11.0-py2.py3-none-any.whl (98 kB)
Collecting prompt-toolkit>=3.0.36 (from click-repl>=0.2.0->celery<6,>=5->celery[pymemcache,redis]<6,>=5->pytest-celery==1.0.0b1)
  Using cached prompt_toolkit-3.0.43-py3-none-any.whl.metadata (6.5 kB)
Collecting amqp<6.0.0,>=5.1.1 (from kombu<6.0,>=5.3.4->celery<6,>=5->celery[pymemcache,redis]<6,>=5->pytest-celery==1.0.0b1)
  Using cached amqp-5.2.0-py3-none-any.whl.metadata (8.9 kB)
Collecting iniconfig (from pytest>=6.0.1->pytest-docker-tools<4.0.0,>=3.1.3->pytest-celery==1.0.0b1)
  Using cached iniconfig-2.0.0-py3-none-any.whl (5.9 kB)
Collecting pluggy<2.0,>=0.12 (from pytest>=6.0.1->pytest-docker-tools<4.0.0,>=3.1.3->pytest-celery==1.0.0b1)
  Using cached pluggy-1.3.0-py3-none-any.whl.metadata (4.3 kB)
Collecting charset-normalizer<4,>=2 (from requests>=2.26.0->docker<8.0.0,>=7.0.0->pytest-celery==1.0.0b1)
  Using cached charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl.metadata (33 kB)
Collecting idna<4,>=2.5 (from requests>=2.26.0->docker<8.0.0,>=7.0.0->pytest-celery==1.0.0b1)
  Using cached idna-3.6-py3-none-any.whl.metadata (9.9 kB)
Collecting certifi>=2017.4.17 (from requests>=2.26.0->docker<8.0.0,>=7.0.0->pytest-celery==1.0.0b1)
  Using cached certifi-2023.11.17-py3-none-any.whl.metadata (2.2 kB)
Collecting wcwidth (from prompt-toolkit>=3.0.36->click-repl>=0.2.0->celery<6,>=5->celery[pymemcache,redis]<6,>=5->pytest-celery==1.0.0b1)
  Using cached wcwidth-0.2.13-py2.py3-none-any.whl.metadata (14 kB)
Using cached pytest_celery-1.0.0b1-py3-none-any.whl (35 kB)
Using cached celery-5.3.6-py3-none-any.whl (422 kB)
Using cached docker-7.0.0-py3-none-any.whl (147 kB)
Using cached psutil-5.9.7-cp38-abi3-macosx_11_0_arm64.whl (246 kB)
Using cached setuptools-69.0.3-py3-none-any.whl (819 kB)
Using cached billiard-4.2.0-py3-none-any.whl (86 kB)
Using cached click-8.1.7-py3-none-any.whl (97 kB)
Using cached click_repl-0.3.0-py3-none-any.whl (10 kB)
Using cached kombu-5.3.5-py3-none-any.whl (200 kB)
Using cached packaging-23.2-py3-none-any.whl (53 kB)
Using cached pytest-7.4.4-py3-none-any.whl (325 kB)
Using cached redis-5.0.1-py3-none-any.whl (250 kB)
Using cached requests-2.31.0-py3-none-any.whl (62 kB)
Using cached tzdata-2023.4-py2.py3-none-any.whl (346 kB)
Using cached urllib3-2.1.0-py3-none-any.whl (104 kB)
Using cached vine-5.1.0-py3-none-any.whl (9.6 kB)
Using cached amqp-5.2.0-py3-none-any.whl (50 kB)
Using cached certifi-2023.11.17-py3-none-any.whl (162 kB)
Using cached charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl (119 kB)
Using cached idna-3.6-py3-none-any.whl (61 kB)
Using cached pluggy-1.3.0-py3-none-any.whl (18 kB)
Using cached prompt_toolkit-3.0.43-py3-none-any.whl (386 kB)
Using cached wcwidth-0.2.13-py2.py3-none-any.whl (34 kB)
Installing collected packages: wcwidth, vine, urllib3, tzdata, six, setuptools, redis, py, psutil, prompt-toolkit, pluggy, packaging, iniconfig, idna, decorator, click, charset-normalizer, certifi, billiard, retry, requests, python-memcached, python-dateutil, pytest, click-repl, click-plugins, click-didyoumean, amqp, kombu, docker, pytest-docker-tools, celery, pytest-celery
Successfully installed amqp-5.2.0 billiard-4.2.0 celery-5.3.6 certifi-2023.11.17 charset-normalizer-3.3.2 click-8.1.7 click-didyoumean-0.3.0 click-plugins-1.1.1 click-repl-0.3.0 decorator-5.1.1 docker-7.0.0 idna-3.6 iniconfig-2.0.0 kombu-5.3.5 packaging-23.2 pluggy-1.3.0 prompt-toolkit-3.0.43 psutil-5.9.7 py-1.11.0 pytest-7.4.4 pytest-celery-1.0.0b1 pytest-docker-tools-3.1.3 python-dateutil-2.8.2 python-memcached-1.59 redis-5.0.1 requests-2.31.0 retry-0.9.2 setuptools-69.0.3 six-1.16.0 tzdata-2023.4 urllib3-2.1.0 vine-5.1.0 wcwidth-0.2.13
pip freeze | grep pytest-celery
pytest-celery==1.0.0b1

@Nusnus Nusnus self-assigned this Jan 14, 2024
@Nusnus Nusnus added the management Project management label Jan 14, 2024
@cclauss
Copy link
Contributor

cclauss commented Feb 4, 2024

Blocked by #177

The unmaintained dependency pytest-lazy-fixture as discussed at #177 (comment) is preventing upgrading to the current version of pytest.

I attempted to remedy this by removing the syntactic sugar that pytest-lazy-fixture enables but was unsuccessful.

@Nusnus
Copy link
Member

Nusnus commented Feb 4, 2024

Blocked by #177

The unmaintained dependency pytest-lazy-fixture as discussed at #177 (comment) is preventing upgrading to the current version of pytest.

I attempted to remedy this by removing the syntactic sugar that pytest-lazy-fixture enables but was unsuccessful.

Please take note this is still in the first beta stage.
There are a few more blockers before the first RC.

That being said, thank you for finding & reporting it. This WAS NOT on my list, so it’s a useful addition.

@kloczek
Copy link

kloczek commented Feb 13, 2024

Is it anything more on outstanding list before final 1.0.0 version? 🤔

@Nusnus
Copy link
Member

Nusnus commented Feb 13, 2024

@kloczek

Is it anything more on outstanding list before final 1.0.0 version? 🤔

Just finishing the documentation which I am busy writing 24/7 these days (documenting 11 months back of work dear god 😅): https://pytest-celery.readthedocs.io/
And, of course, any bug I find until then.

So, in terms of progress, it is feature-complete for v1.0.0. Documentation @ ~33%.
That being said, I have an interesting hot-enhancement that I will add if I get some spare time (changing the worker pool easily) but besides that there’s nothing else planned.

BTW, v1.0.0b2 released just now 🥳

Lastly, there are already some draft plans for v1.1.0 - support for code coverage for the tested containers, but that’s for another day.

@Nusnus
Copy link
Member

Nusnus commented Mar 21, 2024

Release Candidate out!
v1.0.0rc1

That being said, I have an interesting hot-enhancement that I will add if I get some spare time (changing the worker pool easily) but besides that there’s nothing else planned.

Done as well, included in the release candidate + examples + documentation.

Check out the Milestones page for the timeline of the next releases.

@auvipy @gdvalderrama @cclauss @kloczek

@Nusnus
Copy link
Member

Nusnus commented Mar 21, 2024

Blocked by #177

The unmaintained dependency pytest-lazy-fixture as discussed at #177 (comment) is preventing upgrading to the current version of pytest.

I attempted to remedy this by removing the syntactic sugar that pytest-lazy-fixture enables but was unsuccessful.

Forgot to mention this was also fixed :)

@Nusnus
Copy link
Member

Nusnus commented Apr 12, 2024

v1.0.0 is officially released 🎉

@auvipy @gdvalderrama @cclauss @kloczek @willsthompson @fordhoka @fako

Spread the word :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
management Project management
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

5 participants