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

Enable automated testing with Travis CI #3

Closed
wants to merge 8 commits into from

Conversation

techtonik
Copy link
Contributor

Here is how automated Travis build look like:
https://travis-ci.org/techtonik/PDCurses/builds

If merged, it will allow anyone to test Linux builds online in their PDCurses clone.

@techtonik
Copy link
Contributor Author

@wmcbrine take a look. It works like this - Build Status

@techtonik
Copy link
Contributor Author

@wmcbrine how is it going? Maybe add somebody else to to help with the project?

@wmcbrine
Copy link
Owner

wmcbrine commented Jan 8, 2018

Can you explain more about how this would be useful? I know I see those badges all over GitHub, but I haven't really seen the point of them.

I personally don't commit non-compiling code to GitHub.

@techtonik
Copy link
Contributor Author

Test at CI and usually for code that compiles, but may behave differently. CI scripts also help to ensure that build commands given in documentation actually work, so people can check their dependencies and other stuff if build works in CI, but fails on their system.

@GitMensch
Copy link
Contributor

@techtonik Can you please add more CI tasks to compile with all reasonable combinations (DLL, WIDE, UNICODE), maybe with clang, too and additional cross-compile the wincon port with mingw-w64?
For cross-compiling instructions that worked with 3.6 see https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-pdcurses/PKGBUILD.
Similar could be done for DOS and SDL1/SDL2 (the SDL ones maybe with both cross-compiling to Windows and normal compilation)...

Can you also add compilation with osx environment?

I personally don't commit non-compiling code to GitHub.

@wmcbrine Using CI is especially useful to check if a code works in any environment. It is good to check all these beforehand but if you change something to the pdcurses folder for use in sdl2, for example you'll immediately check if the code works on SDL2 (likely on GNU/Linux), but it may break compilation for wincon/x11/whatever - checking all these environments with multiple compilers and all combinations of supported make variables before doing the commit, too, is nice but some people may consider this a waste of your important time if a CI environment can do this for you.
It gets more interesting if there are tests that you can automatically do on command line using the compiled binaries (which is, as far as I know, not simple with curses).

A nice side effect is that you can register a hook for GitHub which results in all PR be automatically checked (with all environments and possible tests run). I bet not anyone that does a PR tested with all compilers for all ports with all options and if GitHub shows the status and adds a link for the detailed test results (the details are everything that is done by the CI)
grafik.

@techtonik Can you also add artifacts to Travis-CI allowing download of pre-build CI binaries (I'm not sure if/how Travis handles these)?

@techtonik
Copy link
Contributor Author

I don't know if I have time for this. Sorry. :(

@GitMensch
Copy link
Contributor

For an updated effort which includes all ports (but SDL1, currently), most on Travis, some on Appveyor see Bill-Gray/PDCursesMod#90

@techtonik
Copy link
Contributor Author

Closing this as backporting Bill-Gray/PDCursesMod#90 is a much better idea. ;)

@techtonik techtonik closed this Nov 21, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants