Skip to content

Pass SPDX licenses from backend to frontend

- requested to merge 37999-spdx-dropdown into master

What does this MR do?

This MR switches us from reling on hard coded licenses in the license compliance page, to ones provided by the backend. The backend runs a cron job to periodically update the SPDX licenses from a publicly available database.

Issue: #37999 (closed)

Also covers the Jest technical debt for: Follow-up: Refactor the rest of add_license_form_spec.js to use shallow mount

Allows for us to render the list of license compliance licenses based on backend provided values instead of a hard coded array in the frontend

Before

Hard coded list that lived in https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/app/assets/javascripts/vue_shared/license_compliance/constants.js#L28 Screen_Shot_2020-07-24_at_5.15.06_AM

After

Licenses come from backend. Updated via a CRON job.

To run job locally run:

./bin/rails runner 'ImportSoftwareLicensesWorker.new.perform'

Screen_Shot_2020-07-24_at_4.12.55_AM

Screenshots

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Closes #37999 (closed)

Edited by -

Merge request reports