agarciadom / mdenet-mde-ci-tutorial

Base project for the MDENet Education Platform + CI tutorial

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Template project for model management in CI pipelines

This is an example project that shows how to use the Epsilon CI Docker Image from Committed Consulting to build continuous integration pipelines that include automated model validations and transformations with Eclipse Epsilon.

The work on the Epsilon CI Docker image was partly funded by an EPSRC MDENet commissioning fund grant.

The project includes four example Epsilon programs:

  • An EVL script which validates a state machine model.
  • An ETL script which transforms the state machine model into a Java abstract syntax model.
  • A combination of EGX and EGL scripts which generate the code and the tests from the Java abstract syntax model.
  • An EGL script which takes the JSON from the Github issues API, and produces candidate release notes for Epsilon 2.5.0.

The project also includes some supporting slides, transformed by Pandoc from Markdown to HTML (using reveal.js), and published to this Github Pages website.

Running from the MDENet Education Platform

From public template (read only)

To try out the transformations in the MDENet Education Platform, follow this link.

If you would like to deploy the Education Platform yourself, the source code is available on Github. The activities in this repository use the Epsilon tool functions for the Education Platform in this repository.

From Github Classroom assignment (read/write)

To work on the transformations from your Github Classrooms assignment, use the invite link from your teacher and accept the assignment. Your teacher should have preinstalled the MDENet demo app into the Github organisation for your course.

Github will create a new repository for you, and run a workflow that updates some of the links in this README.

Once the workflow has updated the README, visit this link.

From private repository (read/write)

Click on the "Use this template" button above, and use it to create your own private repository from this template.

Install the MDENet demo app into your new repository.

Github will automatically run the workflow that updates this README.

Once the README has been updated, visit this link.

Running from Eclipse

  • Download and install Epsilon's Eclipse development tools
  • Import this project into Eclipse using the File -> Import -> Existing Projects into Workspace wizard
  • Right-click on Run Ant Workflow.launch in Eclipse's Project/Package Explorer view
  • Select Run as -> Run Ant Workflow

This will generate the source code for the Gradle project in gradle. Run the build from a terminal:

cd gradle
./gradlew build

Running from Docker

If you have Docker installed, run this command:

./run-build.sh

About

Base project for the MDENet Education Platform + CI tutorial


Languages

Language:Shell 100.0%