social.lumbung.space/README.md

3.0 KiB

social.lumbung.space

fork hell

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.

  1. Clone hometown, git fetch -a, git remote add sso https://github.com/chandrn7/smalltown.git, git fetch -a sso
  2. 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.
  3. 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 . Add 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 to the Dockerfile (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 out RUBY VERSION / BUNDLED WITH in the Gemfile.lock when running the build. You generally just end up reading the errors and then chaotically hacking the Gemfile / Gemfile.lock file until it works. If you get to the yarn building step, you might actually make it.
  4. Push the container & update the Co-op Cloud recipe (compose.oidc.yml)
  5. Deploy the thing & pray
  6. 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