Remove the timestamp normalisation The precision of the timestamps is controlled in our migrations, and so any mismatch should be marked as an error. The ar_internal_metadata is not controlled, but is timestamp(6) for rails 6.0+ installations, and so this won't fail in CI.
Simplify ruby installations Refs #4048 * We don't currently need a specific version suffix on the package names, since ubuntu only ships with one ruby version (and newer versions on e.g. 23.04 are fine). * We don't need to explicitly install libruby, since it's pulled in by other packages as required. * Ubuntu again ships a decent enough version of bundler for our needs, so we don't need to install it via rubygems.
Use bin/yarn consistently for installations Since rails 7, the `rails yarn:install` command no longer uses bin/yarn and so a) doesn't detect yarn binaries named "yarnpkg" (e.g. Ubuntu) and b) doesn't allow us to pass any flags to yarn, (e.g. "--ignore-engines"). Since we want to avoid making the installation more difficult (by e.g. installing yarn from other sources, or requiring particular node versions) we can instead just use our existing bin/yarn script. The reason Dockerfile did its own thing was to avoid pulling in big chunks of rails, but bin/yarn is a standalone ruby script. Fixes #3579