Use Redis for CacheMarkDownField on non AR models

This allows using `CacheMarkdownField` for models that are not backed
by ActiveRecord.

When the including class inherits `ActiveRecord::Base` we include
`Gitlab::MarkdownCache::ActiveRecordBacked`. This will cause the
markdown fields to be rendered and the generated HTML stored in a
`<field>_html` attribute on the record. We also store the version
used for generating the markdown.

All other classes that include this model will include the
`Gitlab::MarkdownCache::RedisBacked`. This add the `<field>_html`
attributes to that model and will generate the html in them. The
generated HTML will be cached in redis under the key
`markdown_cache:<class>:<id>`. The class this included in must
therefore respond to `id`.
132 jobs for bvl-cache-commit-markdown in 30 minutes and 21 seconds (queued for 5 seconds)
latest
Status Job ID Name Coverage
  Prepare
passed #142473837
gitlab-org
compile-assets

00:07:33

passed #142473836
gitlab-org
retrieve-tests-metadata

00:00:24

passed #142473838
gitlab-org
setup-test-env

00:04:48

 
  Test
passed #142473979
allowed to fail
code_quality

00:10:02

passed #142473970
gitlab-org
db:check-schema-pg

00:02:08

passed #142473969
gitlab-org
db:migrate:reset-mysql

00:04:56

passed #142473968
gitlab-org
db:migrate:reset-pg

00:03:07

passed #142473974
gitlab-org
db:rollback-mysql

00:05:13

passed #142473973
gitlab-org
db:rollback-pg

00:03:03

passed #142473981
allowed to fail
dependency_scanning

00:01:37

passed #142473964
gitlab-org
docs lint

00:01:47

passed #142473966
gitlab-org
downtime_check

00:01:54

passed #142473967
gitlab-org
ee_compat_check

00:03:18

passed #142473976
gitlab-org
gitlab:setup-mysql

00:05:04

passed #142473975
gitlab-org
gitlab:setup-pg

00:05:17

passed #142473988
gitlab-org
gitlab_git_test

00:00:27

passed #142473978
gitlab-org
jest

00:09:23

passed #142473977
gitlab-org
karma

00:09:02

58.04%
passed #142473972
gitlab-org
migration:path-mysql

00:12:35

passed #142473971
gitlab-org
migration:path-pg

00:11:46

passed #142473986
qa-frontend-node:10

00:10:47

passed #142473984
qa-frontend-node:6

00:12:36

passed #142473985
qa-frontend-node:8

00:11:42

passed #142473987
allowed to fail
qa-frontend-node:latest

00:10:02

passed #142473982
gitlab-org
qa:internal

00:02:48

passed #142473983
gitlab-org
qa:selectors

00:02:38

passed #142473892
gitlab-org
rspec-mysql 1/50

00:12:50

passed #142473902
gitlab-org
rspec-mysql 10/50

00:12:39

passed #142473903
gitlab-org
rspec-mysql 11/50

00:11:55

passed #142479386
gitlab-org
rspec-mysql 12/50

00:13:27

passed #142473905
gitlab-org
rspec-mysql 13/50

00:13:49

passed #142473906
gitlab-org
rspec-mysql 14/50

00:12:45

passed #142473907
gitlab-org
rspec-mysql 15/50

00:13:31

passed #142473908
gitlab-org
rspec-mysql 16/50

00:13:10

passed #142473909
gitlab-org
rspec-mysql 17/50

00:15:34

passed #142473910
gitlab-org
rspec-mysql 18/50

00:13:27

passed #142473911
gitlab-org
rspec-mysql 19/50

00:13:05

passed #142473894
gitlab-org
rspec-mysql 2/50

00:11:00

passed #142473912
gitlab-org
rspec-mysql 20/50

00:13:07

passed #142473913
gitlab-org
rspec-mysql 21/50

00:16:04

passed #142473916
gitlab-org
rspec-mysql 22/50

00:18:02

passed #142473918
gitlab-org
rspec-mysql 23/50

00:14:01

passed #142473919
gitlab-org
rspec-mysql 24/50

00:14:42

passed #142473920
gitlab-org
rspec-mysql 25/50

00:13:33

passed #142473921
gitlab-org
rspec-mysql 26/50

00:17:34

passed #142473922
gitlab-org
rspec-mysql 27/50

00:14:48

passed #142473923
gitlab-org
rspec-mysql 28/50

00:13:43

passed #142473924
gitlab-org
rspec-mysql 29/50

00:16:43

passed #142473895
gitlab-org
rspec-mysql 3/50

00:11:16

passed #142473925
gitlab-org
rspec-mysql 30/50

00:16:22

passed #142473926
gitlab-org
rspec-mysql 31/50

00:18:34

passed #142473927
gitlab-org
rspec-mysql 32/50

00:15:36

passed #142473928
gitlab-org
rspec-mysql 33/50

00:17:24

passed #142473930
gitlab-org
rspec-mysql 34/50

00:19:03

passed #142473934
gitlab-org
rspec-mysql 35/50

00:16:45

passed #142473936
gitlab-org
rspec-mysql 36/50

00:13:49

passed #142473938
gitlab-org
rspec-mysql 37/50

00:16:05

passed #142473941
gitlab-org
rspec-mysql 38/50

00:16:46

passed #142473942
gitlab-org
rspec-mysql 39/50

00:13:28

passed #142473896
gitlab-org
rspec-mysql 4/50

00:14:50

passed #142473943
gitlab-org
rspec-mysql 40/50

00:13:38

passed #142473944
gitlab-org
rspec-mysql 41/50

00:14:48

passed #142473945
gitlab-org
rspec-mysql 42/50

00:16:04

passed #142473946
gitlab-org
rspec-mysql 43/50

00:13:21

passed #142473947
gitlab-org
rspec-mysql 44/50

00:16:40

passed #142473948
gitlab-org
rspec-mysql 45/50

00:18:00

passed #142473949
gitlab-org
rspec-mysql 46/50

00:13:59

passed #142473952
gitlab-org
rspec-mysql 47/50

00:12:39

passed #142473953
gitlab-org
rspec-mysql 48/50

00:13:46

passed #142473956
gitlab-org
rspec-mysql 49/50

00:17:59

passed #142473897
gitlab-org
rspec-mysql 5/50

00:11:59

passed #142473959
gitlab-org
rspec-mysql 50/50

00:14:49

passed #142473898
gitlab-org
rspec-mysql 6/50

00:14:44

passed #142473899
gitlab-org
rspec-mysql 7/50

00:13:30

passed #142473900
gitlab-org
rspec-mysql 8/50

00:13:11

passed #142473901
gitlab-org
rspec-mysql 9/50

00:14:45

passed #142473839
gitlab-org
rspec-pg 1/50

00:13:34

passed #142473851
gitlab-org
rspec-pg 10/50

00:14:08

passed #142473852
gitlab-org
rspec-pg 11/50

00:11:21

passed #142473853
gitlab-org
rspec-pg 12/50

00:14:26

passed #142473854
gitlab-org
rspec-pg 13/50

00:13:50

passed #142473855
gitlab-org
rspec-pg 14/50

00:13:24

passed #142473856
gitlab-org
rspec-pg 15/50

00:11:46

passed #142473857
gitlab-org
rspec-pg 16/50

00:13:14

passed #142473858
gitlab-org
rspec-pg 17/50

00:12:24

passed #142473859
gitlab-org
rspec-pg 18/50

00:14:22

passed #142473860
gitlab-org
rspec-pg 19/50

00:14:01

passed #142473840
gitlab-org
rspec-pg 2/50

00:11:33

passed #142473861
gitlab-org
rspec-pg 20/50

00:11:57

passed #142473862
gitlab-org
rspec-pg 21/50

00:15:48

passed #142473863
gitlab-org
rspec-pg 22/50

00:13:58

passed #142473864
gitlab-org
rspec-pg 23/50

00:14:52

passed #142473865
gitlab-org
rspec-pg 24/50

00:13:36

passed #142473866
gitlab-org
rspec-pg 25/50

00:13:01

passed #142473867
gitlab-org
rspec-pg 26/50

00:13:20

passed #142473868
gitlab-org
rspec-pg 27/50

00:13:00

passed #142473869
gitlab-org
rspec-pg 28/50

00:12:10

passed #142473870
gitlab-org
rspec-pg 29/50

00:13:23

passed #142473841
gitlab-org
rspec-pg 3/50

00:14:04

passed #142473871
gitlab-org
rspec-pg 30/50

00:13:02

passed #142473872
gitlab-org
rspec-pg 31/50

00:16:53

passed #142473873
gitlab-org
rspec-pg 32/50

00:13:01

passed #142473874
gitlab-org
rspec-pg 33/50

00:14:44

passed #142473875
gitlab-org
rspec-pg 34/50

00:12:57

passed #142473876
gitlab-org
rspec-pg 35/50

00:14:16

passed #142473877
gitlab-org
rspec-pg 36/50

00:13:16

passed #142473878
gitlab-org
rspec-pg 37/50

00:15:28

passed #142473879
gitlab-org
rspec-pg 38/50

00:12:58

passed #142473880
gitlab-org
rspec-pg 39/50

00:14:04

passed #142473842
gitlab-org
rspec-pg 4/50

00:12:04

passed #142473881
gitlab-org
rspec-pg 40/50

00:14:30

passed #142473882
gitlab-org
rspec-pg 41/50

00:15:08

passed #142473883
gitlab-org
rspec-pg 42/50

00:12:59

passed #142473884
gitlab-org
rspec-pg 43/50

00:13:54

passed #142473885
gitlab-org
rspec-pg 44/50

00:13:55

passed #142473886
gitlab-org
rspec-pg 45/50

00:14:12

passed #142473887
gitlab-org
rspec-pg 46/50

00:13:34

passed #142473888
gitlab-org
rspec-pg 47/50

00:13:16

passed #142473889
gitlab-org
rspec-pg 48/50

00:12:57

passed #142473890
gitlab-org
rspec-pg 49/50

00:12:29

passed #142473843
gitlab-org
rspec-pg 5/50

00:11:29

passed #142473891
gitlab-org
rspec-pg 50/50

00:14:21

passed #142473845
gitlab-org
rspec-pg 6/50

00:13:23

passed #142473847
gitlab-org
rspec-pg 7/50

00:12:42

passed #142473849
gitlab-org
rspec-pg 8/50

00:12:52

passed #142473850
gitlab-org
rspec-pg 9/50

00:12:15

passed #142473980
allowed to fail
sast

00:03:54

passed #142473960
gitlab-org
static-analysis

00:12:51

failed #142473904
gitlab-org
rspec-mysql 12/50

00:04:18

 
  Post Test
passed #142473991
gitlab-org
coverage

00:03:40

100.0%
passed #142473990
gitlab-org allowed to fail
flaky-examples-check

00:01:24

passed #142473992
gitlab-org
lint:javascript:report

00:01:07