Travis CI / Assembla Handshake

By

Sep 27, 2023

Contents

Build and Test Code from Assembla Perforce Helix Core and Apache Subversion with Travis CI

Travis CI is happy to announce a further extension of our integration with Assembla. On top of our existing support for Git Repositories in Assembla Spaces, now you can easily build and test software over Perforce Helix Core (P4) and Subversion (SVN) repositories in Assembla Spaces.

Assembla supports Git, SVN and P4 repositories under one roof.  By extending the existing Assembla and Travis CI integration, the Assembla users utilizing SVN and P4 version control systems can now build and test on Travis CI!

Assembla is a powerful source code management and project management tool. It allows its users to host source code in a variety of version control systems under one roof: Git, Apache SVN and Perforce Helix Core. 

The Apache SVN central version control system was a widely adopted standard before Git took the throne.  Apache SVN is still in use by a large market today. The P4 (Perforce Helix Core) version control system is used in industries where managing large assets via the version control system is a vital requirement.

The rare capability of having different cloud-based repositories types in tight integration with its ticketing system and various tools enables software development teams to maintain their projects: from the definition, through source code development and online collaboration, to project progress reporting. Continuous integration/deployment is a standard nowadays, automating software building and testing processes. Linking all types of the repositories a team or company may have with a single CI/CD tooling helps to standardize automated build and test management. Travis CI extended integration with Assembla enables building and testing the code from all repository types hosted by Assembla – which means a major, easy to use cloud CI/CD system just became available for SVN and P4 based builds. Unified Travis CI build instructions syntax and ability to share standard build configuration snippets helps to standardize and easily maintain build definitions among different kinds of version control systems.   

Travis CI Customers can now build and test code empowered with Assembla capabilities using these world class repositories:

  • Git
  • Perforce Helix Core (P4)
  • Apache Subversion (SVN)

How does that work?

Getting started with  Travis CI as a CI/CD tool for SVN and P4 repositories is easy, simply follow these steps: 

  • Sign in to Travis CI with your Assembla account.
  • In Travis CI: Travis CI will synchronize your Assembla Spaces to Travis CI (displayed as organizations in Travis CI) along with repositories. You can also use the ‘Sync now’ button in Travis CI Web UI, in your account ‘Repositories’ section to trigger synchronization on demand.
  • In Travis CI: enable the selected repositories with Travis CI – Git, P4, or SVN.
  • In Travis CI: make sure that at least the Trial plan is assigned for the Travis organization named after your Assembla Space.
  • Put build instructions inside the .travis.yml file into the appropriate Assembla repository.
    • For the Assembla Git repository, place the .travis.yml in the root directory.
    • For the Assembla SVN repository, place the .travis.yml in one of the following:
      • /trunk/.travis.yml – this enables automatic builds after commits to the trunk.
      • /branches/[branch name]/.travis.ymlthis enables automatic builds after commits to a branch [branch name].
    • For the Assembla P4 repository/depot, place the .travis.yml file in one of the following:
      • /[depotname]/main/.travis.yml  – this enables automatic builds after submits to /[depotname]/main/.  The default is  /depot/main/.travis.yml .
      • /[depotname]/[stream name]/.travis.yml  – this enables automatic builds after submits to a specific stream /[depotname]/[stream name]/ .
  • Commit the source code change in the Assembla repository and see the builds running on Travis CI
O3uLeLzAvuNBE5ThE2HXjbk3 nY3FmtS yRta5bKr9Fw9WFEDKdi dyMTB zbGzZo5Qt6ugNKLPm chkUtH7vYhIRRrlBHgvSg JJBJcpsoi JHu2el Y5PS0029TfK3lGcLq1rdmco4 jjz6H2H 5E

The build started over a submit to P4 repository – Assembla receives P4 submit, sends notification to Travis CI, Travis CI triggers the build instructions found in the respective repository’s .travis.yml file

Sample .travis.yml file:

dist: focal

language: ruby

rvm:

  – 2.2

 – jruby

The automatic Travis CI build will be triggered on the next commit after adding the .travis.yml file in the repository enabled within Travis CI.

Montana Mendy created a short video illustrating how this feature works, check it out here.

Why do I need this?

The Travis CI allows you to create automatic build and test pipelines for your source code, kept in Assembla, P4, and SVN repositories. Since this is a cloud service, you don’t need to worry about maintenance of the infrastructure or scaling it up (or sometimes down) on your own.

The common use case for using Travis CI is to automate the build and tests process. Existing teams may have their scripts already present – that’s perfect; re-use these by calling them as a step in the .travis.yml build instructions.

Once done, the next step may be to add a stage of deploying (or uploading) the artifacts built, also conditionally – e.g., only if the test stage was successful. Travis CI makes it easy to schedule nightly or weekly builds for your software or even run compute-heavy processes using larger CPUs or GPUs (see Boost your Travis builds with GPU). 

Yes, you can use Travis CI for your heavy computational builds.  There are different build environment configurations available at your disposal in terms of available CPU and RAM. If you would like to use a build environment with GPU attached, the command line version of Blender may allow you to utilize CI/CD to render graphics or video. The command line version of TensorFlow may allow running some machine learning computations using cloud CI/CD.

The syntax of .travis.yml is easy for developers to learn, enabling each team to maintain their repository build and test recipes as code. This has the advantage of not requiring a specialized crew to maintain your automated CI/CD process – the build instructions update is evolving with the source code, and ownership of these is distributed.

Happy building!

Read more:

Written By

Reviewed By