Contributions to BeebEm are welcome and encouraged.
-
If you're thinking of writing a new feature or making substantial changes to the code, please first discuss the change you wish to make by raising an issue.
-
As maintainer, I (@chrisn) will work with you to develop and integrate the feature.
-
Please avoid making commits directly to your copy of the
master
branch. This branch is reserved for aggregating changes from other people, and for mainline development from the maintainers. If you commit tomaster
, it's likely that your local fork will diverge from the stardot/beebem-windows repository. -
Before working on a change, please ensure your local fork is up to date with the code in the stardot/beebem-windows repository, and create a feature branch for your changes.
-
I may want to make minor changes to your pull request before merging, so please ensure that the Allow edits from maintainers option on your feature branch is enabled.
-
Please don't change version numbers or update CHANGES.md. I'll do that when preparing a new release.
-
Please follow the existing coding conventions.
-
For commit messages, please follow these guidelines, although I'm not fussy about use of imperative mood vs past tense. In particular, please don't use Conventional Commits style. I may choose to edit your commit messages for consistency when merging.
-
This repository maintains a linear commit history. This means we use a rebase workflow and don't allow merge commits.
-
When merging a feature branch, I may choose to squash your commits so that the feature is merged as a single logical change.
-
When it's time to publish a new release version, first check that any new files that should be distributed with BeebEm have been added to Src/InnoSetup/BeebEmSetup.iss and Src/ZipFile/MakeZipFile.pl.
-
Create a single commit on
master
with the following changes only:-
Increment the version number in Src/Version.h and set
VERSION_DATE
to today's date. -
Increment the following values in Src/InnoSetup/BeebEmSetup.iss:
AppVerName
,VersionInfoVersion
, and theHKLM\SOFTWARE\BeebEm\Version
registry key -
Describe the new features in this release in CHANGES.md.
-
-
Tag this commit using the form
X.Y
and push the commit usinggit push origin master --tags
. -
In GitHub, create a Release from this tag, with the tag name as Release title, i.e.,
X.Y
. -
Build the installer executable and zip files and upload them to the GitHub Release page.