[FOLIO-3017] List RAML issues with migration to new CI tool api-lint Created: 16/Feb/21  Updated: 04/Oct/22  Resolved: 04/Oct/22

Status: Closed
Project: FOLIO
Components: None
Affects versions: None
Fix versions: None

Type: Task Priority: TBD
Reporter: David Crossley Assignee: David Crossley
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Issue links:
Relates
relates to FOLIO-3231 Ensure that each API-using backend mo... Closed
relates to FOLIO-2792 Investigate AMF "validate" facility t... Closed
relates to FOLIO-2893 Create folio-tools/api-lint to verify... Closed
Sprint:
Development Team: FOLIO DevOps

 Description   

The "api-lint" CI tool ( FOLIO-2893 Closed ) is ready to be used by RAML-using and OpenAPI-using projects.

(This is the replacement for the now deprecated "lint-raml" runLintRamlCop tool.)

Note that this api-lint tool is more thorough than our previous CI tool (based on raml-cop and its underlying outdated raml-1-parser). So projects might find new violations being reported.

For projects that are not listed below, the replacement is straight-forward Jenkinsfile configuration.

For some projects there are new issues being reported. The fixes should be easily handled.

For a small set of projects, there are some issues which are more complex. These are either a real problem with the project's API description files, or are perhaps unidentified bugs with the underlying tool. If the latter, then please provide a basic test case which we can pass upstream ( FOLIO-2792 Closed ).

Summary 2022-01-10 (using current amf-client-js v5.0.2):
Total 319 RAML files, 21 with some non-conformance.
Total 25 OAS files, all conform.



 Comments   
Comment by David Crossley [ 16/Feb/21 ]

Last updated: 2022-10-04
This is a summary of RAML-based API descriptions that would have some new issues reported when migrating to the new api-lint ( FOLIO-3231 Closed ). Most would be easily addressed.

The label "OLD" means either that the project has now migrated to api-lint, or the violation has gone as api-lint has been upgraded to a new version of the underlying amf-client dependency (e.g. perhaps due to us providing an upsteam bug report), or that the project is still using the old deprecated lint-raml but have since modified their api description.

For projects that are not on this list, there should be no issues encountered when upgrading ( FOLIO-3231 Closed ).

Easily handled:

  • Migrated: edge-patron/ramls/edge-patron.raml
  • Migrated: folio-custom-fields/ramls/custom-fields.raml
  • Migrated: mod-circulation/ramls/loan-anonymization.raml
  • Migrated: mod-data-export/ramls/dataExport-logs.raml
  • Migrated: mod-data-import-converter-storage/ramls/data-import-converter-storage.raml
  • Migrated: mod-finc-config/ramls/fincConfigMetadataSources.raml
  • OLD: mod-inventory-storage/ramls/instance-storage-batch.raml
  • OLD: mod-inventory-storage/ramls/instance-sync.raml
  • OLD: mod-inventory-storage/ramls/inventory-view.raml
  • OLD: mod-inventory-storage/ramls/item-storage-dereferenced.raml
  • Migrated: mod-kb-ebsco-java/ramls/costperuse.raml
  • Migrated: mod-orders/ramls/check-in.raml
  • Migrated: mod-orders/ramls/order.raml
  • Migrated: mod-orders/ramls/pieces.raml
  • Migrated: mod-orders/ramls/receive.raml
  • Migrated: mod-orders/ramls/receiving-history.raml
  • OLD: mod-orders-storage/ramls/orders.raml
  • Migrated: mod-orders-storage/ramls/pieces.raml
  • Migrated: mod-orders-storage/ramls/purchase-order.raml
  • Migrated: mod-orders-storage/ramls/receiving-history.raml
  • Migrated: mod-patron/ramls/patron.raml
  • Migrated: mod-permissions/ramls/permissions.raml
  • Migrated: mod-source-record-manager/ramls/change-manager.raml

Known issue:

  • raml/ramls/jsonSchemas.raml
  • raml/ramls/ramls.raml

More complex or unidentified:

  • Migrated: mod-data-import/ramls/dataImport.raml (unresolved reference)
  • Migrated: mod-inventory/ramls/inventory.raml (Boxed Error with one example)
  • Migrated: mod-inventory-storage/ramls/holdings-storage.raml (required media-type for 200 response)
  • Migrated: mod-inventory-storage/ramls/instance-storage.raml (required media-type for 200 response)
  • OLD: mod-source-record-manager/ramls/change-manager-handlers.raml (unresolved reference)
  • OLD: mod-source-record-manager/ramls/metadata-provider.raml (unresolved reference)
  • OLD: mod-source-record-storage/ramls/source-record-storage-handlers.raml (unresolved reference, circular reference?)
  • OLD: mod-source-record-storage/ramls/source-record-storage-records.raml (unresolved reference, circular reference?)
Generated at Thu Feb 08 23:24:59 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.