eggheads / eggdrop-docker

25 stars 24 forks source link

Support for ARM64v8 #11

Closed lag-linaro closed 5 years ago

lag-linaro commented 5 years ago

After applying the patch found in https://github.com/eggheads/eggdrop-docker/pull/10, it was possible to build this project for ARM64v8 and test it fully working.

Once the above changes have been merged, can we enable ARM64v8 as a supported architecture, so it's docker pullable on our platforms please?

vanosg commented 5 years ago

Thanks @lag-linaro and @odidev, it built for me as well. This is new territory for us, give us a few days to play with it and we'll be happy to merge it in. Thanks!

lag-linaro commented 5 years ago

Thanks for your consideration @vanosg. :smile:

odidev commented 5 years ago

@vanosg : Thanks, please have a look at #9 too, which has changes and verification too. :smile: @lag-linaro : Thanks for confirmation, looks like we both are working on it :wink:

lag-linaro commented 5 years ago

@odidev, we've been doing that a lot. I send you an email about it -- did you get it?

vanosg commented 5 years ago

@lag-linaro @odidev I only have access to arm32v6 and arm32v7 systems- do you have access to an arm64v8 system I could use for testing? Or alternatively, what systems run arm64v8? Thanks

odidev commented 5 years ago

@vanosg : I have tested this on Softiron-od1000-arm64v8 board.

I checked this, here maintainer ninjarobot is using Scaleway cloud service for arm64v8.

vanosg commented 5 years ago

Thanks for the recommendation- I think even on our shoestring budget here, we should be able to swing the 3 dollars to run a few tests :)

However, a quick review shows me that we probably need to merge this upstream in the core eggdrop codebase and make it available to all users, not just docker- https://github.com/eggheads/eggdrop . You're welcome to resubmit there, or I'll just move this over shortly myself.

(these particular files haven't been updated in about 10 years... probably time to do so, eh?)

Thanks again!

odidev commented 5 years ago

@vanosg : Thanks for consideration.

As per your guidance, I have a raised PR here too.

In my view, it is good to merge the changes in docker too, as it would update config files to the latest version every time :)

lag-linaro commented 5 years ago

Thanks @odidev. I have reviewed.

mmarmm commented 5 years ago

@vanosg Hi Geo, if you don't even want to spend the $3+ you could use Shippable or CodeFresh if all you need is one free CI pipeline?:

http://docs.shippable.com/platform/tutorial/workflow/run-ci-builds-on-arm/

CodeFresh Arm Beta signup: https://goo.gl/forms/aDhlk56jZcblYokj1

If you need raw infrastructure for some reason the WorksOnArm project will supply full servers if you want to deal with metal: https://github.com/worksonarm/cluster/

Thank you!

vanosg commented 5 years ago

That is super-helpful, thanks! Now I don't have to skip two days of my Rama Noodle lunches to offset the cost of the first option ;)

odidev commented 5 years ago

@mmarmm: Thanks for your support and providing the idea about available cloud services. @vanosg : Good humour :laughing: :rofl:

mmarmm commented 5 years ago

@vanosg Rama Noodle? You mean Eggdrop soup, no? Glad to be of help.

It looks like the required changes were merged, do we just need to make a PR in https://github.com/docker-library/official-images/blob/master/library/eggdrop to make it official?

odidev commented 5 years ago

@mmarmm : I am still sceptical, whether we can use this Eggdrop-docker without any modification or not.

Although the changes are merged in Eggdrop-source_code, but Docker is still pointing to older eggdrop-1.8.3.tar.gz which doesn't have new changes. I think that eggdrop needs to release a new version of there source-code and then dockerfile needs to be modified to use that directly.

vanosg commented 5 years ago

Sadly, the hold up is still testing on arm64 (having issues getting some accesses with the provider), which I guess doesn't need to be done to integrate this... I was hoping to add the Architecture line in here at the same time, but if y'all are chomping to get this in, we can certainly submit a little sooner- I just won't add the 64 line in.

(and this change will only be present in the -develop image, not .3)

mmarmm commented 5 years ago

Happy to wait until it's all tested and enable arm64 all at once; the -develop image is a perfect place for people to use and test it out. Thank you.

vanosg commented 5 years ago

The new architecture library file was merged in, offering library support for arm32v6 and amd64. I'm not comfortable adding in official arm64v8 library support until I can get some time on a platform (still haggling with one of the previous providers). Note, this is not the same as 'eggdrop arm64v8 support', which should be present now, this is specific to the docker hub repo. Happy for any feedback from what you see now though. Thanks again your patience and support on this

lag-linaro commented 5 years ago

@vanosg any reason you can't use Code Fresh?

I have a few projects building there now. Set-up is pretty trivial.

odidev commented 5 years ago

Hi @vanosg Any update at your end regarding support for arm64v8? In my view, you can go for shippable or codefresh to have better clarity.

Although, I have already checked the working of eggdrop over arm64v8 when I raised PR at https://github.com/eggheads/eggdrop-docker/pull/9 in Mid of July.

Do let me know, if you need any kind of support for this :smiley: Regards,

odidev commented 5 years ago

Actually, there is one more option to add support for arm64v8 in official images by pointing it towards develop branch of eggdrop.

I can raise a PR of this, if it suits maintainers :question: Regards,

vanosg commented 5 years ago

Hi odidev,

I actually spent a fair amount of time with one of those vendors, but in the end there were, imho, some significant permissions requirements I wasn't comfortable giving them. At this moment we're actually in a very busy development cycle on the core eggdrop functionality which is where most of my time is being spent.

So, in short, still very interested in some first-hand testing on a 64 bit platform, but haven't had the spare cycles to investigate a new provider. If anyone out there has an account on a box that could be loaned, that would also shorten this wait. But, I want to make sure you know I haven't forgotten about this- just can't get to it at this time. I hope to 'soon' though. Thanks for your patience

lag-linaro commented 5 years ago

Good morning @vanosg.

It's been nearly a month since your last post, so I thought I'd help you out a little.

I've taken the liberty of pushing a branch containing #10 (plus another patch to ensure key server look-up is successful) to a CI build based on CodeFresh. I'm unsure whether or not this is the vendor you have tried previously, but I do not remember having to provide them with any unreasonable permissions on my repository.

The resultant image is pushed to Docker Hub and should be docker pull'able from any ARM64 platform. Output from my testing can be found in Gist HERE.

Let me know if there's anything else I can do to accelerate the process.

vanosg commented 5 years ago

Thanks for this! I've actually made a little progress with CodeFresh over the last month. If you were so inclined, could you add a deploy script to your pipeline that runs uname -a? I'm still waiting to hear back from them, but I was surprised to see my build list x86_64 as the architecture. Maybe I'm confused on something, but...

lag-linaro commented 5 years ago

Quick reply, as I'm off today.

Sorry I should have mentioned, the AArch64 support is in Beta. Please ask for a AArch64 Beta account via the chat in the bottom right.

vanosg commented 5 years ago

Got it squared away, they didn't activate the switch. Thank you again for your interest in pushing us forward on this. A PR is submitted to the official library, so you should see support soon! We look forward to any other contributions you may have down the road