Community Blog

Community Blog

What it Takes to Build a Software Foundation

February 02, 2018

Developer.png


It’s no secret that Travis CI loves open source. Travis CI is the home of 
open source testing and is available to use for any open source software project out there. It helps ensure that best practices are followed, and helps improve overall software quality.

In this journey, there is a shared path between Travis CI and Symphony Software Foundation. Symphony Software Foundation provides the system infrastructure (the Open Developer Platform) to enable the best open source developer experience, while enforcing legal compliance, security and quality standards.

Travis CI (among other vendors) works with the Open Developer Platform in a continuous integration environment. The majority of projects hosted by the Symphony Software Foundation use Travis CI as their preferred open source software build system which is something that fills us with joy and pride. We have analyzed which parts of our offering are particularly important.

Self-governance

Although this requirement may change depending on the Foundation’s setup, in OSS communities it is crucial to deliver power to people, tear down walls and simplify bureaucracy which is why team members should be able to make any change to their project, assuming that the outcome respects given requirements. Travis CI maps 1:1 the GitHub repository permissions and allows:

  1. Admins to access the repository settings
  2. Write access collaborators to access more basic build features, such as triggering a rebuild

Build best practices

With (currently) 58 projects hosted, it’s easy to lose sight of build best practices and strategies, and, at the same time, there’s lots of potential to share valuable solutions.

Travis CI simplifies this practice by defining .travis.yml, a YAML file which normally lives in the root folder of each repository and enforces a common language to define build tasks. With more than 900k open source projects using Travis CI, its wide adoption plays a crucial role, as there are lots of available resources to customize and extend the build features.

Deployment customizations

Travis CI delivers a complete list of deployers that help to shape a project’s build and delivery process. However, there are often changes to systems and services, especially when integrating with multiple external systems.

As a perfect example of this scenario, the SSF team was able to integrate Travis CI with OpenShift Online (V3) and describe the steps on their continuous delivery pipeline. You can see it in action on the vote-bot project.

The code is currently based on a bash script, but we’re working on packaging it as an official Travis CI deployer. Regardless of the service you use, you can always write your own build or deployment scripts.

Public dashboards

null
 

Anyone who consumes open source software knows the (good) feeling of landing on a project’s homepage and seeing green badges, especially when they’re linked to a public dashboard with the full logs of a build execution (starting from a known, empty state).

The proof of a working, portable build is paramount for establishing confidence in software consumers, and it’s a great incentive for new contributors, as they will be able to verify every step of their local build against the log of a successful execution.

The Symphony Software Foundation uses the Travis CI dashboards to measure and validate build-specific activation criteria, which are validated when promoting a project from Incubating to Released state.

null

 

Hybrid solutions

Aside from open source, the financial world relies on a huge amount of closed source activities, which present the very same challenges discussed thus far. Even for the same projects, firms may be obliged to follow part of the development process internally and part publicly.

Travis CI takes care of running your tests and deploying your apps, making these tools and processes available for each one of your projects.

You can start using Travis CI to test and release your public or private projects or use their on-premises solution: Travis CI Enterprise. Visit the website to learn more. 

Co-Authors: Kris Svardstal, Travis CI and Maurizio Pillitu, Symphony Software Foundation

 

 

Interested in a secure and compliant Fintech sandbox? Learn more about the Open Developer Platform.

Learn about the Foundation's Open Developer Platform.