- edited description
Pipelines support
To speedup the testing of code changes it would be beneficial to use Bitbucket pipelines by adding the attached bitbucket-pipelines.yml or similar.
This does not work yet because the module PyQt4 can't be found on the docker image (Debian jessie). Luckily the official Ubuntu image comes with python-2.7.12 and running the tests in a local docker environment works. On pipelines it still doesn't work.
Comments (14)
-
reporter -
repo owner If you want to help out with this it would be wonderful. I can assist with whatever you need. Thanks!
-
reporter - edited description
-
reporter Yes I already have spent some time on this and I have the feeling I'm almost there.
How do you usually call the test scripts? When I tried 'python tests/test_gerber_flow.py' I got an error (see first post).
-
repo owner Try:
python -m unittest discover tests
or
python -m unittest discover tests test_excellon_flow.py
from the main folder.
-
repo owner I must say though, that the tests cover probably about 10-20% of the functionality in the program. It has lots of holes and the automated testing wouldn't be very indicative of the real status.
-
reporter - edited description
- attached bitbucket-pipelines.yml
-
reporter Having automated tests might encourage the creation of more tests, creating tests is no real fun though.
I have uploaded an updated version the bitbucket-pipelines.yml with a config that works for me locally but sadly still fails on bitbucket. I'm putting this on hold for a now.
-
repo owner How do you run this locally?
-
reporter I use Docker/Kitematic to boot the same images as I use in the script. I clone the repo and cd in to it (should be similar to the Build setup pipelines does), then just try a bunch of commands to get it working. This is a lot faster then pushing a new commit with the changes to the bitbucket-pipelines.yml.
-
repo owner I would be amazing if you could write up a step-by-step procedure on how to do it. I'm familiar with Docker, but not with automated testing, locally or in Bitbucket.
-
The problem I've just observed with BitBucket's pipeline is that it doesn't support i.e OSX building. Usually in other OSS projects, a combination of TravisCI/CircleCI+Appveyor is used to generate builds for all platforms.
IMHO, you don't want to choose a platform that does CI if it doesn't do CD for your releases. I might look at it once I'm done with the PyQT5+Python3 port (see recent: https://bitbucket.org/jpcgt/flatcam/pull-requests/75).
-
reporter Completely forgot about this. If desired I could assist if you want to dive into this at a later date. I'm not really sure if it isn't possible to cross-build a release but lets hold on to that discussion for when its decided to work on this.
-
Yes it is possible and I've seen it many times deployed over GitHub OSS projects:
- Debian: http://travis.debian.net/, related to issue #221.
- OSX: https://docs.travis-ci.com/user/reference/osx
- Windows: https://github.com/radare/radare2/blob/master/.appveyor.yml
So yes, please, if you can, assist me by:
- Forking my python3+pyqt5 branch, referred above in https://bitbucket.org/jpcgt/flatcam/pull-requests/75.
- Testing that branch locally as you did before in this thread, with or without docker.
- Making minimal test runs with either or all of those CI systems. Even if they turn up "red", it's progress, we just need to keep fixing/pushing.
Git allows for decentralized work, so there's nothing to be decided, just go and try it out and then show up over here when you have (semi-)working, anyone interested will be happy to help out, me included ;)
- Log in to comment