envygeeks / jekyll-docker

⛴ Docker images, and CI builders for Jekyll.
ISC License
993 stars 279 forks source link

Rewrite deploy action to handle multi-arch #356

Open rockstorm101 opened 1 year ago

rockstorm101 commented 1 year ago

Summary of the changes made (TL;DR)

More in depth

This rewritten deploy workflow achieves supporting multiple architectures without modifications to docker-template and making use of currently available tools to cross-build for different platforms.

I've tried to keep the changes to the current setup to a minimum. I (obviously) could not try this workflow with your credentials but I've tested it with mine and it worked. Got the same repo/tag structure but for multiple (linux) architectures. See job 3951534375, it produced images and tags in the following repositories:

The changes include the use of new action 'ruby/setup-ruby' instead of the, now defunct, 'actions/setup-ruby'. See deprecation notes. This fixes the reason for the current failures on jobs like 3880108024.

Also note that current deploy.yml creates tags '4' and '4.0' to follow '4.2.2'. IMHO, this should be '4' and '4.2'. Happy to revert the change if it is not a bug.

For this PR to work, first PR #355 needs to be merged. Otherwise all jobs fail (as expected).

I'm happy to make any changes (maybe update to 4.3?) or if you want other formatting with more space or less. Just let me know. I'm happy to elaborate on how anything in this PR works if needed as well.

Cheers

jimaldon commented 1 year ago

looks like this issue is stale. @rockstorm101 do you wanna host multi-arch docker images under your own docker hub? Looks like there are none that are up to date, especially for arm/v7 arch

rockstorm101 commented 1 year ago

looks like this issue is stale. @rockstorm101 do you wanna host multi-arch docker images under your own docker hub? Looks like there are none that are up to date, especially for arm/v7 arch

In all honesty the workflow with this Docker image was far too slow/resource hungry for me. So I ended up creating my own customized image, which always has the right gems installed and therefore runs faster as it doesn't download/install/configure anything every time it runs.

So basically, I could but shouldn't host it. Someone with more time and probably more knowledge of the inner workings of this image should take over in case @envygeeks can't.