Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Apr 20 2016 11:59

    jimmykarily on master

    Add Gitter badge Merge pull request #1 from gitt… (compare)

  • Apr 20 2016 11:59
    jimmykarily closed #1
  • Apr 20 2016 11:49
    gitter-badger opened #1
Dimitris Karakasilis
@jimmykarily
I will take a look at it, maybe later today
George Antoniadis
@geoah
@jimmykarily no rush, I've got it covered for now -- it was mostly a suggestion not an issue
I've got my first green build so I'm set ;)
Ilias Spyropoulos
@ispyropoulos
well done!
Dimitris Karakasilis
@jimmykarily
Oh! I think you have the record of the fastest setup so far!
George Antoniadis
@geoah
took me a while to figure out how to make it work with golang -- once I found the TESTRIBUTOR_PROJECT_DIRECTORY it was a piece of cake
Dimitris Karakasilis
@jimmykarily
It is kind of hidden. It was a feature request by an other user. We weren't sure how important feature this was. I think it has to get promoted.
Ilias Spyropoulos
@ispyropoulos
@geoah do you like Testributor overall; what do you think? imagine now that if you had a heavy suite (say 1-2 hours or more) you could speed it up to just a few minutes with a fraction of the cost needed for other CIs like CirleCI etc. And with more benefits (in my opinion).
George Antoniadis
@geoah
@jimmykarily it's the only way to build/test golang as you need your your source to be placed properly in the GOPATH
Dimitris Karakasilis
@jimmykarily
Yes I know (now)
George Antoniadis
@geoah
@ispyropoulos the part that I like most is be ability to supply our own workers and scale according to our needs -- I am still now sure how the parallel builds work in testributor, that's the next thing I'll be checking out
Dimitris Karakasilis
@jimmykarily
The guy who requested it was writting Python. We had a similar issue.
George Antoniadis
@geoah
@jimmykarily in python he could just use a virtualenv in theory and be done with it, unfortunatelly this isn't a thing (yet) in go
Ilias Spyropoulos
@ispyropoulos
@geoah we can show you - the main idea is that you supply the “way” of splitting the suite with a Regex (for file splitting). We have details in the Documentation, but we can definitely show via a call or something.
Dimitris Karakasilis
@jimmykarily
It's been a while since I was fluent in Python so I couln't propose a workaround. Lucky for you, we went with the TESTRIBUTOR_PROJECT_DIRECTORY option :)
George Antoniadis
@geoah
btw one more thing -- when I'm logged in testributor.com the navigation bar goes away completely and I'm missing the links for docs/pricing etc -- you might wanna move them to the footer or something at some point
Ilias Spyropoulos
@ispyropoulos
The docs are in the dropdown menu
Upper right corner
Spyros Brilis
@spyrbri
Also there are links at the right side bar
George Antoniadis
@geoah
awh cool :)
@ispyropoulos parallel testing seems nice -- is there a way to separate testing/building/deployment?
eg run tests in parallel but once it all tests passed trigger a build/deployment?
Ilias Spyropoulos
@ispyropoulos
Pipeline - This is under development :-) You can do a certain amount of those things via the built_commands file, but it’s far from calling it Pipelining
Coming soon!
Dimitris Karakasilis
@jimmykarily
At some point we had to decide between the rewrite of the agent in Go (with less dependencies) and the pipelining feature. Go rewrite won. Pipelining is the next in line because it affects the agent's design so we can't do these two at the same time.
George Antoniadis
@geoah
+1 for the rewrite :)
Dimitris Karakasilis
@jimmykarily
I hope we will have a beta version ready soon (like next week or something)
As soon as we reach beta, the repo will go public.
George Antoniadis
@geoah
damn that's quick :)
Dimitris Karakasilis
@jimmykarily
It's in WIP state for 1.5 month or so :p
Ilias Spyropoulos
@ispyropoulos
It’s my fault :p I left Dimitris doing the heavy-lifting
George Antoniadis
@geoah
one last question and I'll leave you alone for now: I want to be able to create and push a container to dockerhub with the build results -- is there (or will there be) a better way than just running my worker in privileged mode and manually running the docker commands?
Dimitris Karakasilis
@jimmykarily
Do you mean you build a container (as an artifact) or you want to push your build container to dockerhub (as a private image)?
George Antoniadis
@geoah
artifact
eg build my golang binaries and create a new container FROM scratch, copy them in it and push it.
Dimitris Karakasilis
@jimmykarily
Hmm, I'm not sure how you plan to do this without the pipelining feature.
As soon as pipelining is there you will probably create a new step for this. You will also need to somehow authorise the push to dockerhub but since you are free to add any ENV vars or files in the container it will be a matter of choice how you will do it.
Dimitris Karakasilis
@jimmykarily
I think this fixes the deep project creation thingy: https://github.com/testributor/testributor_gem/pull/23/files
I will give it a try now
George Antoniadis
@geoah
@jimmykarily amazing -- thanks for this :)
Dimitris Karakasilis
@jimmykarily
welcome. You deserve this for the setup record :)
Ilias Spyropoulos
@ispyropoulos
Will throw in a freebie for you when we release the paid service :-)
Dimitris Karakasilis
@jimmykarily
It works like a charm. Updated the gem. On the next restart of the containers you will get the updated @geoah .
George Antoniadis
@geoah
@jimmykarily indeed it works as advertised :) thanks :D
possible issue: when modifying testributor.yml and a custom file eg Dockerfile and retrying the build, the worker actually gets and runs the updated testributor.yml but still has the old Dockerfile.
after restarting the worker both files have the latest updates.
base_1  | [15:51:35 UTC][10d115c9][Worker] Running go get ./... && go test ./... && go build ./examples/kv.go && docker login --username=$DOCKERHUB_USERNAME --password=$DOCKERHUB_PASSWORD && docker build . --tag nimona/kv:latest && docker push nimona/kv:latest
base_1  | [15:51:41 UTC][10d115c9][Worker] ok      github.com/nimona/go-nimona/journal    0.005s
base_1  | [15:51:46 UTC][10d115c9][Worker] Login Succeeded
base_1  | [15:51:47 UTC][10d115c9][Worker] Step 1 : FROM scratch
base_1  | [15:51:47 UTC][10d115c9][Worker] Step 2 : COPY ./kv /cmd
base_1  | [15:51:47 UTC][10d115c9][Worker] Successfully built 0027d8bdb371
base_1  | [15:51:47 UTC][10d115c9][Worker] The push refers to a repository [docker.io/nimona/kv]
base_1  | [15:51:48 UTC][10d115c9][Worker] 4d8b7bbadde7: Preparing
base_1  | [15:51:56 UTC][10d115c9][Worker] 4d8b7bbadde7: Pushed
base_1  | [15:52:04 UTC][10d115c9][Reporter] Sending reports to testributor
^ I think I'm done for the day -- managed to get testributor to create a new repo with my binaries and push them to dockerhub so I'm happy
George Antoniadis
@geoah
@ispyropoulos I now know what I like most about testributor: the freedom to hack the workers to my hear's desire...
this is a wonderful tool -- thank you all :)
Dimitris Karakasilis
@jimmykarily
Thank you George. Nice hack! It breaks possible automatic parallelization but I guess it's a good workaround for now.