Import from gemnasium
- Import RSpec shared examples, spec, and related Ruby classes from gemnasium project
- Add spec to test shared examples
- Create a Ruby gem
- Move Ruby classes to the namespace of this new gem
- Add a 2-step Dockerfile that exports the JSON schemas, and then builds and installs the gem
- Add a CI config that builds the image; it's very basic, and it'll be improved later on
See gitlab-org/gitlab#333829 (closed) and gemnasium!220 (merged)
Commits are NOT squashed and this is intentional.
Follow-up MRs
- Job to publish the image for a git tag
- Job to run rspec before building the image
- User documentation covering shared examples, helper classes, and image
- Developer documentation explaining how to run tests locally
- Add leading spaces to HERE docs passed to JSON.parse, to align them with the code. See !1 (comment 624534335)
- Rename RSpec examples for
Comparable
class to make them more descriptive. See !1 (comment 624529471) - Add
Comparable::Report
class, and remove cloning fromComparable
functions. See gemnasium!207 (comment 615968648)
Edited by Fabien Catteau