Repository: Cloud-CV/EvalAI
Issue: provide a way for users/developers to quickly observe build version from UX

Very low priority, but please consider stamping a build version into a meta header on each page or as a text element on a footer.  This will help to link and confirm fixes between versions.

Will we use which version system ? Semantic version.. own format...

What do you think about stay so:

![sem titulo](https://user-images.githubusercontent.com/4117999/38456252-0eaf2dec-3a59-11e8-8211-e2a7d661961c.png)


Thanks, @ezavesky for this suggestion. We haven't figured out yet that how we want to version EvalAI. Temporarily, what I am planning to do is to change the deployment on the production website to be linked with a new branch `production` instead of attaching it to the `master` branch. So, 

`production` branch -> http://evalai.cloudcv.org
`staging` branch -> http://staging.evalai.cloudcv.org 
`master` branch -> Nightly build

@Marlysson: Please do let us know if you have suggestions for how we should version EvalAI. We are more than welcome to accept PR for the same. Thanks!

@deshraj We may use so:

**A**.**B**.**C**

**A: Great changes**
 - New architecture;
 - Change some huge thing project ( rest to graphql , implement some api , new microservice )

**B: New features** 
- Each issues closed;

**C: Bug fixes**

We could too separate each issue in Milestones using the Github projects and each milestone increment some version in out new version system...


IMO, semantics are the way to go and the best way to get compliance with pythonic release structures.  For example, using the build structure (from travis.ci) and semantic, three-part notations (A.B.C) package managers can easily track and upgrade the package as it grows.

@ezavesky Then it more recommended to packages python and not a whole software development..?

@Marlysson Sorry, not sure I followed your comment.  

I was stating that if there is a question about what kind of versioning to use, I'd advocate for semantic versioning.  You're right that this is a bigger project with many moving container/dependencies, but it looks like the core "running" environment (e.g. the way to configure/start this repo) is python-based.   It can be used on other python package repos (like [pypi](https://pypi.org/) and [the official python documents](https://packaging.python.org/tutorials/distributing-packages/#version)).  

If the other modules are atomic enough, they should be broken apart and cataloged as such (e.g. a evalai-worker, evalai-nodejs, etc.) where there could be some home grown (pre-built?) docker images in an EvalAI repo, as other ML projects have done -- for example, [the front and backend of tensorflow](https://hub.docker.com/u/tensorflow/).

@ezavesky 

Yeah, I totally agree.

So just get started, huh? :smile:

Hah, sure.  Baby steps, I know.  But each of these woudl be fun to grow into with the project.

Yeah I agree with @ezavesky. The project has too many moving parts and having semantic versioning won't be that useful here. We do some more research and see if we can find something better. Most of the other big open source projects have release branches which they maintain. For example, see this: https://github.com/mozilla/gecko-dev/branches. Let me know what you guys think about this. 

EvalAI project mainly has three important components (moving parts) namely evalai-django, evalai-frontend, evalai-worker which if shipped through as a docker image would be much easier for the contributors working on the project. Please let me know if anyone wants to take lead on this and get this done since this will be helpful for the contributors. Moreover, it would be helpful for the people who want to use EvalAI for their in-house hackathons. Also, I was also planning on setting up simple instructions to deploy EvalAI on private AWS instance using fabric tool but could not get to it since there is a lot of things going on at my end. 

Closing this issue for now and added it to todo's, since we'll add it later. Thanks, @ezavesky for the suggestions.