95 lines
2.6 KiB
Markdown
95 lines
2.6 KiB
Markdown
# Workflow Guide
|
|
|
|
This guide covers the basic development workflow for projects based on https://github.com/ssube/rollup-template/.
|
|
|
|
## Contents
|
|
|
|
- [Workflow Guide](#workflow-guide)
|
|
- [Contents](#contents)
|
|
- [Common Tasks](#common-tasks)
|
|
- [Branch Development](#branch-development)
|
|
- [Deploying Releases](#deploying-releases)
|
|
- [Merging Changes](#merging-changes)
|
|
- [Test Coverage](#test-coverage)
|
|
|
|
## Common Tasks
|
|
|
|
These guides primarily reference terminal commands. If you are using VS Code or Github's desktop client instead:
|
|
|
|
- [Using Version Control in VS Code](https://code.visualstudio.com/docs/editor/versioncontrol)
|
|
- [Contributing and Collaborating Using Github Desktop](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/)
|
|
|
|
### Branch Development
|
|
|
|
Development for each issue is done on a different branch:
|
|
|
|
- select an issue
|
|
- assign it to yourself
|
|
- move it to the `status/progress` state
|
|
- `git checkout -b feat/XX-brief-title`
|
|
- write some code
|
|
- write some tests
|
|
- `make ci`
|
|
- add or update docs, as needed
|
|
- create [merge request](#merging-changes)
|
|
|
|
Branch names are based on ticket type:
|
|
|
|
- bug fix: `fix/XX-brief-title`
|
|
- feature: `feat/XX-brief-title`
|
|
|
|
Commit messages use the Conventional Commits specification: https://www.conventionalcommits.org/en/v1.0.0/#summary
|
|
|
|
Messages should finish the prompt "This commit will..." and follow the form: `type(scope): what will be changed`.
|
|
|
|
For example:
|
|
|
|
```none
|
|
feat(build): deploy new versions automatically
|
|
feat(labels): set flux capacitance per label
|
|
fix(sync): stop erasing all labels by accident
|
|
```
|
|
|
|
### Deploying Releases
|
|
|
|
TODO
|
|
|
|
### Merging Changes
|
|
|
|
To stage your changes:
|
|
|
|
```shell
|
|
> git add <filename>
|
|
# adds a single file to staging
|
|
> git add <directoryname>
|
|
# adds all files in a single directory to staging
|
|
```
|
|
|
|
To commit your changes to the checked out branch:
|
|
|
|
```shell
|
|
> git commit
|
|
# commits any changes you've added to staging
|
|
> git commit -a
|
|
# commits all files; does not require staging changes first
|
|
> git commit -m "your commit message"
|
|
# allows you to add your commit message inline
|
|
```
|
|
|
|
To push your local changes to the repository:
|
|
|
|
```shell
|
|
> git push origin <branchname>
|
|
```
|
|
|
|
After you have pushed your local changes, you can create a pull request and merge from Github: [Proposing Changes to Your Work with Pull Requests](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests)
|
|
|
|
### Test Coverage
|
|
|
|
To see how much of your code is covered by your tests:
|
|
|
|
```shell
|
|
> google-chrome ./out/coverage/index.html
|
|
# change google-chrome to your web browser of choice
|
|
```
|