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

Refactor Travis configuration #406

Closed
wants to merge 3 commits into from
Closed

Refactor Travis configuration #406

wants to merge 3 commits into from

Conversation

hvelarde
Copy link
Member

@hvelarde hvelarde commented Aug 10, 2018

Motivation

  • Running a test matrix in Travis is currently easier than in Jenkins because you don't have to manually run the jobs, and re-run them at every other change
  • Using tox on top of Travis is overkill and unnecessary
  • Travis CI builds are currently broken
  • Coveralls is not working
  • Code analysis is not being run
  • Include check for Python 3 compatibility

TODO

  • Run documentation testing (I have no experience on that and I need help)
  • Configuration clean-up; there are many things that can be removed

@hvelarde hvelarde self-assigned this Aug 10, 2018
@hvelarde hvelarde force-pushed the hvelarde-travis branch 16 times, most recently from 334f198 to 1569ae6 Compare August 10, 2018 17:07
@hvelarde
Copy link
Member Author

@plone/testing-team Travis builds are running again; we can start discussing the changes now.

Copy link
Member

@loechel loechel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry but no. please don't build a test setup from old times, this is not necessary anymore and makes it more complex.

.coveragerc Outdated
@@ -0,0 +1,2 @@
[report]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please don't
add such config to setup.cfg

.gitignore Outdated
@@ -2,7 +2,6 @@
*.py[cod]
*~
/.Python
/.coverage*
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do you remove that? it has nothing to do in version control

@loechel
Copy link
Member

loechel commented Aug 10, 2018

When you whant a multi Python test setup you should always have tox.
Even if travis might be cabable of doing that on its own, it makes it more complex.

@loechel loechel closed this Aug 10, 2018
@hvelarde hvelarde reopened this Aug 11, 2018
@hvelarde
Copy link
Member Author

hvelarde commented Aug 11, 2018

@loechel look at your current build, that BTW is not working, and look at what I have done. which one is more complex? if you want to use tox, just use it in your machine, but you can force anybody to do so on Travis.

and, BTW, this is not a multi Python setup; you're testing against Python 2.7 only.


before_install:
- mkdir -p $HOME/buildout-cache/{downloads,eggs,extends}
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is what I call a "a test setup from old times"; caching has been around Travis since 2016.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure, tell me how to do it better?

if you use buildout and not the standard tools like pip which is known for travis you have to tell them which directory to cache:

https://github.com/plone/plone.api/blob/master/.travis.yml#L3-L6

So the maked line is necessary to be idempotent and deterministic.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it isn't; if you check what I did you'll learn how to fix it. we have been using it that way for years and we already had that discussion in bobtemplates.plone as @jensens mentioned.

@loechel
Copy link
Member

loechel commented Aug 11, 2018

@hvelarde ok, I will look more into detail about the current status and do an own proposal how to fix it.

I was preparing a Python 3 Build for it, but as it is a dependency thing we could not test something if it is not compatible.

@jensens
Copy link
Sponsor Member

jensens commented Aug 11, 2018

Best look at bobtemplates plone for best practices. We really tried hard to make it perfect there and I always copy from there even to older projects.

I would prefer to first add a well discussed and we'll documented multi python setup to bobtemplates plone. This may include tox if it helps solving the problem. With upcoming 5.2 we need it anyway. If we have it perfectionated there, we can start using it everywhere. This would help us to not have a forest of different solutions around, creating headache every time a new stumbles over them.

We can use plone.api as a test drive for this perfectionated and we'll documented solution.

@hvelarde
Copy link
Member Author

hvelarde commented Aug 13, 2018

as mentioned: I'm not against using tox in local environments, but against using tox in Travis, because it solves no problem and just adds another layer of complexity to the build.

also, I think it's a good idea to include and document tox in bobtemplates.plone.

@jensens
Copy link
Sponsor Member

jensens commented Jun 19, 2019

There was no activity on this for a while. I close this request for now. If you plan to work further on this please reopen and go on.

@jensens jensens closed this Jun 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants