3.0 KiB
3.0 KiB
social.lumbung.space
fork hell
- https://github.com/mastodon/mastodon/pull/16221
- https://github.com/hometown-fork/hometown/issues/1153
release management
We're using Hometown with this PR merged in. Yes, that's a fork of a fork. The process of making a new release is basically merging that PR into the latest Hometown, building, tagging & pushing a container and then updating the hometown recipe configs. Then deploy it and debug any issues.
How to do it, you ask? Abandon all hope. Computers were a mistake.
- Clone hometown,
git fetch -a
,git remote add sso https://github.com/chandrn7/smalltown.git
,git fetch -a sso
- Check out the hometown tag you want, start cherrypicking the commits the PR. This view is handiest. You can copy/pasta each commit hash with that button and see what conflicts you need to resolve. Yep, you'll be blindly resolving conflicts between two forks.
- If you're lucky enough to get this far, you now need to build a new container.
docker build -t <name> .
and see what happens . AddRUN cat /etc/ssl/certs/ca-certificates.crt > /opt/mastodon/vendor/bundle/ruby/2.7.0/gems/httpclient-2.8.3/lib/httpclient/cacert.pem
to theDockerfile
(ref). You might need to do this absolutely random step in order to get bundler/gem/ruby to install the damn thing. Also try wiping outRUBY VERSION
/BUNDLED WITH
in theGemfile.lock
when running the build. You generally just end up reading the errors and then chaotically hacking theGemfile
/Gemfile.lock
file until it works. If you get to the yarn building step, you might actually make it. - Push the container & update the Co-op Cloud recipe (
compose.oidc.yml
) - Deploy the thing & pray
- Hope you never have to do this again
v3.4.6
diff --git a/Dockerfile b/Dockerfile
index cbcdb2034..5dc1acc2f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -59,6 +59,8 @@ RUN cd /opt/mastodon && \
bundle install -j"$(nproc)" && \
yarn install --pure-lockfile
+RUN cat /etc/ssl/certs/ca-certificates.crt > /opt/mastodon/vendor/bundle/ruby/2.7.0/gems/httpclient-2.8.3/lib/httpclient/cacert.pem
+
FROM ubuntu:20.04
# Copy over all the langs needed for runtime
diff --git a/Gemfile.lock b/Gemfile.lock
index a01341fc9..573c8e776 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -279,8 +279,8 @@ GEM
http-parser (1.2.1)
ffi-compiler (>= 1.0, < 2.0)
http_accept_language (2.1.1)
- httplog (1.5.0)
httpclient (2.8.3)
+ httplog (1.5.0)
rack (>= 1.0)
rainbow (>= 2.0.0)
i18n (1.8.10)
@@ -843,9 +843,3 @@ DEPENDENCIES
webpacker (~> 5.4)
webpush (~> 0.3)
xorcist (~> 1.1)
-
-RUBY VERSION
- ruby 2.6.5p114
-
-BUNDLED WITH
- 1.17.2