pallad icon indicating copy to clipboard operation
pallad copied to clipboard

🌙 Nightly CI with Mina Local Network

Open teddyjfpender opened this issue 1 year ago • 1 comments

Description

We've successfully implemented a Proof of Concept (POC) workflow utilizing mina-local-network, paving the way for a significant enhancement in Pallad's test suites. The proposed feature involves the integration of workflows & (CI) that not only test against this deployed network within CI but also against public networks.

🎯 Goals

  • Enhance Pallad's test suites.
  • Implement workflows & CI that utilize mina-local-network.
  • Test against both the local network in CI and public networks.

🛠️ Proposed Solution

  • Introduce environmental variables to the test suites for greater flexibility.
  • These variables should include configurable mnemonics, network URLs.
  • Eliminate hard-coded parameters currently present in our test suites to allow for more dynamic and adaptable testing environments.

🚀 Package Release via Nightly Workflows

  • Implement automated nightly workflows to release Pallad's packages to npmjs.
  • Ensure each nightly build passes all new and existing tests before release.
  • This automation enhances the frequency and reliability of package updates, providing users with the latest features and bug fixes.

💡 Expected Benefits

  • Enhanced test accuracy and coverage.
  • Increased flexibility and adaptability in testing different network environments.
  • Improved reliability and maintainability of Pallad's test suites.

teddyjfpender avatar Dec 28 '23 12:12 teddyjfpender

A first attempt was made at this in PR https://github.com/palladians/pallad/pull/121. It is a simple task to extend this nightly workflow against the node provider but not yet possible to abstract over archive provider as it is specific to Mina Explorer's API and not agnostic yet.

To better enable a nightly CI the @palladxyz/mina-graphql package should be renamed & refactored to @palladxyz/mina-providers to have agnostic providers that can all satisfy a single wallet-provider interface to fetch account information, transaction information, and transaction submission APIs. This would make it easier to extend Pallad to using a local web-node like OpenMina or any Mina data provider.

teddyjfpender avatar Jan 02 '24 19:01 teddyjfpender