changing ci image to `ruby:2.7.5-alpine3.15`
following #63 i have been thinking...
switching the image that's used in GitLab CI workflows to
ruby:2.7.5-alpine3.15
(Dockerfile)
would greatly improve build times without the need to use rbenv/ruby-build in the first place
the idea is essentially the same. to use a single targed version of ruby for the app (here, jekyll). but instead of performing a user-level installation using rbenv install
it will be at the system-level in the container.
what are the changes?
does it work?
tl;dr. no. YES! https://kevinnls.pages.gitlab.gnome.org/people-of-gnome
but i am working on it
in the beginning
it took a bit of fiddling from main @ kevinnls/feat/test-ruby-2.7.5-image and was working okay at https://test.peopleofgnome.vps.kevinnlsamuel.com (shutdown)
UPDATE
and since then, i've been testing on GitLab CI/CD too!
after quite a lot of experiments managed to get it to do test builds no issues! the latest taking 5:29 to complete
NB: it consistently takes much less time with caches (i changed branch names and lost the cache for the most recent test build)
deployment...
butfailed and took 10:04!
a quick patch has now resolved it in the pipeline and times have now decreased to around 2:30 (with caches). but it's still pretty long due to compression/minification steps that are unique to deployment
still broken in production
with assets/3rd-party folder returning 404 after the build. debugging ongoing complete. the problem was not at all related to changing the image see #66
fixed at b251a678e2f62c6d4f8a7190b879603cd01bb3a1
logs?
- deployment pipelines https://gitlab.gnome.org/kevinnls/people-of-gnome/-/pipelines?page=1&scope=all&ref=main
- testing (and experiment) pipelines https://gitlab.gnome.org/kevinnls/people-of-gnome/-/pipelines?page=1&scope=all&ref=feat%2Fchange-ci-base-image
why alpine?
considerably recent yarn
(classic.yarnpkg.com) comes with the distro. source
other distros?
shouldn't be a problem. we'll just need to add the appropriate instructions for installing yarn
anything to note / look out for?
i'm uninformed about ffi and if they are working as they ought to. the building of gems didn't throw any errors and Jekyll did not say anything while building