finos / common-domain-model

The CDM is a model for financial products, trades in those products, and the lifecycle events of those trades. It is an open source standard that aligns data, systems and processes and is available as code in multiple languages for easy implementation across technologies.
Other
121 stars 53 forks source link

Migration of CDM Release Process from codefresh to github actions #2623

Open chrisisla opened 8 months ago

chrisisla commented 8 months ago

As agreed in the meeting of the CDM Technology Architecture Working Group on November 9th (#2484) the next initiative to be undertaken by the group is to migrate the existing release process from codefresh to github actions. This should make the release process more transparent to the community, and allow a broader group of the CDM maintainers to execute the process.

This Issue describes the scope that we will be using for the project.

[!IMPORTANT] This project will only be looking at the build/release technical process. The governance, approval, roles and responsibilities, content and scheduling of releases will not be considered as part of this work. The CDM Steering Working Group will define/agree any changes to these aspects of the release process.

In Scope

[!NOTE] Minesh has confirmed that the tasks currently performed by codefresh are all available in github actions. However, we should cater for the fact that during the development we may encounter restrictions on what can be migrated to github actions. We will do our best not to reduce the functionality of the release process but will document any changes that we need to make.

Out of Scope

These are all out of scope for this project. These can be considered and addressed in future phases of work.

If you have any comments or suggested changes to the scope then please add a comment to this Issue and they will be considered for inclusion.

chrisisla commented 8 months ago

FYI: @dschwartznyc , @manel-martos , @osttra-j-joyce, @eacunaISDA , @brianlynn2 , @nicholas-moger

minesh-s-patel commented 7 months ago

Slides for meeting - CDM - Migration of the Release Process - Phase 1 29/01/2024 - 13:00 GMT

CDM Build and Release Process.pptx

dschwartznyc commented 7 months ago

Agenda for kick-off meeting: Jan 29, 8-10 am EST, 1-3 pm GMT, 2-4 pm CEST, 6:30-8:30 pm IST

  1. Agenda, introductions, process: Dan, 5 minutes
  2. In scope / out of scope: Chris, 10 minutes (see https://github.com/finos/common-domain-model/issues/2623)
  3. Review the key project activities: Dan, 15 minutes
dschwartznyc commented 7 months ago

Recap from the kick-off meeting Jan 29, 8-10 am EST, 1-3 pm GMT, 2-4 pm CEST, 6:30-8:30 pm IST

Comments and corrections are welcome.

In attendance (by name and GitHub Id or company): Arnau Oller (TradeHeader), Bramaramba Bhakthavatsalam (JPM), Brian Lynn (@brianlynn2), Chris Rayner (@chrisisla), Dan Schwartz (@dschwartznyc), Dhruva Sen Gupta (JPM), Eleonora Acuna (@eacunaISDA), Geogy Varughese (JPMC), Gerard Opazo (@gopazoTH), Harsha Valaturu (JPMC),James Joyce (@osttra-j-joyce), Manuel Martos (@manel-martos), Minesh Patel (@minesh-s-patel), Nicholas Moger (JPM), Pranabashish Deb (JPM),Tom Healey (@tomhealey-icma), Vishal P Naik (JPMC)

Agreed:

  • main_clone
  • SetProperties
  • ReleaseProperties
  • SnapshotProperties

Actions:

Notes: current experience is that it takes approximately 2 hours for the build process to run when there are no issues. The timing for resolution of issues depends on the nature of the problem.

manel-martos commented 5 months ago

The proposed workflow file has been pushed into the hosted repository. Find it here.

dschwartznyc commented 5 months ago

Recap and next steps from meeting # 2 - Mar 26, 9 AM EDT, 1 PM GMT, 2 PM CEST

Comments and corrections are welcome.

In attendance (by name and GitHub Id or company): Arnau Oller (TradeHeader), Brian Lynn (@brianlynn2), Chris Rayner (@chrisisla), Dan Schwartz (@dschwartznyc), Eleonora Acuna (@eacunaISDA), Gerard Opazo (@gopazoTH), Hugo Hills (@hugohills), Manuel Martos (@manel-martos), Tom Healey (@tomhealey-icma)

Recap:

Next steps:

dschwartznyc commented 5 months ago

Recap and next steps from meeting # 3 - Apr 10, 10 AM EDT, 3 PM BST, 4 PM CEST

Comments and corrections are welcome.

In attendance (by name and GitHub Id or company): Arnau Oller (TradeHeader), Brian Lynn (@brianlynn2), Chris Rayner (@chrisisla), Dan Schwartz (@dschwartznyc), Eleonora Acuna (@eacunaISDA), Gerard Opazo (@gopazoTH), Manuel Martos (@manel-martos), Minesh Patel (@minesh-s-patel), Tom Healey (@tomhealey-icma)

Recap:

Next steps:

manel-martos commented 4 months ago

Contribution improvements agreed on meeting # 4 Apr 29 Source PR

dschwartznyc commented 4 months ago

Recap and next steps from meeting # 4 - Apr 29, 9 AM EDT, 2 PM BST, 3 PM CEST

Comments and corrections are welcome.

In attendance (by name and GitHub Id or company): Arnau Oller (TradeHeader), Brian Lynn (@brianlynn2), Chris Rayner (@chrisisla), Dan Schwartz (@dschwartznyc), Eleonora Acuna (@eacunaISDA), Hugo Hills (@hugohills-regnosys), Manuel Martos (@manel-martos), Tom Healey (@tomhealey-icma). Apologies: MInesh Patel (@minesh-s-patel)

Open question:

Next steps:

dschwartznyc commented 1 month ago

As discussed in the TAWG meeting on July 11 , due to challenges in engagement this project is on hold.

Under various branches, the repo mentioned above is current with work to date.

The next steps will be to finalize and test the changes based on agreement on how to address the open questions including those listed below:

  1. What should trigger the process? Is it a raised PR? A commit/merge? An approved PR? Another action?
  2. Should the new process replicate the current one and maintain separate jobs that are executed in parallel. Doing so will require extra action(s) to upload any artifacts that need to be shared. Uploading data leads to a secondary question of whether to clean up when the process completes. Alternatively, to avoid upload, download and clean up we can shift to one big job.

For reference, participants in the project (by name and GitHub Id or company): Arnau Oller (TradeHeader), Brian Lynn (@brianlynn2), Chris Rayner (@chrisisla), Dan Schwartz (@dschwartznyc), Eleonora Acuna (@eacunaISDA), Hugo Hills (@hugohills-regnosys), Manuel Martos (@manel-martos), MInesh Patel (@minesh-s-patel),Tom Healey (@tomhealey-icma).