BitShares Forum
Other => Graveyard => Marketplace => Topic started by: bytemaster on February 17, 2014, 12:15:06 am
-
http://jenkins-ci.org/
We are looking for someone to put together an automated nightly build system based upon Jenkins. This nightly build system should automatically fetch from github, compile, and build a release version of the following products:
Keyhotee
bts_wallet
BitShares-PTS
For three platforms ( OS X, Windows, and Linux 64 Ubuntu )
To claim this bounty you must successfully execute the nightly build to produce build products that are ready to download, install, and use by a regular user (non-developer). Obviously once you get it working once it will be up to us to keep it working. Note: it must pass on all three platforms AT THE SAME TIME to qualify.
Once it is working we will continue to pay a reasonable maintenance fee to keep the servers running and maintain uptime. We will require admin access to the servers as well.
When it is done we will point jenkins.bitshares.org at this server.
If you have any questions let me know.
-
Wow, wish I can work full time...
-
I would do this, but not under the pressure of a bounty. It's just not healthy for me and my code to do this with the constant fear of the full work possibly being obsolete at some point. If you assign this exclusively to me I will try to finish it within one week.
-
I would do this, but not under the pressure of a bounty. It's just not healthy for me and my code to do this with the constant fear of the full work possibly being obsolete at some point. If you assign this exclusively to me I will try to finish it within one week.
Ok, you have it done in one week and it is yours... if it takes longer than one week then it is open for anyone.
-
I would do this, but not under the pressure of a bounty. It's just not healthy for me and my code to do this with the constant fear of the full work possibly being obsolete at some point. If you assign this exclusively to me I will try to finish it within one week.
Ok, you have it done in one week and it is yours... if it takes longer than one week then it is open for anyone.
That just means it's drekrob's period, no?
I'd be crazy to start now, thinking that drekrob will fail; he probably won't.
I'd be crazy to start after a week, since drekrob has seven days worth of a head start on me.
Invictus would be crazy to not allow drekrob to compete after a week because he'd almost certainly be the person closest to a working product.
I think what I'm getting at is that this new arrangement might have an even worse incentive structure than the bounties.
-
IMO it's no different than if they had just outsourced this task to begin with like for keyhotee. That said if this becomes a comming thing I think there needs to be some cost to not finishing within the claimed time.
Sent from my SCH-I535 using Tapatalk
-
I would do this, but not under the pressure of a bounty. It's just not healthy for me and my code to do this with the constant fear of the full work possibly being obsolete at some point. If you assign this exclusively to me I will try to finish it within one week.
Ok, you have it done in one week and it is yours... if it takes longer than one week then it is open for anyone.
That just means it's drekrob's period, no?
I'd be crazy to start now, thinking that drekrob will fail; he probably won't.
I'd be crazy to start after a week, since drekrob has seven days worth of a head start on me.
Invictus would be crazy to not allow drekrob to compete after a week because he'd almost certainly be the person closest to a working product.
I think what I'm getting at is that this new arrangement might have an even worse incentive structure than the bounties.
Yeah... that might be the case... lets look at the goal: get it done as quickly as possible... if we make it a race then drekrob will not participate, but others might. I think what we really want is some kind of incentive for it to get done... if we are going to hire drekrob by the task and exclude others then we cannot have it open ended. So I think we will need to modify the terms to encourage rapid completion and offer opportunities to others.
Based upon the analysis of drekrob that he could do this in 1 week, that tells me this is a 800 PTS task.... so I think I will have to agree that this bounty should remain open to competition at 2000 PTS or can be had on a contract basis for 800 PTS. The extra reward is to motivate rapid progress by many players and give us an option of the best results. What do you say drekrob?
-
I think what I'm getting at is that this new arrangement might have an even worse incentive structure than the bounties.
I disagree. This supports collaboration and enables healthier working times and better quality of the end product.
It's very frustrating working on a bounty openly like I did with the 800 PTS bounty, finding the problems and pointing them out, discussing stuff to just have someone pull out the rug under you posting a completed solution as first post in a thread. Imho it should even be forbidden to send a single-post solution in a bounty thread while someone else already posted WIP in there.
@800PTS valuation:
The amount of time someone needs to complete a task depends mainly on their competence and hour/week of work. I think 800 for the requested task is way too little, and I think a week is a tight timeframe. But what he failed to mention: DreKrob and I agreed to collaborate on this, and together we're very good (and therefore quick) at this kind of task. I can't speak for him, but my share of 800 PTS wouldn't be worth the effort for me.
Why don't you open up a small bounty for working out a good bounty system? ^_^ I could put some brain power in and try to come up with a system that promotes quickness, quality and collaboration.
-
I think what I'm getting at is that this new arrangement might have an even worse incentive structure than the bounties.
I disagree. This supports collaboration and enables healthier working times and better quality of the end product.
It's very frustrating working on a bounty openly like I did with the 800 PTS bounty, finding the problems and pointing them out, discussing stuff to just have someone pull out the rug under you posting a completed solution as first post in a thread. Imho it should even be forbidden to send a single-post solution in a bounty thread while someone else already posted WIP in there.
@800PTS valuation:
The amount of time someone needs to complete a task depends mainly on their competence and hour/week of work. I think 800 for the requested task is way too little, and I think a week is a tight timeframe. But what he failed to mention: DreKrob and I agreed to collaborate on this, and together we're very good (and therefore quick) at this kind of task. I can't speak for him, but my share of 800 PTS wouldn't be worth the effort for me.
Why don't you open up a small bounty for working out a good bounty system? ^_^ I could put some brain power in and try to come up with a system that promotes quickness, quality and collaboration.
Well having a good bounty system is challenging (had a bounty for that that didn't work out lol).
Yeah, I tend to agree that this is a BIG task which is why I priced it at 2000 PTS to begin with. I am very happy to see you all collaborating to get it done. So lets aim for a 2 week deadline with some kind of penalty per day for late delivery?
This would motivate rapid work? THoughts?
-
I myself think penalties for slow work are totally acceptable and may even be necessary to prevent abuse of exclusivity.
This is a hard one to figure out, and I'm pretty tired right now from working on the AGS stuff all night. I'll come up with a proposal tomorrow.
-
I myself think penalties for slow work are totally acceptable and may even be necessary to prevent abuse of exclusivity.
This is a hard one to figure out, and I'm pretty tired right now from working on the AGS stuff all night. I'll come up with a proposal tomorrow.
Sounds good to me. Lets consider this bounty up for bid. Anyone else who is interested should make a proposal on how they would handle it.
-
I'm not sure if you noticed by the times of my posts, but the "weeks" i was putting in here are including weekends and late night shifts. The bounties are generous, but the tasks are demanding aswell. I do agree with thisisausername, if i get this week exclusively it's mine. Anyone else would be stupid trying to compete. In the end that was what i asked for in the first place. I just saw how you dedicated the other 2k task to someone before it was even defined, so i assumed we could get to the same agreement here. I checked back with BrownBear and we expected we could manage this within a week. If you want to keep it open for competition and you expect to get a faster solution that way, that's fine with me. But I'm not going to waste a week of hard work on a coinflip.
If we can do it in a week, 2k must be to much - but if we need longer than those 7 days we will get less (penalty) ??? I'm slightly confused with the logic there. I agree with BrownBear that a task should not be worth less, if you can do in a shorter time frame.
Concerning the bounty system in general. I still think splitting all the jobs on all the coders would be more efficient and healthy than having all the coders compete over each piece of code and write everything multiple times, only to discard perfectly fine solutions in the end.
-
I'm not sure if you noticed by the times of my posts, but the "weeks" i was putting in here are including weekends and late night shifts. The bounties are generous, but the tasks are demanding aswell. I do agree with thisisausername, if i get this week exclusively it's mine. Anyone else would be stupid trying to compete. In the end that was what i asked for in the first place. I just saw how you dedicated the other 2k task to someone before it was even defined, so i assumed we could get to the same agreement here. I checked back with BrownBear and we expected we could manage this within a week. If you want to keep it open for competition and you expect to get a faster solution that way, that's fine with me. But I'm not going to waste a week of hard work on a coinflip.
If we can do it in a week, 2k must be to much - but if we need longer than those 7 days we will get less (penalty) ??? I'm slightly confused with the logic there. I agree with BrownBear that a task should not be worth less, if you can do in a shorter time frame.
Concerning the bounty system in general. I still think splitting all the jobs on all the coders would be more efficient and healthy than having all the coders compete over each piece of code and write everything multiple times, only to discard perfectly fine solutions in the end.
I agree this one shouldn't be a competition, and I want you to have it. So lets just go with it and have you and BrownBear deliver it. You have proven yourself capable and so I have faith that you will execute.
Keep up the great work.
-
Just to be clear... 2000 PTS for a working solution by Feb 28th. If it takes longer than Feb 28th, it will be 200 PTS per day penalty (at my discretion). If you can do it in 1 week then that will be great and the penalty clause shouldn't apply.
-
When I thought 2k was too much it wasn't just because you said it would take a week, so the reasoning that there should be a penalty for late solutions is still consistent. But also my opinion regarding pay amount shouldn't be weighed very heavily, I'm not a pro.
I think late penalties are an important cost for exclusivity though.
Sent from my SCH-I535 using Tapatalk
-
I wanted to do this but since he's doing it already :/ oh well
-
Feb 28th sounds fair, but 200 PTS seems a bit harsh.
There's two sides to this:
a) we're slacking, in which case 200 PTS would be valid.
b) we're running into unforseen technical problems that require more time to solve/work around.
I think in case of b (you'll be the judge) there should be a possibility to extend or soften the penalty.
-
not exactly Jenkins, but if you're interested in a launchpad daily build PPA for ubuntu, let me know.
launchpad.net will import from github and build once a day or when there is an update, whichever is longer. We can even backport the missing libraries if you want to go further back than Saucy.
-
Feb 28th sounds fair, but 200 PTS seems a bit harsh.
There's two sides to this:
a) we're slacking, in which case 200 PTS would be valid.
b) we're running into unforseen technical problems that require more time to solve/work around.
I think in case of b (you'll be the judge) there should be a possibility to extend or soften the penalty.
Two things here... I doubled your estimate (to give a grace period) and I made the penalty optional on my part if I am pleased with progress and unforeseen issues crop up. It is more of an insurance policy against slacking that gives me the freedom to hire someone else if you all take more than a month to complete it. You all have experience with my good faith efforts to pay those that produce value and I have do doubt that you will get it done.
-
That is nice. You wont be disappointed!
-
I noticed you are always using very recent versions as minimum requirements.
For example keyhotee requires cmake 2.8.12. Is this realy neccessary or is this automaticaly generated content?
cmake 2.8.12 is not included in most current package managers and while i can build it from source, i would not recommend that, unless it realy serves a purpose.
This is probably also quite inconvinient for everyone else who want's to compile your sources.
-
I agree and would like to have the build system support older versions of cmake.
Sent from my iPhone using Tapatalk (http://tapatalk.com/m?id=1)
-
Can we please merge this into BitShares?
try this:
diff Bitshares/CMakeLists.txt
--target_link_libraries(bshare fc upnpc-static leveldb ${BDB_LIBRARIES} ${ZLIB_LIBRARIES})
++target_link_libraries(bshare fc upnpc-static leveldb ${BDB_LIBRARIES} ${ZLIB_LIBRARIES} ${CMAKE_DL_LIBS})
Otherwise jenkins gets loads of undefined reference errors.
-
Can we please merge this into BitShares?
try this:
diff Bitshares/CMakeLists.txt
--target_link_libraries(bshare fc upnpc-static leveldb ${BDB_LIBRARIES} ${ZLIB_LIBRARIES})
++target_link_libraries(bshare fc upnpc-static leveldb ${BDB_LIBRARIES} ${ZLIB_LIBRARIES} ${CMAKE_DL_LIBS})
Otherwise jenkins gets loads of undefined reference errors.
Yes, any relevant pull requests will be accepted and expected.
How is the status of this progressing?
-
We're successfully building Keyhotee, BitShares, fc, BitShares-PTS, bts_server, bts_wallet and all other sub-projects of BitShares for linux.
We're working on cross-compiling with i686-w64-mingw32 right now.
-
Update:
cross-compilation with i686-w64-mingw32 worked after a few patches to the different projects. Linkage failed with loads of reference and duplicate section issues but with some mingeling works. The resulting .exe files failed to exectue on a windows 7 system so far tho. Reason unknown.
We're trying to compile with i586-ming32msvc instead.
Darwin/OSX builds run natively on second server. DreKrob can give more details about that.
-
Keyhotee, bts_wallet and Bitshares-Pts build on mac os. I had to setup a second server on a hosted mac mini, as virtualizing mac seems to be troublesome concerning hardware support and legality.
-
Keyhotee, bts_wallet and Bitshares-Pts build on mac os. I had to setup a second server on a hosted mac mini, as virtualizing mac seems to be troublesome concerning hardware support and legality.
Great news :)
-
Windows build are working as well now. We just have to tie it all together now and make it look nice.
-
Keyhotee is currently failing to build due to a missing file:
AddressBook/ContactGui.hpp
-
Ok... I am looking over this nightly build system now and will instruct Dan N. and team to check on it.
-
Ok... I am looking over this nightly build system now and will instruct Dan N. and team to check on it.
We have pointed Jenkins.bitshares.org at your server, but it does not route through....
-
Please route using dns. If thats not possible route to port 8080
-
Please route using dns. If thats not possible route to port 8080
jenkins.bitshares.org:8080 isn't responding...
-
Right now jenkins.bitshares.org loads a page on your server with an iframe inside that loads http://178.63.85.22/
This is a bad way to achieve this. It would be better to let DNS requests to jenkins.bitshares.org be responded by 178.63.85.22 instead of 192.31.186.16.
If you want to stay at the current way of doing it with an iframe, then you have to point the iframe to http://178.63.85.22:8080/ instead of http://178.63.85.22/
Loading http://jenkins.bitshares.org:8080 will try to connect to your server at 192.31.186.16, which won't work.
-
Right now jenkins.bitshares.org loads a page on your server with an iframe inside that loads http://178.63.85.22/
This is a bad way to achieve this. It would be better to let DNS requests to jenkins.bitshares.org be responded by 178.63.85.22 instead of 192.31.186.16.
If you want to stay at the current way of doing it with an iframe, then you have to point the iframe to http://178.63.85.22:8080/ instead of http://178.63.85.22/
Loading http://jenkins.bitshares.org:8080 will try to connect to your server at 192.31.186.16, which won't work.
Ok, great... I didn't realize this is how the web guys hacked it! I will now slap them upside the face for using such an insane iframe design.
Thanks
-
Oh just fyi, we configured our server to respond to jenkins.bitshares.org on port 80 with the jenkins page, so changing the dns setting would already work from our side, since that's what we anticipated. I also added a link to the ptsags website that links to jenkins while this is being fixed, as well as a binaries page that gives you quick access to the most recent binaries:
http://178.63.85.22/binaries/
-
Oh just fyi, we configured our server to respond to jenkins.bitshares.org on port 80 with the jenkins page, so changing the dns setting would already work from our side, since that's what we anticipated. I also added a link to the ptsags website that links to jenkins while this is being fixed, as well as a binaries page that gives you quick access to the most recent binaries:
http://178.63.85.22/binaries/
The newest builds are from Feb 2?
-
That's odd... no they're from ~20h ago. I'll have to check what's up with that. You can see in the filenames it's march 18th.
EDIT: it was caused by my date formatting gone awry. Fixed it. For some reason bts_wallet didn't get uploaded recently. Seems like the path to the binary was wrong, updating now. https://github.com/InvictusInnovations/keyhotee/commit/f2095166e6270273a967186705d71898b7717e9d this caused the problem afaics.
-
Ok, the domain name situation has been resolved.
It will not let me sign in and I would like Arlen to be able to admin.
-
i checked into it and you should be able to login, do you get any message? how does the page behave?
-
i checked into it and you should be able to login, do you get any message? how does the page behave?
I enter my password then no errors are displayed but it says I am not logged in.
-
i checked into it and you should be able to login, do you get any message? how does the page behave?
I enter my password then no errors are displayed but it says I am not logged in.
Ok... it seems to work from Chrome. Safari was having an issue.
-
I have been evaluating the binaries from genesis.bitshares.org and the Mac Keyhotee Binary (according to Dan N) appears to be exhibiting behaviors of an older version while the BitShares-PTS binary does not properly bundle / link berkley DB.
When I download from genesis.bitshares.org/binaries we get this error:
Process: BitShares-PTS [36558]
Path: /Applications/BitShares-PTS.app/Contents/MacOS/BitShares-PTS
Identifier: org.invictusinnovations.BitShares-PTS
Version: ???
Code Type: X86-64 (Native)
Parent Process: launchd [191]
Responsible: BitShares-PTS [36558]
User ID: 501
Date/Time: 2014-03-19 23:24:30.680 -0700
OS Version: Mac OS X 10.9.2 (13C64)
Report Version: 11
Anonymous UUID: 6A45F32F-8D47-2712-C03F-16050B6168D3
Sleep/Wake UUID: D0F6CF30-420B-490D-B3E4-3485A939AD57
Crashed Thread: 0
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Application Specific Information:
dyld: launch, loading dependent libraries
Dyld Error Message:
Library not loaded: /opt/local/lib/db48/libdb_cxx-4.8.dylib
Referenced from: /Applications/BitShares-PTS.app/Contents/MacOS/BitShares-PTS
Reason: image not found
Binary Images:
0x7fff6afea000 - 0x7fff6b01d817 dyld (239.4) <2B17750C-ED1B-3060-B64E-21897D08B28B> /usr/lib/dyld
0x7fff878d5000 - 0x7fff87bd3fff com.apple.Foundation (6.9 - 1056.13) <2EE9AB07-3EA0-37D3-B407-4A520F2CB497> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
0x7fff8bfcd000 - 0x7fff8cb43fff com.apple.AppKit (6.9 - 1265.19) <12647F2F-3FE2-3D77-B3F0-33EFAFF2CEA7> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
0x7fff9091f000 - 0x7fff9091ffff com.apple.ApplicationServices (48 - 48) <3E3F01A8-314D-378F-835E-9CC4F8820031> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
Model: MacBookPro10,1, BootROM MBP101.00EE.B02, 4 processors, Intel Core i7, 2.3 GHz, 16 GB, SMC 2.3f36
Graphics: Intel HD Graphics 4000, Intel HD Graphics 4000, Built-In, 1024 MB
Graphics: NVIDIA GeForce GT 650M, NVIDIA GeForce GT 650M, PCIe, 1024 MB
Memory Module: BANK 0/DIMM0, 8 GB, DDR3, 1600 MHz, 0x80AD, 0x484D5434314753364D465238432D50422020
Memory Module: BANK 1/DIMM0, 8 GB, DDR3, 1600 MHz, 0x80AD, 0x484D5434314753364D465238432D50422020
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0xEF), Broadcom BCM43xx 1.0 (5.106.98.100.22)
Bluetooth: Version 4.2.3f10 13477, 3 services, 23 devices, 1 incoming serial ports
Network Service: Anker USB LAN, Ethernet, en6
Serial ATA Device: APPLE SSD SM256E, 251 GB
USB Device: USB 10/100/1000 LAN
USB Device: USB3.0 Hub
USB Device: USB3.0 Hub
USB Device: My Passport 0748
USB Device: Hub
USB Device: FaceTime HD Camera (Built-in)
USB Device: Hub
USB Device: Hub
USB Device: BRCM20702 Hub
USB Device: Bluetooth USB Host Controller
USB Device: Apple Internal Keyboard / Trackpad
USB Device: USB2.0 Hub
USB Device: Fitbit Base Station
USB Device: USB2.0 Hub
Thunderbolt Bus: MacBook Pro, Apple Inc., 23.4
-
You changed the build directory for keyhotee without telling us or the script. So the script still packaged the binary from the old location. I updated the script, please try the file and tell me, if there is still something wrong with it.
I will look into the issues with libdb packaging for bitshares-pts
-
I downloaded ftp://178.63.85.22/Bitshares-PTS/MacOS/2014-03-20_00-00-41/BitShares-PTS.dmg and unpacked it. libdb_cxx-4.8.dylib is in there, at the location where it belongs to. If i understand you right, this is the file you downloaded and tried to run and macosx still tries to find the lib on your mac instead of using the supplied one? I'm no expert here, but it looks to me, as if it should work as it is. I will try to find some more information about this topic.
-
You changed the build directory for keyhotee without telling us or the script. So the script still packaged the binary from the old location. I updated the script, please try the file and tell me, if there is still something wrong with it.
I will look into the issues with libdb packaging for bitshares-pts
Ok... thanks! Things appear to be functioning and your support is good... sending another 500 PTS while we continue to evaluate the solution.
-
can someone who is having the libcxx issue with bitshares-pts please pm me? I can't reconstruct the problem, so it is hard to debug it.
-
Right now jenkins.bitshares.org loads a page on your server with an iframe inside that loads http://178.63.85.22/
This is a bad way to achieve this. It would be better to let DNS requests to jenkins.bitshares.org be responded by 178.63.85.22 instead of 192.31.186.16.
If you want to stay at the current way of doing it with an iframe, then you have to point the iframe to http://178.63.85.22:8080/ instead of http://178.63.85.22/
Loading http://jenkins.bitshares.org:8080 will try to connect to your server at 192.31.186.16, which won't work.
Ok, great... I didn't realize this is how the web guys hacked it! I will now slap them upside the face for using such an insane iframe design.
Thanks
+1
Sent from my iPhone using Tapatalk