Rename references to "master" branch to "stable"

closes #2496
This commit is contained in:
Matthias 2020-09-20 11:45:08 +02:00
parent d5b2ffae7a
commit 2b1d0b4ab5
12 changed files with 45 additions and 43 deletions

View File

@ -4,6 +4,7 @@ on:
push: push:
branches: branches:
- master - master
- stable
- develop - develop
tags: tags:
release: release:
@ -193,7 +194,7 @@ jobs:
steps: steps:
- name: Cleanup previous runs on this branch - name: Cleanup previous runs on this branch
uses: rokroskar/workflow-run-cleanup-action@v0.2.2 uses: rokroskar/workflow-run-cleanup-action@v0.2.2
if: "!startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/master' && github.repository == 'freqtrade/freqtrade'" if: "!startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/stable' && github.repository == 'freqtrade/freqtrade'"
env: env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
@ -235,7 +236,7 @@ jobs:
- name: Publish to PyPI (Test) - name: Publish to PyPI (Test)
uses: pypa/gh-action-pypi-publish@master uses: pypa/gh-action-pypi-publish@master
if: (steps.extract_branch.outputs.branch == 'master' || github.event_name == 'release') if: (steps.extract_branch.outputs.branch == 'stable' || github.event_name == 'release')
with: with:
user: __token__ user: __token__
password: ${{ secrets.pypi_test_password }} password: ${{ secrets.pypi_test_password }}
@ -243,7 +244,7 @@ jobs:
- name: Publish to PyPI - name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@master uses: pypa/gh-action-pypi-publish@master
if: (steps.extract_branch.outputs.branch == 'master' || github.event_name == 'release') if: (steps.extract_branch.outputs.branch == 'stable' || github.event_name == 'release')
with: with:
user: __token__ user: __token__
password: ${{ secrets.pypi_password }} password: ${{ secrets.pypi_password }}

View File

@ -2,7 +2,7 @@ name: Update Docker Hub Description
on: on:
push: push:
branches: branches:
- master - stable
jobs: jobs:
dockerHubDescription: dockerHubDescription:

View File

@ -8,8 +8,9 @@ Issues labeled [good first issue](https://github.com/freqtrade/freqtrade/labels/
Few pointers for contributions: Few pointers for contributions:
- Create your PR against the `develop` branch, not `master`. - Create your PR against the `develop` branch, not `stable`.
- New features need to contain unit tests and must be PEP8 conformant (max-line-length = 100). - New features need to contain unit tests, must conform to PEP8 (max-line-length = 100) and should be documented with the introduction PR.
- PR's can be declared as `[WIP]` - which signify Work in Progress Pull Requests (which are not finished).
If you are unsure, discuss the feature on our [Slack](https://join.slack.com/t/highfrequencybot/shared_invite/enQtNjU5ODcwNjI1MDU3LTU1MTgxMjkzNmYxNWE1MDEzYzQ3YmU4N2MwZjUyNjJjODRkMDVkNjg4YTAyZGYzYzlhOTZiMTE4ZjQ4YzM0OGE) If you are unsure, discuss the feature on our [Slack](https://join.slack.com/t/highfrequencybot/shared_invite/enQtNjU5ODcwNjI1MDU3LTU1MTgxMjkzNmYxNWE1MDEzYzQ3YmU4N2MwZjUyNjJjODRkMDVkNjg4YTAyZGYzYzlhOTZiMTE4ZjQ4YzM0OGE)
or in a [issue](https://github.com/freqtrade/freqtrade/issues) before a PR. or in a [issue](https://github.com/freqtrade/freqtrade/issues) before a PR.
@ -18,7 +19,7 @@ or in a [issue](https://github.com/freqtrade/freqtrade/issues) before a PR.
Best start by reading the [documentation](https://www.freqtrade.io/) to get a feel for what is possible with the bot, or head straight to the [Developer-documentation](https://www.freqtrade.io/en/latest/developer/) (WIP) which should help you getting started. Best start by reading the [documentation](https://www.freqtrade.io/) to get a feel for what is possible with the bot, or head straight to the [Developer-documentation](https://www.freqtrade.io/en/latest/developer/) (WIP) which should help you getting started.
## Before sending the PR: ## Before sending the PR
### 1. Run unit tests ### 1. Run unit tests
@ -114,6 +115,6 @@ Contributors may be given commit privileges. Preference will be given to those w
1. Access to resources for cross-platform development and testing. 1. Access to resources for cross-platform development and testing.
1. Time to devote to the project regularly. 1. Time to devote to the project regularly.
Being a Committer does not grant write permission on `develop` or `master` for security reasons (Users trust Freqtrade with their Exchange API keys). Being a Committer does not grant write permission on `develop` or `stable` for security reasons (Users trust Freqtrade with their Exchange API keys).
After being Committer for some time, a Committer may be named Core Committer and given full repository access. After being Committer for some time, a Committer may be named Core Committer and given full repository access.

View File

@ -127,8 +127,8 @@ Telegram is not mandatory. However, this is a great way to control your bot. Mor
The project is currently setup in two main branches: The project is currently setup in two main branches:
- `develop` - This branch has often new features, but might also cause breaking changes. - `develop` - This branch has often new features, but might also contain breaking changes. We try hard to keep this branch as stable as possible.
- `master` - This branch contains the latest stable release. The bot 'should' be stable on this branch, and is generally well tested. - `stable` - This branch contains the latest stable release. This branch is generally well tested.
- `feat/*` - These are feature branches, which are being worked on heavily. Please don't use these unless you want to test a specific feature. - `feat/*` - These are feature branches, which are being worked on heavily. Please don't use these unless you want to test a specific feature.
## Support ## Support
@ -171,11 +171,11 @@ Issues labeled [good first issue](https://github.com/freqtrade/freqtrade/labels/
**Note** before starting any major new feature work, *please open an issue describing what you are planning to do* or talk to us on [Slack](https://join.slack.com/t/highfrequencybot/shared_invite/enQtNjU5ODcwNjI1MDU3LTU1MTgxMjkzNmYxNWE1MDEzYzQ3YmU4N2MwZjUyNjJjODRkMDVkNjg4YTAyZGYzYzlhOTZiMTE4ZjQ4YzM0OGE). This will ensure that interested parties can give valuable feedback on the feature, and let others know that you are working on it. **Note** before starting any major new feature work, *please open an issue describing what you are planning to do* or talk to us on [Slack](https://join.slack.com/t/highfrequencybot/shared_invite/enQtNjU5ODcwNjI1MDU3LTU1MTgxMjkzNmYxNWE1MDEzYzQ3YmU4N2MwZjUyNjJjODRkMDVkNjg4YTAyZGYzYzlhOTZiMTE4ZjQ4YzM0OGE). This will ensure that interested parties can give valuable feedback on the feature, and let others know that you are working on it.
**Important:** Always create your PR against the `develop` branch, not `master`. **Important:** Always create your PR against the `develop` branch, not `stable`.
## Requirements ## Requirements
### Uptodate clock ### Up-to-date clock
The clock must be accurate, syncronized to a NTP server very frequently to avoid problems with communication to the exchanges. The clock must be accurate, syncronized to a NTP server very frequently to avoid problems with communication to the exchanges.

View File

@ -2,7 +2,7 @@
version: '3' version: '3'
services: services:
freqtrade: freqtrade:
image: freqtradeorg/freqtrade:master image: freqtradeorg/freqtrade:stable
# image: freqtradeorg/freqtrade:develop # image: freqtradeorg/freqtrade:develop
# Build step - only needed when additional dependencies are needed # Build step - only needed when additional dependencies are needed
# build: # build:

View File

@ -375,7 +375,7 @@ Freqtrade is based on [CCXT library](https://github.com/ccxt/ccxt) that supports
exchange markets and trading APIs. The complete up-to-date list can be found in the exchange markets and trading APIs. The complete up-to-date list can be found in the
[CCXT repo homepage](https://github.com/ccxt/ccxt/tree/master/python). [CCXT repo homepage](https://github.com/ccxt/ccxt/tree/master/python).
However, the bot was tested by the development team with only Bittrex, Binance and Kraken, However, the bot was tested by the development team with only Bittrex, Binance and Kraken,
so the these are the only officially supported exhanges: so the these are the only officially supported exchanges:
- [Bittrex](https://bittrex.com/): "bittrex" - [Bittrex](https://bittrex.com/): "bittrex"
- [Binance](https://www.binance.com/): "binance" - [Binance](https://www.binance.com/): "binance"

View File

@ -263,13 +263,13 @@ jupyter nbconvert --ClearOutputPreprocessor.enabled=True --to markdown freqtrade
This documents some decisions taken for the CI Pipeline. This documents some decisions taken for the CI Pipeline.
* CI runs on all OS variants, Linux (ubuntu), macOS and Windows. * CI runs on all OS variants, Linux (ubuntu), macOS and Windows.
* Docker images are build for the branches `master` and `develop`. * Docker images are build for the branches `stable` and `develop`.
* Raspberry PI Docker images are postfixed with `_pi` - so tags will be `:master_pi` and `develop_pi`. * Raspberry PI Docker images are postfixed with `_pi` - so tags will be `:stable_pi` and `develop_pi`.
* Docker images contain a file, `/freqtrade/freqtrade_commit` containing the commit this image is based of. * Docker images contain a file, `/freqtrade/freqtrade_commit` containing the commit this image is based of.
* Full docker image rebuilds are run once a week via schedule. * Full docker image rebuilds are run once a week via schedule.
* Deployments run on ubuntu. * Deployments run on ubuntu.
* ta-lib binaries are contained in the build_helpers directory to avoid fails related to external unavailability. * ta-lib binaries are contained in the build_helpers directory to avoid fails related to external unavailability.
* All tests must pass for a PR to be merged to `master` or `develop`. * All tests must pass for a PR to be merged to `stable` or `develop`.
## Creating a release ## Creating a release
@ -286,19 +286,19 @@ git checkout -b new_release <commitid>
Determine if crucial bugfixes have been made between this commit and the current state, and eventually cherry-pick these. Determine if crucial bugfixes have been made between this commit and the current state, and eventually cherry-pick these.
* Merge the release branch (master) into this branch. * Merge the release branch (stable) into this branch.
* Edit `freqtrade/__init__.py` and add the version matching the current date (for example `2019.7` for July 2019). Minor versions can be `2019.7.1` should we need to do a second release that month. Version numbers must follow allowed versions from PEP0440 to avoid failures pushing to pypi. * Edit `freqtrade/__init__.py` and add the version matching the current date (for example `2019.7` for July 2019). Minor versions can be `2019.7.1` should we need to do a second release that month. Version numbers must follow allowed versions from PEP0440 to avoid failures pushing to pypi.
* Commit this part * Commit this part
* push that branch to the remote and create a PR against the master branch * push that branch to the remote and create a PR against the stable branch
### Create changelog from git commits ### Create changelog from git commits
!!! Note !!! Note
Make sure that the master branch is up-to-date! Make sure that the release branch is up-to-date!
``` bash ``` bash
# Needs to be done before merging / pulling that branch. # Needs to be done before merging / pulling that branch.
git log --oneline --no-decorate --no-merges master..new_release git log --oneline --no-decorate --no-merges stable..new_release
``` ```
To keep the release-log short, best wrap the full git changelog into a collapsible details section. To keep the release-log short, best wrap the full git changelog into a collapsible details section.
@ -314,11 +314,11 @@ To keep the release-log short, best wrap the full git changelog into a collapsib
### Create github release / tag ### Create github release / tag
Once the PR against master is merged (best right after merging): Once the PR against stable is merged (best right after merging):
* Use the button "Draft a new release" in the Github UI (subsection releases). * Use the button "Draft a new release" in the Github UI (subsection releases).
* Use the version-number specified as tag. * Use the version-number specified as tag.
* Use "master" as reference (this step comes after the above PR is merged). * Use "stable" as reference (this step comes after the above PR is merged).
* Use the above changelog as release comment (as codeblock) * Use the above changelog as release comment (as codeblock)
## Releases ## Releases

View File

@ -10,9 +10,9 @@ Pull the image from docker hub.
Branches / tags available can be checked out on [Dockerhub tags page](https://hub.docker.com/r/freqtradeorg/freqtrade/tags/). Branches / tags available can be checked out on [Dockerhub tags page](https://hub.docker.com/r/freqtradeorg/freqtrade/tags/).
```bash ```bash
docker pull freqtradeorg/freqtrade:master docker pull freqtradeorg/freqtrade:stable
# Optionally tag the repository so the run-commands remain shorter # Optionally tag the repository so the run-commands remain shorter
docker tag freqtradeorg/freqtrade:master freqtrade docker tag freqtradeorg/freqtrade:stable freqtrade
``` ```
To update the image, simply run the above commands again and restart your running container. To update the image, simply run the above commands again and restart your running container.
@ -20,7 +20,7 @@ To update the image, simply run the above commands again and restart your runnin
Should you require additional libraries, please [build the image yourself](#build-your-own-docker-image). Should you require additional libraries, please [build the image yourself](#build-your-own-docker-image).
!!! Note "Docker image update frequency" !!! Note "Docker image update frequency"
The official docker images with tags `master`, `develop` and `latest` are automatically rebuild once a week to keep the base image uptodate. The official docker images with tags `stable`, `develop` and `latest` are automatically rebuild once a week to keep the base image up-to-date.
In addition to that, every merge to `develop` will trigger a rebuild for `develop` and `latest`. In addition to that, every merge to `develop` will trigger a rebuild for `develop` and `latest`.
### Prepare the configuration files ### Prepare the configuration files

View File

@ -29,7 +29,7 @@ Create a new directory and place the [docker-compose file](https://github.com/fr
mkdir ft_userdata mkdir ft_userdata
cd ft_userdata/ cd ft_userdata/
# Download the docker-compose file from the repository # Download the docker-compose file from the repository
curl https://raw.githubusercontent.com/freqtrade/freqtrade/master/docker-compose.yml -o docker-compose.yml curl https://raw.githubusercontent.com/freqtrade/freqtrade/stable/docker-compose.yml -o docker-compose.yml
# Pull the freqtrade image # Pull the freqtrade image
docker-compose pull docker-compose pull
@ -46,7 +46,7 @@ Create a new directory and place the [docker-compose file](https://github.com/fr
mkdir ft_userdata mkdir ft_userdata
cd ft_userdata/ cd ft_userdata/
# Download the docker-compose file from the repository # Download the docker-compose file from the repository
curl https://raw.githubusercontent.com/freqtrade/freqtrade/master/docker-compose.yml -o docker-compose.yml curl https://raw.githubusercontent.com/freqtrade/freqtrade/stable/docker-compose.yml -o docker-compose.yml
# Pull the freqtrade image # Pull the freqtrade image
docker-compose pull docker-compose pull
@ -61,7 +61,7 @@ Create a new directory and place the [docker-compose file](https://github.com/fr
!!! Note "Change your docker Image" !!! Note "Change your docker Image"
You have to change the docker image in the docker-compose file for your Raspberry build to work properly. You have to change the docker image in the docker-compose file for your Raspberry build to work properly.
``` yml ``` yml
image: freqtradeorg/freqtrade:master_pi image: freqtradeorg/freqtrade:stable_pi
# image: freqtradeorg/freqtrade:develop_pi # image: freqtradeorg/freqtrade:develop_pi
``` ```

View File

@ -8,7 +8,7 @@
<!-- Place this tag where you want the button to render. --> <!-- Place this tag where you want the button to render. -->
<a class="github-button" href="https://github.com/freqtrade/freqtrade/fork" data-icon="octicon-repo-forked" data-size="large" aria-label="Fork freqtrade/freqtrade on GitHub">Fork</a> <a class="github-button" href="https://github.com/freqtrade/freqtrade/fork" data-icon="octicon-repo-forked" data-size="large" aria-label="Fork freqtrade/freqtrade on GitHub">Fork</a>
<!-- Place this tag where you want the button to render. --> <!-- Place this tag where you want the button to render. -->
<a class="github-button" href="https://github.com/freqtrade/freqtrade/archive/master.zip" data-icon="octicon-cloud-download" data-size="large" aria-label="Download freqtrade/freqtrade on GitHub">Download</a> <a class="github-button" href="https://github.com/freqtrade/freqtrade/archive/stable.zip" data-icon="octicon-cloud-download" data-size="large" aria-label="Download freqtrade/freqtrade on GitHub">Download</a>
<!-- Place this tag where you want the button to render. --> <!-- Place this tag where you want the button to render. -->
<a class="github-button" href="https://github.com/freqtrade" data-size="large" aria-label="Follow @freqtrade on GitHub">Follow @freqtrade</a> <a class="github-button" href="https://github.com/freqtrade" data-size="large" aria-label="Follow @freqtrade on GitHub">Follow @freqtrade</a>

View File

@ -31,7 +31,7 @@ Freqtrade provides the Linux/MacOS Easy Installation script to install all depen
The easiest way to install and run Freqtrade is to clone the bot Github repository and then run the Easy Installation script, if it's available for your platform. The easiest way to install and run Freqtrade is to clone the bot Github repository and then run the Easy Installation script, if it's available for your platform.
!!! Note "Version considerations" !!! Note "Version considerations"
When cloning the repository the default working branch has the name `develop`. This branch contains all last features (can be considered as relatively stable, thanks to automated tests). The `master` branch contains the code of the last release (done usually once per month on an approximately one week old snapshot of the `develop` branch to prevent packaging bugs, so potentially it's more stable). When cloning the repository the default working branch has the name `develop`. This branch contains all last features (can be considered as relatively stable, thanks to automated tests). The `stable` branch contains the code of the last release (done usually once per month on an approximately one week old snapshot of the `develop` branch to prevent packaging bugs, so potentially it's more stable).
!!! Note !!! Note
Python3.6 or higher and the corresponding `pip` are assumed to be available. The install-script will warn you and stop if that's not the case. `git` is also needed to clone the Freqtrade repository. Python3.6 or higher and the corresponding `pip` are assumed to be available. The install-script will warn you and stop if that's not the case. `git` is also needed to clone the Freqtrade repository.
@ -41,11 +41,11 @@ This can be achieved with the following commands:
```bash ```bash
git clone https://github.com/freqtrade/freqtrade.git git clone https://github.com/freqtrade/freqtrade.git
cd freqtrade cd freqtrade
# git checkout master # Optional, see (1) # git checkout stable # Optional, see (1)
./setup.sh --install ./setup.sh --install
``` ```
(1) This command switches the cloned repository to the use of the `master` branch. It's not needed if you wish to stay on the `develop` branch. You may later switch between branches at any time with the `git checkout master`/`git checkout develop` commands. (1) This command switches the cloned repository to the use of the `stable` branch. It's not needed if you wish to stay on the `develop` branch. You may later switch between branches at any time with the `git checkout stable`/`git checkout develop` commands.
## Easy Installation Script (Linux/MacOS) ## Easy Installation Script (Linux/MacOS)
@ -56,7 +56,7 @@ $ ./setup.sh
usage: usage:
-i,--install Install freqtrade from scratch -i,--install Install freqtrade from scratch
-u,--update Command git pull to update. -u,--update Command git pull to update.
-r,--reset Hard reset your develop/master branch. -r,--reset Hard reset your develop/stable branch.
-c,--config Easy config generator (Will override your existing file). -c,--config Easy config generator (Will override your existing file).
``` ```
@ -76,7 +76,7 @@ This option will pull the last version of your current branch and update your vi
** --reset ** ** --reset **
This option will hard reset your branch (only if you are on either `master` or `develop`) and recreate your virtualenv. This option will hard reset your branch (only if you are on either `stable` or `develop`) and recreate your virtualenv.
** --config ** ** --config **
@ -174,7 +174,7 @@ Clone the git repository:
```bash ```bash
git clone https://github.com/freqtrade/freqtrade.git git clone https://github.com/freqtrade/freqtrade.git
cd freqtrade cd freqtrade
git checkout master git checkout stable
``` ```
#### 4. Install python dependencies #### 4. Install python dependencies

View File

@ -120,13 +120,13 @@ function update() {
updateenv updateenv
} }
# Reset Develop or Master branch # Reset Develop or Stable branch
function reset() { function reset() {
echo "----------------------------" echo "----------------------------"
echo "Reseting branch and virtual env" echo "Reseting branch and virtual env"
echo "----------------------------" echo "----------------------------"
if [ "1" == $(git branch -vv |grep -cE "\* develop|\* master") ] if [ "1" == $(git branch -vv |grep -cE "\* develop|\* stable") ]
then then
read -p "Reset git branch? (This will remove all changes you made!) [y/N]? " read -p "Reset git branch? (This will remove all changes you made!) [y/N]? "
@ -138,14 +138,14 @@ function reset() {
then then
echo "- Hard resetting of 'develop' branch." echo "- Hard resetting of 'develop' branch."
git reset --hard origin/develop git reset --hard origin/develop
elif [ "1" == $(git branch -vv |grep -c "* master") ] elif [ "1" == $(git branch -vv |grep -c "* stable") ]
then then
echo "- Hard resetting of 'master' branch." echo "- Hard resetting of 'stable' branch."
git reset --hard origin/master git reset --hard origin/stable
fi fi
fi fi
else else
echo "Reset ignored because you are not on 'master' or 'develop'." echo "Reset ignored because you are not on 'stable' or 'develop'."
fi fi
if [ -d ".env" ]; then if [ -d ".env" ]; then
@ -270,7 +270,7 @@ function help() {
echo "usage:" echo "usage:"
echo " -i,--install Install freqtrade from scratch" echo " -i,--install Install freqtrade from scratch"
echo " -u,--update Command git pull to update." echo " -u,--update Command git pull to update."
echo " -r,--reset Hard reset your develop/master branch." echo " -r,--reset Hard reset your develop/stable branch."
echo " -c,--config Easy config generator (Will override your existing file)." echo " -c,--config Easy config generator (Will override your existing file)."
echo " -p,--plot Install dependencies for Plotting scripts." echo " -p,--plot Install dependencies for Plotting scripts."
} }