Skip to content

How CDeep3M release system works

Chris Churas edited this page Oct 18, 2018 · 25 revisions

This page describes how CDeep3M releases work.

Disclaimer

CDeep3M relies on a Makefile with several targets that package and deploy CDeep3M.

Overview

There are several important make targets that relate to the release of software. The following bullet points provide summary descriptions of what these targets do.

  • checkrepo Verifies the git repo is the official CDeep3M repo by using the git remote get-url origin (added in git 2.7) command to get the repo url.

  • updateversion Prompts user for new version which is saved in the VERSION file

  • test

    Runs bats (version 0.4.0) tests which are located in the tests/ directory

  • dist

    This target packages CDeep3M into a tarball under the dist/ directory and contains a lot of tasks. First this target copies over CDeep3M code (and README.md) into dist/cdeep3m-<VERSION>/ directory. Then using cat, the aws/motd file is copied into that same directory and the @@VERSION@@ keyword is replaced using the sed command. Also using cat the aws/basic_cloudformation.json file is copied to dist/cdeep3m_<VERSION>_basic_cloudformation.json and using sed @@VERSION@@ tag is replaced in the file. Using sed the version and the [CloudFormation][cloudformation] link is updated in the README.md file. Finally the dist/cdeep3m-<VERSION>/ is gzipped and tarred into a file named dist/cdeep3m-VERSION.tar.gz

  • release

Clone this wiki locally