atoum / atoum

The modern, simple and intuitive PHP unit testing framework.
http://atoum.org
Other
1.44k stars 147 forks source link

The road to 3.0 #641

Closed jubianchi closed 7 years ago

jubianchi commented 7 years ago

Everything in the following list is under discussion, feel free to send feedback on anything. Additionally, If you see something missing, please tell me.

Grummfy commented 7 years ago

615 I'm not sure we need to wait before the end of 3.0.0 before releasing something, even is something called atoum-2-fixed-for-7. We can at least provide something downloadable.

Thing to questions:

jubianchi commented 7 years ago

Thanks for your feedback @Grummfy!

I added some things you proposed to the list.

I'm not sure we need to wait before the end of 3.0.0 before releasing something

No, we won't wait until the end before releasing. We will be able to issue beta releases when we want thanks to the #640 ;)

interest of the --test-it in the phar ?

This is useful when someone downloads the phar, he can quickly check if everything is OK on his PHP setup.

Grummfy commented 7 years ago

by the way I think we should add some extra stuff to help contribution like a phpcode style checker

Hywan commented 7 years ago

@jubianchi Did you think about PSR-2? Just a simple thing to ease contribution I guess… It completes the proposal from @Grummfy.

@jubianchi Also, extracting asserters and mock engine into standalone library is a really good thing but it would introduce a lot of work. So I propose to postpone this work. It would not introduce any BC break in the future because the public API will not change. It will simply consist to plug things together.

So my opinion is +1 for everything except the library creations that can be an asynchronous work.

Thoughts?

jubianchi commented 7 years ago

@Hywan I was thinking about adding PSRs for coding-style but did not want to start a troll or something. If you think we should add it, I'm OK.

Extracting asserters and mock engine is something we should try during the 3.0 development phase. If it's too much work, I'm OK to postpone this. If we can get this done for the first 3.0 stable release (yes we will probably run through some betas before the stable release) I will be happy :)

Hywan commented 7 years ago

@jubianchi The 3.0 release is required by major projects for PHP 7 compatibility (like Hoa or Pickle). So I propose to postpone it, since having new libraries for asserters and mock will not introduce any BC break. It will just take time and the 3.0 will be delivered late…

About PSR-2, I am in favour of it. We can use PHPCSFixer with some custom rules if we want to. Would you like me to do that?

jubianchi commented 7 years ago

@Hywan if I were to adopt PSRs for coding style , I would donit without any specific rules. I think a well-written configuration file could be enough.

For asserters, we have no hurry but we have to try to split them for the 3.0. If wait we might end up introducing another BC breaks. One I can think of is that some class might disappear from atoum itself.

Hywan commented 7 years ago

@jubianchi I think we should define a deadline so. Any proposal?

jubianchi commented 7 years ago

@Hywan we should ensure the scope is Ok and we have nothing to add that could introduce a break.

Once we are OK with that, we'll try to define a deadline.

Hywan commented 7 years ago

@jubianchi OK. Should we plan an IRL meeting for that or does someone come with a first draft proposal?

jubianchi commented 7 years ago

@Hywan as we will probably release some betas I think we should just start implementing some of the items

mikaelrandy commented 7 years ago

@jubianchi i like your proposal, but i ask myself about release management in atoum. Originally, we choose to separate development and release management. @Hywan and me just regularly look about merged PR to define if it's major, minor or fix release.

With this proposal, i think @atoum/rms have to define a new release management with predefined scopes.

jubianchi commented 7 years ago

@mikaelrandy I don't think the release process will change much: to me we will still be pushing PRs for items in this list and release betas until we have everything done. We will then publish a stable 3.0.0 release.

mikaelrandy commented 7 years ago

@jubianchi as we just have a unique master branch, we cant release 3.0-beta releases and 2.x in same period. We should have a 3.0-dev branch.

mikaelrandy commented 7 years ago

My bad, i just see it's already a 3.0.0-dev branch !

jubianchi commented 7 years ago

In the #642 @Hywan updated the command to detect xDebug. This made me think of one thing: should we also require a higher version of xDebug ? something like >= 2.3 (2.3.0 being the version in which branch and path coverage was introduced) ?

Hywan commented 7 years ago

@jubianchi I agree with 2.3.

Grummfy commented 7 years ago

2.4, no? because of the lot of segfault bug?

otherwise, it could be intresting to create small issue to see if we can help, because honestly I don't really see How I can help here

Grummfy commented 7 years ago

Thanks for creating easy pick issue ;)

I have created the #654 for phing ;) (not so easy because, if I'm remembering well we have some check, perhaps a bit of refactoring will be required on this one)

I have a question about "Extract builder, pusher and other tools to a dedicated repository" I know that some stuff not really working anymore (the phar building part), so we just extract them or we also remove useless parts? I'm not sure we can really easily do this without being in the release team or in the core team (aka someone who really knows the stuff), but perhaps you can give some indication that let us help you?

If we can do something, don't hesitate to create task. I know that sometimes it takes almost the same time to create the task and explain it, but you know that when someone doing it, you are happier after that because you got help. ;)

Thanks for the great job already done, you rock people!

shouze commented 7 years ago

ok, I've read the roadmap and it's almost done, can't some non urgent thing could be postponed to other updates?

Only split of some parts in other packages/repos seems to miss for a 3.0 release in fact.

This would bring full support for php 7.1 this way.

Hywan commented 7 years ago

What feature(s) would you like to bring into 2.9 and frontport to 3.0?

shouze commented 7 years ago

In fact I think it would be great to release 3.0 right now - as is - and complete other tasks in further 3.x releases, no?

shouze commented 7 years ago

This could be a 🎅 🤶 🎁

Grummfy commented 7 years ago

AS I said several time we should publish 2.9.0, merge all change in the 3.0.0 and publish as it is. and working on version 4 to do all we require to do. Otherwise we are blocking ourselves

omansour commented 7 years ago

cant wait ! especially to use php7.1 with atoum

jubianchi commented 7 years ago

@omansour I'm working hard on finishing current releases. I hope I'll be able to release soon.

Really sorry for the loooong delay

omansour commented 7 years ago

no pb, that's not so long at all. I'am available to test any beta or RC.

tyx commented 7 years ago

Same here, we are available to test pre-release !

shouze commented 7 years ago

Yes, tell us how we can help.

I guess many of us don't have many time to spend but if you can assign us on quick win issues to complete the release process.

It would be so cool, as I've encountered today again another case where php 7.1 features would have been nice to use.

mikaelrandy commented 7 years ago

I've asked @atoum/core about this release date, and i will release a 3.0-beta version really soon.

Stay tuned ;)

mikaelrandy commented 7 years ago

Tadaa, atoum v3.0.x-dev is available : https://packagist.org/packages/atoum/atoum#3.0.x-dev

Please keep in mind that is a beta release, that could change at any time, without warning, and could introduce major BC break as it a major version.

Grummfy commented 7 years ago

Otherwise, you can always check into the huge todo list present here the related issue. If nobody working on it, you can take one ;) some are just code extracting (like phing).

vdechenaux commented 7 years ago

Any news for PHP 7.1 support in a stable package ? :)

Grummfy commented 7 years ago

For now it will be a beta version. But you can use it like if it's stable. It's its internal api that can change.

Le 10 févr. 2017 09:12, "Vincent Dechenaux" notifications@github.com a écrit :

Any news for PHP 7.1 support in a stable package ? :)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/atoum/atoum/issues/641#issuecomment-278883011, or mute the thread https://github.com/notifications/unsubscribe-auth/AAo0hFxYZkjoSio5XtxdOEIvWu7wN128ks5rbBvPgaJpZM4KLsJF .