These instructions will help you set up a development environment for working on the woocart-defaults source code.
To compile and test woocart-defaults, you will need:
- make
- git
- PHP7.2
- composer
In most cases, install each prerequisite according to its instructions.
After you have setup Golang runtime and SDK, you need to setup root of the project, the GOPATH environment variable which must be in the root of the project.
$ git clone [email protected]:woocart/woocart-defaults.git
$ make install
Start by creating new branch prefixed with feature/short-name
or docs/short-name
or cleanup/short-name
, depending on the change you are working on.
Run make install
to install project dependencies.
Run make tests
to ensure the project is developed with best practices in mind.
The version is injected into the app at compilation time, where version is same one as defined in Makefile. Actual compilation happens in CI when master branch is tagged with version.
- Change
VERSION
in Makefile according to Semver rules. - Run
make release
which will do all necessary steps.
After CI built the project, zip file is uploaded to Release in GitHub.
woocart-defaults maintains a strong commitment to backward compatibility. All of our changes to protocols and formats are backward compatible. No features, flags, or commands are removed or substantially modified (other than bug fixes).
We also try very hard to not change publicly accessible Go library definitions inside of the src/ directory of our source code, but it is not guaranteed to be backward compatible as we move the project forward.
For a quick summary of our backward compatibility guidelines for major releases:
- Command line commands, flags, and arguments MUST be backward compatible
- REST API definitions MUST be backward compatible
Other changes are permissable according to Semver.