social.lumbung.space/README.md

21 lines
2.0 KiB
Markdown
Raw Normal View History

2022-02-07 15:10:19 +00:00
# social.lumbung.space
2022-02-08 12:35:05 +00:00
## fork hell
- https://github.com/mastodon/mastodon/pull/16221
- https://github.com/hometown-fork/hometown/issues/1153
2022-02-07 15:10:19 +00:00
## release management
We're using [Hometown](https://github.com/hometown-fork/hometown) with [this PR](https://github.com/mastodon/mastodon/pull/16221) 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](https://git.coopcloud.tech/coop-cloud/hometown/src/branch/main/compose.oidc.yml).
2022-02-08 12:35:05 +00:00
How to do it, you ask? Abandon all hope. Computers were a mistake.
2022-02-07 15:10:19 +00:00
2022-02-08 12:35:05 +00:00
1. Clone hometown, `git fetch -a`, `git remote add sso https://github.com/chandrn7/smalltown.git`, `git fetch -a sso`
1. Check out the hometown tag you want, start cherrypicking the commits the PR. This [view is handiest](https://github.com/mastodon/mastodon/pull/16221/commits). 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.
2022-02-08 13:14:04 +00:00
1. Add `RUN cat /etc/ssl/certs/ca-certificates.crt > vendor/bundle/ruby/2.7.0/gems/httpclient-2.8.3/lib/httpclient` to the `Dockerfile` ([ref](https://github.com/mastodon/mastodon/pull/16221#issuecomment-936108865))
2022-02-08 12:35:05 +00:00
1. 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 . You might need to this absolutely random [step](https://github.com/hometown-fork/hometown/issues/650#issuecomment-849890952) 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.
1. Push the container & update the Co-op Cloud recipe (`compose.oidc.yml`)
1. Deploy the thing & pray
1. Hope you never have to do this again