Repository: Galileo-Galilei/kedro-mlflow (language: python)

Issue:
Improve development and release workflow
The development workflow can be updated to adress some current issues: 

- update contributing process (PR to develop):
    - [x] _add a contribution section to mention contributors: @kaemo @akruszewski I feel your name should be mentioned as your contribution grow more and more -> _I have added a "hall of fame" badges with the number of commit of the most active people of the repo. Is it sataisfying? What other solutions would you prefer?_
    - [X] ~force the CI to fail under 100% test coverage: several recent PR have broken coverage (mainly #9 but I had spotted breaking the 100% coverage before)~ _(EDIT 2020-09-26)For now, I don't add the ` --cov-fail-under=100` flag to the "test" step in the build workflow because it will malke all CI fail until we add all the missing tests. I mark it as resolved and add it after the next release. I think that the codecov bot gives far enough information to take decision to merge A PR with the implications in mind._
    - [x] update the coverage to a dedicated third party (codecov? I don't have any preference here, an idea?) to identify more easily the coverage breaking PR.
 
- update release process both in the documentation and in the CI (PR to master from develop):
     - [x] use an action to create a release in the github repo (if possible taking beeing fed automatically by the changelog, maybe [create-release](https://github.com/actions/create-release)
    - [x] fix the deployment to pypi and move to a public action (maybe [gh-action-pypi-publish
](https://github.com/pypa/gh-action-pypi-publish))
   - [x] change the trigger of the worflow (closing a PR even if dismissed currently triggers the pipeline: it should only be triggered when a merge on master is completed).

Do you have any other suggestion @kaemo and @akruszewski ?



Discussion / hints:
I absolutely agree with all the points. 

I'm not sure what coverage tool would be best to use. I know *CircleCI* is used often for Python open-source projects for many CI/CD tasks. It allows running tests on different platforms, creating coverage reports, building packages and deploying them so it might be a good shout. It could also cover releasing on PyPI. That would, of course, require rewriting our GitHub actions completely and moving them to CircleCI.
Let's add this to the issues to adress when we're having a call. 

For the record, I think we should be pragmatic here and keep using github actions on the short term (I guess it will be easier/faster to add the actions I suggested to the existing github workflows rather to rewrite the CI even if it is not difficult, but please go ahead if you really want it :wink: ). CircleCI is definitely one of the most used, let's keep it on the list of potential tools.
I added the following items to the to do list:
- [X] add templates (inspired from kedro's) for the issues / PR
- [X] some README improvements and badges for clarity
- [X] change the matrix in CI to test also on windows and macos
The create-release candidate pipeline is failing because of a github deprecation for security issues: https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/. Updating the vsoch/pull-request-action to 1.0.12 should be sufficient to fix it.
The publish pipeline is failing too for the same reason. 
- Read the docs build is failing, likely due to the pandas 1.2.0rc version. I pin pandas an numpy in docs requirements to ensure it works (it also breaks all rebuild of former version!)
- codecov upload fails inconsistently. I add a token hoping it will make upload more stable.
I move the different requirements files from requirements/<type>_requirements.txt to extra-requires in setup.py to make  install easier to remeber (`pip install kedro_mlflow[docs]` or `pip install kedro_mlflow[tests]`)
I suggest to remove the unecessarily compelx workflow of merging on develop and then on master. Since I don't support 2 different versions at the same time, using only the master branch as the reference and release directly from it will make the CI simpler.

Fix patch:
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index f5258ff9..d22694f6 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -8,9 +8,11 @@ assignees: ''
 ---
 
 ## Description
+
 Short description of the problem here.
 
 ## Context
+
 How has this bug affected you? What were you trying to accomplish?
 
 ## Steps to Reproduce
@@ -22,9 +24,11 @@ Please provide a detailed description. A Minimal Reproducible Example would real
 3. [And so on...]
 
 ## Expected Result
+
 Tell us what should happen.
 
 ## Actual Result
+
 Tell us what happens instead.
 
 ```
@@ -36,19 +40,21 @@ Tell us what happens instead.
 ```
 
 ## Your Environment
+
 Include as many relevant details about the environment in which you experienced the bug:
 
 * `kedro` and `kedro-mlflow` version used (`pip show kedro` and `pip show kedro-mlflow`):
 * Python version used (`python -V`):
 * Operating system and version:
 
-## Does the bug also happen with the last version on develop?
+## Does the bug also happen with the last version on master?
 
-The plugin is still in early development and known bugs are fixed as soon as we can. If you are lucky, your bug is already fixed on the `develop` branch which is the most up to date. This branch contains our more recent development unpublished on PyPI yet.
+The plugin is still in early development and known bugs are fixed as soon as we can. If you are lucky, your bug is already fixed on the `master` branch which is the most up to date. This branch contains our more recent development unpublished on PyPI yet.
 
 In your environment, please try:
 
 ```bash
-pip install --upgrade git+https://github.com/Galileo-Galilei/kedro-mlflow@develop
+pip install --upgrade git+https://github.com/Galileo-Galilei/kedro-mlflow
 ```
-And check if you can to reproduce the error. If you can't, just wait for the next release or use the develop branch at your own risk!
+
+And check if you can to reproduce the error. If you can't, just wait for the next release or use the master branch at your own risk!
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index dc43a1a8..03526ef2 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -6,10 +6,10 @@ What have you changed, and how has this been tested?
 
 ## Checklist
 
-- [ ] Read the [contributing](https://github.com/Galileo-Galilei/kedro-mlflow/blob/develop/CONTRIBUTING.md) guidelines
+- [ ] Read the [contributing](https://github.com/Galileo-Galilei/kedro-mlflow/blob/master/CONTRIBUTING.md) guidelines
 - [ ] Open this PR as a 'Draft Pull Request' if it is work-in-progress
 - [ ] Update the documentation to reflect the code changes
-- [ ] Add a description of this change and add your name to the list of supporting contributions in the [`CHANGELOG.md`](https://github.com/Galileo-Galilei/kedro-mlflow/blob/develop/CHANGELOG.md) file. Please respect [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) guidelines.
+- [ ] Add a description of this change and add your name to the list of supporting contributions in the [`CHANGELOG.md`](https://github.com/Galileo-Galilei/kedro-mlflow/blob/master/CHANGELOG.md) file. Please respect [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) guidelines.
 - [ ] Add tests to cover your changes
 
 ## Notice
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index a4b6e700..cc5b9538 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -25,13 +25,6 @@ jobs:
     - name: Build package dist from source # A better way will be : https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/ but pep 517 is still marked as experimental
       run: |
         python setup.py sdist
-    - name:  Merge back to develop  # we have to set the config first on a fresh machine
-      run: |
-        git config user.name github-actions
-        git config user.email github-actions@github.com
-        git checkout -b develop --track origin/develop
-        git merge master
-        git push
     - name: Set dynamically package version as output variable # see https://github.com/actions/create-release/issues/39
       # see https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable
       id: set_package_version
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index e81814ae..1a332eb6 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -6,7 +6,7 @@ The current workflow is the following:
 2. Fork the repo
 3. Develop locally:
     - Install the precommit file (`pip install pre-commit`, then `pre-commit install`)
-    - Create a branch based on the develop branch (``git checkout -b <prefix-branchname> develop``)
+    - Create a branch based on the master branch (``git checkout -b <prefix-branchname> master``)
     - Create a conda environment (conda create -n <your-env-name> python==3.7)
     - Activate this environment (`conda activate <your-env-name>`)
     - Install the extra dependencies for tests (`pip install kedro-mlflow[tests]`)
@@ -17,8 +17,8 @@ The current workflow is the following:
     - Update documentation accordingly
     - Update `CHANGELOG.md` according to ["Keep a Changelog" guidelines](https://keepachangelog.com/en/1.0.0/)
     - Squash all the changes within a single commit as much as possible, and ensure the commit message has the format "FIX ``#<issue-number>`` - Informative description"
-    - Rebase your branch on ``develop`` to ensure linear history
-    - Open a pull request against ``develop``
+    - Rebase your branch on ``master`` to ensure linear history
+    - Open a pull request against ``master``
 5. Ask for review:
     - Assign randomly the review to two of the contributors (one review will be enough most of the time, but reviewers may not be available).
     - Wait for review
@@ -44,5 +44,5 @@ The current workflow is the following:
     - Merge the PR to master
 4. Checkout the [publish workflow](https://github.com/Galileo-Galilei/kedro-mlflow/actions?query=workflow%3Apublish) to see if:
     - The package has been uploaded on PyPI sucessfully
-    - The changes have been merged back to develop
-5. If the pipeline has failed, please raise an issue to correct the CI, and ensure merge on develop manually.
+    - A Github release has been created
+5. If the pipeline has failed, please raise an issue to correct the CI, and ensure merge on master manually.
diff --git a/README.md b/README.md
index b35b7d45..5aa9ecd6 100644
--- a/README.md
+++ b/README.md
@@ -13,8 +13,7 @@
 ----------------------------------------------------------
 | Branch | Tests | Coverage | Documentation | Deployment | Activity |
 |--------|-------|----------|---------------|------------|------------|
-| `develop`| [![test](https://github.com/Galileo-Galilei/kedro-mlflow/workflows/test/badge.svg?branch=develop)](https://github.com/Galileo-Galilei/kedro-mlflow/actions?query=workflow%3Atest+branch%3Adevelop)| [![codecov](https://codecov.io/gh/Galileo-Galilei/kedro-mlflow/branch/develop/graph/badge.svg)](https://codecov.io/gh/Galileo-Galilei/kedro-mlflow/branch/develop)|[![Documentation](https://readthedocs.org/projects/kedro-mlflow/badge/?version=latest)](https://kedro-mlflow.readthedocs.io/en/latest/)| [![create-release-candidate](https://github.com/Galileo-Galilei/kedro-mlflow/workflows/create-release-candidate/badge.svg?branch=develop)](https://github.com/Galileo-Galilei/kedro-mlflow/actions?query=branch%3Adevelop+workflow%3Acreate-release-candidate)|[![commit](https://img.shields.io/github/commits-since/Galileo-Galilei/kedro-mlflow/0.6.0)](https://github.com/Galileo-Galilei/kedro-mlflow/compare/0.6.0...develop)|
-| `master` | [![test](https://github.com/Galileo-Galilei/kedro-mlflow/workflows/test/badge.svg?branch=master)](https://github.com/Galileo-Galilei/kedro-mlflow/actions?query=workflow%3Atest+branch%3Amaster) | [![codecov](https://codecov.io/gh/Galileo-Galilei/kedro-mlflow/branch/master/graph/badge.svg)](https://codecov.io/gh/Galileo-Galilei/kedro-mlflow/branch/master)|[![Documentation](https://readthedocs.org/projects/kedro-mlflow/badge/?version=stable)](https://kedro-mlflow.readthedocs.io/en/stable/)|[![publish](https://github.com/Galileo-Galilei/kedro-mlflow/workflows/publish/badge.svg?branch=master)](https://github.com/Galileo-Galilei/kedro-mlflow/actions?query=branch%3Amaster+workflow%3Apublish)||
+| `master` | [![test](https://github.com/Galileo-Galilei/kedro-mlflow/workflows/test/badge.svg?branch=master)](https://github.com/Galileo-Galilei/kedro-mlflow/actions?query=workflow%3Atest+branch%3Amaster) | [![codecov](https://codecov.io/gh/Galileo-Galilei/kedro-mlflow/branch/master/graph/badge.svg)](https://codecov.io/gh/Galileo-Galilei/kedro-mlflow/branch/master)|[![Documentation](https://readthedocs.org/projects/kedro-mlflow/badge/?version=stable)](https://kedro-mlflow.readthedocs.io/en/stable/)|[![publish](https://github.com/Galileo-Galilei/kedro-mlflow/workflows/publish/badge.svg?branch=master)](https://github.com/Galileo-Galilei/kedro-mlflow/actions?query=branch%3Amaster+workflow%3Apublish)|[![commit](https://img.shields.io/github/commits-since/Galileo-Galilei/kedro-mlflow/0.6.0)](https://github.com/Galileo-Galilei/kedro-mlflow/compare/0.6.0...master)|
 
 # What is kedro-mlflow?
 
@@ -33,10 +32,10 @@
 pip install kedro-mlflow
 ```
 
-If you want to use the ``develop`` version of the package which is the most up to date, you can install the package from github:
+If you want to use the most up to date version of the package which is under development and not released yet, you can install the package from github:
 
 ```console
-pip install --upgrade git+https://github.com/Galileo-Galilei/kedro-mlflow.git@develop
+pip install --upgrade git+https://github.com/Galileo-Galilei/kedro-mlflow.git
 ```
 
 I strongly recommend to use ``conda`` (a package manager) to create an environment and to read [``kedro`` installation guide](https://kedro.readthedocs.io/en/latest/02_get_started/02_install.html).
@@ -58,7 +57,7 @@ Some frequently asked questions on more advanced features:
 
 # Release and roadmap
 
-The [release history](https://github.com/Galileo-Galilei/kedro-mlflow/blob/develop/CHANGELOG.md) centralizes packages improvements across time. The main features coming in next releases are [listed on github milestones](https://github.com/Galileo-Galilei/kedro-mlflow/milestones). Feel free to upvote/downvote and discuss prioritization in associated issues.
+The [release history](https://github.com/Galileo-Galilei/kedro-mlflow/blob/master/CHANGELOG.md) centralizes packages improvements across time. The main features coming in next releases are [listed on github milestones](https://github.com/Galileo-Galilei/kedro-mlflow/milestones). Feel free to upvote/downvote and discuss prioritization in associated issues.
 
 # Disclaimer
 
@@ -70,7 +69,7 @@ If you want to see how to migrate from one version of `kedro-mlflow` to another,
 
 # Can I contribute?
 
-We'd be happy to receive help to maintain and improve the package. Any PR will be considered (from typo in the docs to core features add-on) Please check the [contributing guidelines](https://github.com/Galileo-Galilei/kedro-mlflow/blob/develop/CONTRIBUTING.md).
+We'd be happy to receive help to maintain and improve the package. Any PR will be considered (from typo in the docs to core features add-on) Please check the [contributing guidelines](https://github.com/Galileo-Galilei/kedro-mlflow/blob/master/CONTRIBUTING.md).
 
 # Main contributors
 
diff --git a/docs/source/02_installation/01_installation.md b/docs/source/02_installation/01_installation.md
index 90babe48..b354867f 100644
--- a/docs/source/02_installation/01_installation.md
+++ b/docs/source/02_installation/01_installation.md
@@ -54,10 +54,10 @@ pip install --upgrade kedro-mlflow
 
 ### Install from sources
 
-You may want to install the develop branch which has unreleased features:
+You may want to install the master branch which has unreleased features:
 
 ```console
-pip install git+https://github.com/Galileo-Galilei/kedro-mlflow.git@develop
+pip install git+https://github.com/Galileo-Galilei/kedro-mlflow.git
 ```
 
 ## Check the installation


Test patch:
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index e4bc2c2c..e7b2e140 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -5,9 +5,9 @@ name: test
 
 on:
   push:
-    branches: [develop, master]
+    branches: [master]
   pull_request:
-    branches: [develop, master]
+    branches: [master]
 
 jobs:
   lint_and_test: