[FOLIO-1293] Replace folio-testing-platform with platform-complete Created: 20/Jun/18  Updated: 12/Nov/18  Resolved: 27/Sep/18

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

Type: New Feature Priority: P2
Reporter: Jakub Skoczen Assignee: John Malconian
Resolution: Done Votes: 0
Labels: build-release, ci, sprint41, sprint42, sprint43, sprint44, sprint45, sprint46, sprint47
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Issue links:
Blocks
blocks FOLIO-1266 Reorganizing CI and nightly with plat... Closed
is blocked by FOLIO-1335 document the differences between dev,... Closed
Sprint:

 Description   

Describe the general idea here John Malconian Matthew Jones. The requirement is that platform-complete can use platform-core (and potentially other platforms like platform-acquisitions) as a dependency.

Overview

By establishing smaller collections of FOLIO apps, we can version, build, test, and deploy related apps in smaller units, but still include them in larger deployments. Platform-complete is the first larger platform to contain a smaller platform, platform-core. Future platforms will follow the platform- prefix in Github for consistency. These are the first few platforms under consideration:

Platform-complete replaces folio-testing-platform as a means to version, build, test, and deploy a complete platform of FOLIO apps. This platform depends on other established platforms, specifically platform-core.

Platform-core contains the core collection of FOLIO apps, also versioned, for building, testing, and deployment. One of platfom-core's key uses is for testing interoperability of core apps during CI process. However, platform-core can be deployed independently, or included in a library's own custom platform definition.

Platform-acquisitions (TBD) is another proposed collection of related FOLIO apps that can be defined and versioned together for inclusion of larger platform. It will have its own cross-module tests to maintain. Once defined, platform-acquisitions would become a dependency of platform-complete, replacing the corresponding individual apps defined in platform-complete.

Platform-sample (TBD) is a proposed rename of stripes-sample-platform for consistency. This platform is primarily used for development and contains two modules enabled by default. As a development platform, this one is less likely to be a building block for production platforms.

Testing

Just like an individual UI module, each platform will have a test directory, /test/ui-testing, where cross-module tests for the platform can be defined. Each platform will then depend on ui-testing, directly or via the CLI, for invoking these tests, and optionally, a regression of the UI modules, or child platforms, within.

Shared between all platforms will be some basic tests, such as logging in. The location of these tests is TBD, but may likely live with the related source code, such as stripes-core for the login page.

Config

While the stripes.config.js that exists with platforms today is technically a tenant configuration, it does serve as an appropriate config for CI purposes and is a suitable example for those implementing a platform. Platform-complete's stripes.config.js will import the stripes config from its child platforms to avoid duplication of enabled modules.

Work outline

Work for this ticket involves getting platform-complete established and running. Work on other platforms, like acquisitions, is separate.

  • Create a new platform-complete repo on github
  • Integrate with platform-core (stripes.config.js and invoking tests)
  • Version/release 1.0 of platform-complete and platform-core
  • Deprecate folio-testing-platform

Note: There is a dependency on UITEST-22 Closed in that the recently moved tests need to pass before platform-complete can replace folio-testing-platform. However, the scaffolding of platform-complete could happen in parallel.



 Comments   
Comment by Matthew Jones [ 06/Aug/18 ]

John Malconian, I have a working example of platform-complete for you to take a look at:
https://github.com/folio-org/platform-complete/tree/FOLIO-1293

The following modules are included on top of platform-core as an example:

modules: {
    '@folio/calendar' : {},
    '@folio/vendors' : {},
    '@folio/finance' : {},
  }

I still need to draft the readme, but will look a lot like platform-core's FOLIO-1344 readme once finished

test-int and test-regression (introduced in FOLIO-1344 Closed ) should both be functional, however, platform-complete doesn't yet offer any new tests beyond what platform-core offers. I have noticed there are some vendor tests in ui-testing that can be moved to ui-vendors.

I will also look into reusing platform-core's branding so its not duplicated, but that is lower on the list.

Comment by Jakub Skoczen [ 08/Aug/18 ]

Matthew Jones John Malconian can we consider this done?

Comment by John Malconian [ 20/Aug/18 ]

Once we cut over completely to invoking platform tests within platform-core, we need to figure out how to "release" platform core as a dependency to platform-complete. Once all that is figured out, we can phase out folio-testing-platform with platform-complete.

Comment by John Malconian [ 27/Sep/18 ]

The snapshot branches of plaform-complete and platform-core are now used to build folio-snapshot and folio-testing platforms. 'folio-testing-platform' is now deprecated, at least for daily builds.

Generated at Thu Feb 08 23:12:15 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.