• Contact us
  • Search

    Open source projects

    Building the future of software together

    Open Source Projects Hero Transparent SK 01092020

    Our commitment to open-source and research

    At Eficode we want to build the future of software. We are part of European research projects on test automation and serverless technologies (RADON). We also contribute to a variety of open-source projects and our team is responsible for several open-source plugins. By working with cutting-edge technologies, and sharing knowledge with the community, we can build the future of software together.

    TESTOMAT EU research project

    The next level of test automation

    The TESTOMAT project will support software teams to increase the development speed without sacrificing quality. The project will ultimately result in a Test Automation Improvement Model, which will define key improvement areas in test automation, with the focus on measurable improvement steps.

    With this EU research project, we wanted to advance test automation research on several fronts: enhancing specific testing technologies, reporting automatically from full Continuous Delivery pipeline, and creating a real-time dashboard for quality assurance alongside 33 other like-minded partners all over Europe.

    Read more
    TESTOMAT_Logo_300

    RADON EU research project

    Unlock the benefits of serverless FaaS for the European software industry

    RADON aims at creating a DevOps framework to create and manage microservices-based applications that can optimally exploit serverless computing technologies. RADON applications will include fine-grained and independently deployable microservices that can efficiently exploit FaaS and container technologies. The end goal is to broaden the adoption of serverless computing technologies within the European software industry.

    Within this academic project, Eficode will provide an industry perspective and a use case from our services. We will take the lead in defining the adoption and customization methodology, provide support for appropriate CI/CD tools (e.g., Jenkins), and build related continuous testing and delivery configurations.

    RadonLogo-small

    Jenkins Configuration as Code

    Manage your Jenkins instance as code with this easy-to-use plugin

    We developed the Jenkins Configuration as Code (JCasC) plugin to remove the need to manually edit Jenkins global configuration after deployment. JCasC configures Jenkins automatically once the configuration file is prepared. This solution also means you can restore your Jenkins within seconds. JCasC also allows you to reuse the same file to configure multiple Jenkins instances, or to spin up a local instance to test changes before you make them part of the production environment.

    Jenkins Configuration as Code is the last missing piece in the puzzle for you to completely manage your Jenkins instance as code. This project is the result of a collaboration between Eficode Praqma and Cloudbees, and a growing number of external contributors. You’re more than welcome to contribute with code, or by creating issues with features or bugs. We don’t just want to solve our problems, we want to solve yours too!

    GitHub Read blog
    JCasC 1

    Helmsman

    A CI/CD solution to automate Helm charts deployment to your Kubernetes cluster

    Helm packages Kubernetes applications as reusable, customizable, and shareable packages called “charts”. However, as Helm is NOT a CI/CD tool you have to write your own custom scripts and do lots of configuration to manage the charts lifecycle from a CI/CD pipeline.

    At Eficode we’re all about automation, so we created Helmsman. Helmsman adds a layer of abstraction around Helm and allows you to declaratively define a desired state of your Helm charts in a Kubernetes cluster. It enables you to automate your Helm charts lifecycle management. Helmsman is told how to navigate from a declarative file called Desired State File (DSF) that you maintain in your version control system. It then interprets your wishes from the DSF and compares it to what’s running in the designated cluster. It figures out what changes need to be applied to make your wishes come true without maintaining/storing any additional state information anywhere.

    Github Read blog
    Helmsman

    Even more projects we contribute to...

    Git-Icon-Black-small

    2git

    A Groovy DSL to migrate to Git

    2git is a Groovy DSL designed to script your VCS migration. It continuously runs and tweaks your migration script to give you complete confidence in your migration. 2git currently supports migrating from Clearcase and Clearcase UCM to git and Artifactory. 2git was designed to iterate on complex migrations. We wanted to keep scripting freedom while mitigating the pains of dealing with the source VCS.

    Robot framework icon

    Robot Framework plugin for Jenkins

    Collect and publish Robot Framework test results in Jenkins

    A plugin to collect and publish Robot Framework test results in Jenkins with the following features:

    • Test suite and case details with trend graphs
    • Environment variable expansion for build paths in configuration
    • Wildcard support for output files for parsing and archiving of multiple Robot result files
    • Collection and archiving of original Robot report HTML files
    • Summary of Robot run on build page
    • Summary of latest Robot run on project page
    • Trend graph of passed tests over builds on project page
    • Marking build failed/unstable/successful according to pass thresholds given by the user
    • Option to evaluate only critical tests against the pass thresholds
    • Listview column to show overall passed/failed tests in project listing and duration trend
    • Configurable archiving of arbitrary Robot related artifacts per build
    • Token macros for usage with e.g. email-ext plugin
    • Test visibility in radiator views

    Eficode contributed to the creation of the plugin and is currently maintaining the plugin.

    Jenkins icon-250-1

    Pre-tested Integration Plugin

    A Jenkins plugin to prevent your master from breaking

    This Jenkins plugin is designed to keep your master branch from breaking under Continuous Integration by introducing an automated quality tollgate. It allows you to automatically rebase, build, test and run all kinds of checks on your changes before ultimately delivering them to master.

    As a Git SCM decorator, the Pre-tested Integration Plugin listens for new branches matching a configured pattern (ex.: ready/*). When triggered, it merges the target branch into master locally and lets your job run its configured steps. Should they all pass, the plugin considers the merge result good enough and pushes it to the remote master. All that’s left is to make sure only Jenkins has write access to master, and voilà, you are now the proud owner of an unbreakable mainline.

    CI-CD@2x

    Praqmatic Automated Changelog (PAC)

    An automated way of creating accurate changelogs

    This tool allows us to avoid a lot of manual work and uncertainty around new features and new releases. PAC builds up changelogs/release notes by querying your Git repository and possibly your Application Lifecycle Management (ALM) system(s) for extra metadata.

    You can use PAC to create a changelog suited for both developers and release managers. Using templates you can customize the look and feel and generate entire web pages or pdf documents using a simple configuration file.

    Robot framework icon-200

    ImageHorizonLibrary

    A cross-platform Robot Framework library for GUI automation based on image recognition

    Dealing with the automation of desktop client software with graphical user interfaces (GUI) is not always so rosy, especially implemented with older tech. Taking inspiration from predecessors our open source release is an effort to provide ever-increasing automation utilizing image recognition.

    Eficode created and maintains the library.

    Robot framework icon

    Oxygen for Robot Framework

    A new way to consolidate test reporting

    Oxygen is a Robot Framework tool that empowers the user to convert the results of any testing tool or framework to Robot Framework's reporting to consolidate all test reporting together regardless of tools used.

    Eficode created and maintains the tool.

    Robot framework icon-200

    HttpRequestLibrary for Robot Framework

    Test REST interfaces with Java

    This is a library to test REST interfaces in a simple way when running Robot Framework with Maven/Gradle. The goal is to simplify dependency management and enable tests to run only with Java.

    Jenkins icon

    InfluxDB plugin for Jenkins

    Collect data from multiple Jenkins plugins into a single time-series database

    A plugin to send data from various different Jenkins plugins into InfluxDB. It currently supports data from changelog, JUnit, and SonarQube without a separate plugin and it supports Cobertura, JaCoCo, Performance, Performance publisher, Robot Framework, and Serenity plugins. You can also write your own custom data and tags inside the pipeline jobs.

    Eficode created the plugin and is currently maintaining it.

    Robot framework icon-200

    Robot Framework Maven plugin

    Include Robot Framework tests to Maven lifecycle

    The Robot Framework Maven plugin allows Robot Framework tests within a Maven lifecycle. That way developers or CI systems don't need to have anything special installed to be able to run the tests at the necessary phase.

    Robot framework icon-200

    Jrobotremoteserver

    A server offering Java-based Robot Framework libraries remotely via Remote library (XML-RPC)

    When running Robot Framework tests with Python, it might still be necessary to use Java-based libraries. Jroboremoteserver publishes Java-libraries to be used over XML-RPC from Python running Robot Framework. 

    Jrobotremoteserver is an implementation for Java libraries, but there are other remote servers for other languages available, too. See here

    Robot framework icon-200

    JavalibCore for Robot Framework

    Create Java-based Robot Framework libraries in a simpler way

    JavalibCore helps to build Java-based Robot Framework libraries in a simple way and provides e.g. annotations to make the actual library code cleaner.

    Robot framework icon-200

    SeleniumLibrary for Robot Framework with Java

    Browser testing with Robot Framework

    This library provides Selenium for Robot Framework in the Java-way. It can be included in the application testing lifecycle within Maven (or other Java project management tools).

    Robot framework icon-200

    DBLibrary for Robot Framework with Java

    Test databases connectable with JDBC drivers

    Some databases (like Oracle) are a bit hard to be connected with other languages than Java. This library can be used along with Jrobotremoteserver for these kinds of databases, or for databases in tests running with Java.

    DevOps pioneers

    At Eficode we help teams build software better, to the benefit of companies big and small. We were doing DevOps before it was a word. Over a decade later, we’ve seen DevOps transformations across industries.

    We believe that the future of software development is unbelievably effective. Automation, continuous improvement for the business and cross-collaboration between teams are at the core of our mission.

    We help drive the DevOps movement by training the next generations and sharing our experience with the community of DevOps practitioners.

    More about Eficode
    Ambitious

    Do you have any questions?
    We are happy to help you!