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

List of things needed for releasing 1.0 #75

Open
Etiene opened this issue Feb 1, 2016 · 36 comments
Open

List of things needed for releasing 1.0 #75

Etiene opened this issue Feb 1, 2016 · 36 comments

Comments

@Etiene
Copy link
Member

Etiene commented Feb 1, 2016

(The design repository (https://github.com/sailorproject/design/issues) didn't really work out, so I am posting this here)

What do you think is necessary for claiming to be stable enough for production use so we can release a 1.0 version?

I already had some in mind so I'll list them here, please list more things as well

What else should go here?

(Also, feel free to take this list as something significative to pick and contribute)

@catwell
Copy link

catwell commented Feb 1, 2016

I was thinking Lua 5.3 compatibility. I think Sailor is not 5.3 compatible yet because of some dependencies, but do you know what is blocking it exactly?

@Etiene
Copy link
Member Author

Etiene commented Feb 1, 2016

I'm not sure 5.3 compatibility is this essential because it's not compatible with openresty anyway, which is a direction I think we should take. So 5.3 compatibility would be useful for running on Xavante and I'm not sure if Xavante itself runs on 5.3, I know cgilua, doesn't and as far as I know and it's not 5.3 compliant either...

@catwell
Copy link

catwell commented Feb 1, 2016

Xavante master branch on Redis GitHub does run on 5.3. mod_lua (Apache) is also 5.3 by default now.

It may not be important for 1.0 but increasingly what people have installed will be 5.3 and we probably want Sailor to work out of the box.

@hishamhm
Copy link

hishamhm commented Feb 1, 2016

Don't be so hard on yourself for test coverage for 1.0. You have a considerable matrix of execution scenarios going. To this day, LuaRocks only gets 80% coverage (and it's not like I was really lazy about it — heck, I wrote LuaCov to coverage-test LuaRocks!). Having many codepaths that are active only in different configurations makes coverage hard.

@catwell
Copy link

catwell commented Feb 1, 2016

Yes, regarding other topics:

  • I agree with Hisham, 80% coverage is a more reasonable target.
  • I don't think performance is so important at this stage. Still good to know but the performance of, say, Rails has been terrible for a long time and it did not prevent them from being successful. Also, benchmarks of Web frameworks don't really tell the whole story anyway: every application is different, it depends on deployment, etc.
  • Compatibility with nginx: basically what you must do is use the resty-* libraries in OpenResty context like I did with one of my own modules during FOSDEM ;)
  • Re. emails consider my module above ;) which I have now released on LuaRocks. See how I use it in Lua Toolbox for an example.
  • Xavante: agreed.
  • Extensions: should not block 1.0 IMO (that could be a 1.1 feature).

@Etiene
Copy link
Member Author

Etiene commented Feb 1, 2016

Ok :) thanks @hishamhm

@catwell About 5.3, ok, I need to take a look at that but I think dependencies will block :( I'm gonna try and see what happens

@Etiene
Copy link
Member Author

Etiene commented Feb 1, 2016

@catwell Yes, I'm using resty library for MySQL when resty context is around. I need to do that for the rest now.
I'm gonna take a look at your modules too

@Etiene
Copy link
Member Author

Etiene commented Feb 1, 2016

Oh and I'm not thinking about optimising performance or pay attention to it, just measuring it... ^^'

@Etiene
Copy link
Member Author

Etiene commented Feb 1, 2016

This pretty awesome PR made me realise coverage was not that bad! (#76) Thanks @mpeterv 👯
We should still increase it a little bit, though ^_^

@hishamhm
Copy link

hishamhm commented Feb 1, 2016

+1 for Lua 5.3 compat and Xavante support from me. I'm pinging Tomas for a new Cgilua release since current master has the fixes merged in.

@mpeterv
Copy link
Contributor

mpeterv commented Feb 1, 2016

@hishamhm Xavante and wsapi also need releases (fixes were merged in December).

@mpeterv
Copy link
Contributor

mpeterv commented Feb 1, 2016

Probably copas, too, with lunarmodules/copas#40. And maybe coxpcall too? That's a lot of releasing...

@hishamhm
Copy link

hishamhm commented Feb 1, 2016

@mpeterv Yes. I pinged @tomasguisasola already wrt Cgilua. Once that is up, I'll ping @mascarenhas for Xavante. Copas is being maintained by @Tieske. WSAPI is @mascarenhas too.

@hishamhm
Copy link

hishamhm commented Feb 1, 2016

I can do coxpcall myself.

@hishamhm
Copy link

hishamhm commented Feb 1, 2016

coxpcall 1.16.0 released!

@Etiene
Copy link
Member Author

Etiene commented Feb 2, 2016

That's efficiency right there! :D Thanks @hishamhm!! 💃
Now only cgilua to go?

@Etiene
Copy link
Member Author

Etiene commented Feb 2, 2016

Does everyone think extensions should be at later versions, as @catwell suggested? Or do you think it should be at 1.0?

@xspager
Copy link
Contributor

xspager commented Feb 9, 2016

I would like to suggest instead of focusing in any webserver maybe the focus should be getting everything working on Xavante for development and with fastcgi so it wouldn't matter what webserver is used as long it support fastcgi.

@xspager
Copy link
Contributor

xspager commented Feb 11, 2016

Documentation (using LDoc) would be nice to have.

@mascarenhas
Copy link
Contributor

@catwell, do you mean GitHub instead of Redis? The master branch at keplerproject/xavante has a couple of commits from @mpeterv that added Lua 5.3 compatibility. He also updated keplerproject/cgilua and keplerproject/wsapi at the same time, so if everything is ok it is just a matter of doing new releases.

@catwell
Copy link

catwell commented Feb 11, 2016

@mascarenhas Yes I did! I edited my comment to avoid further confusion. Thanks.

@Etiene
Copy link
Member Author

Etiene commented Feb 12, 2016

Concerning Lua5.3 compatibility, the issue is that, apart from postgres, the LuaSQL library is not fully compatible with it. So, apparently, sailor itself runs well on xavante & 5.3 (see here: https://travis-ci.org/sailorproject/sailor/builds/108734493). The LuaSQL module is not a dependency, though, but will be most likely used, so I'm not sure how to proceed now. Should I state we're compatible and make a document with a compat table?

@catwell
Copy link

catwell commented Feb 12, 2016

We should probably try to make LuaSQL 5.3-compatible :)

@Etiene
Copy link
Member Author

Etiene commented Feb 12, 2016

@catwell That sounds a bit too complicated for me but I can try :~

Concerning performance tests: this is not necessary for having a stable sailor, of course, but I think we absolutely should have it for the release announce "Look, we have this software and look at how fast it is!!! :D" No matter what we will get, my instinct says it will be good overall just because of Lua itself. So we won't need to tweak anything, just measure it.

Also, can we take a moment to talk about LuaSec? I removed the email module long ago with the goal of adding it as a separate external and optional module only because of dependency on LuaSec. Installing LuaSec through LuaRocks almost never will work at first try, it will never find the required headers, and I thought this was unnecessary pain for people installing sailor. I wouldn't have an issue getting the email module back and add LuaSec back as a dependency if this was better... ( cc @brunoos @hishamhm)

@catwell
Copy link

catwell commented Feb 12, 2016

Re. LuaSec you just mean he has to do a release right? Because this works well even on 5.3:

luarocks install https://raw.githubusercontent.com/brunoos/luasec/master/luasec-0.6alpha-3.rockspec

Also, the email module does not depend on LuaSec when using OpenResty. But LuaRocks currently has no way to deal with this kind of dependency :(

@Etiene
Copy link
Member Author

Etiene commented Feb 12, 2016

Wait. Nevermind. Either I was using an old version of LuaRocks or an old version of LuaSec. I'm not having that issue anymore (even on LuaSec 0.5)! Sorry for bugging people ^^' I'm not sure about it's 5.3 compatibility though. Gonna check that now

@Etiene
Copy link
Member Author

Etiene commented Feb 12, 2016

Ok! Apparently that's alright on 5.3 too. I guess I only need to write a switche between resty's mail and my mail module according to server used! Yay

@Etiene
Copy link
Member Author

Etiene commented Feb 12, 2016

Would anyone like to contribute to adding Sailor here? https://www.techempower.com/benchmarks/

@brunoos
Copy link

brunoos commented Feb 12, 2016

LuaSec 0.5 has some issues with Lua 5.3.
Next version will solve it (release is coming soon)

@mpeterv
Copy link
Contributor

mpeterv commented Feb 16, 2016

On master branch luasql-mysql works with Lua 5.3 (at the very least it doesn't crash on require), so, again, it just needs a release.

@Tieske
Copy link

Tieske commented Feb 16, 2016

copas 2.0.1 has been released

@Etiene
Copy link
Member Author

Etiene commented Feb 18, 2016

Hey, I know you said you think extensions is not really necessary for the 1.0, but I'd still like your input!
I've created a separate issue for this: #82

@xspager
Copy link
Contributor

xspager commented Feb 23, 2016

What about updating Bootstrap?

@Etiene
Copy link
Member Author

Etiene commented Feb 23, 2016

Good idea!

@felipedaragon
Copy link
Member

I suggest #58 to the list

@Etiene
Copy link
Member Author

Etiene commented Mar 1, 2016

Added!

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

9 participants