Skip to content

Branching strategy and CI

Mats Alm edited this page Jan 3, 2025 · 21 revisions

Branching strategy

develop[major version]

Our development main branches. All feature branches/pull requests should be merged into this branch. There is one develop branch per major version of EPPlus (ex. develop6, develop7, etc). When submitting a pull request to EPPlus, please set this branch as target.

From version 7 we have renamed the previous develop branch to develop6. To change this locally you should do this:

git branch -m develop develop6
git fetch origin
git branch -u origin/develop6 develop6
git remote set-head origin -a

The active branch of our repository is always the develop branch for the latest stable major version.

develop[major version]_[minor_version]

When we are working on a new minor version we create a branch for it, example: for version 7.1 the name of the branch will be develop7_1. All our Pull Requests for the minor version will have this branch as the target. When we release the minor version the branch will be merged into the develop[major version] branch and then deleted.

feature/bug branches

These are separate branches that will be merged into the develop branch when they are ready (via pull request). These branches should be named feature/[name] or bug/[name]. If these branches are related to an issue the issue number with a #-prefix should be mentioned in the description.

After the pull request has been closed these branches are deleted.

release branches

There is one release branch created for each release. These branches are named release/epplus[Major].[Minor].[Patch]

Continous integration

The develop branches are automatically built with Appveyor for every new commit. This build runs all the unit tests and, if successful, deploys the build in our Appveyor Nuget feed for version 6 and version 7.

See also

EPPlus wiki

Versions

Worksheet & Ranges

Styling

Import/Export data

Formulas and filters

Charts & Drawing objects

Tables & Pivot Tables

VBA & Protection

Clone this wiki locally