Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
rtertiaer committed Dec 21, 2023
2 parents 43174da + aeb7282 commit cb84410
Show file tree
Hide file tree
Showing 17 changed files with 366 additions and 298 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ on:
branches: [ main, develop ]

jobs:
build:
preamp-build:
name: Build Preamp firmware
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/python-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ on:
branches: [ main, develop ]

jobs:
build:
python-tests:
name: Run python linting and tests
runs-on: ubuntu-latest
steps:
- name: Checkout
Expand Down
2 changes: 2 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{
"recommendations": [
"ms-python.autopep8",
"ms-python.pylint",
"ms-python.python",
"editorconfig.editorconfig",
"42crunch.vscode-openapi",
Expand Down
23 changes: 10 additions & 13 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,4 @@
{
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.testing.pytestArgs": [
"tests"
],
"python.testing.unittestEnabled": false,
"python.testing.nosetestsEnabled": false,
"python.testing.pytestEnabled": true,
"python.pythonPath": "venv/bin/python",
"python.linting.pylintArgs": [
"--generated-members", "signal.Signals,GPIO.*"
],
"cmake.sourceDirectory": "${workspaceFolder}/fw/preamp",
"cmake.buildDirectory": "${workspaceFolder}/fw/preamp/build",
"files.watcherExclude": {
Expand All @@ -30,11 +18,20 @@
"*.h": "c"
},
"[python]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "ms-python.autopep8"
},
"autopep8.args": [
"--indent-size=2",
"--max-line-length=120"
],
"pylint.args": ["--generated-members", "signal.Signals,GPIO.*"],
"python.defaultInterpreterPath": "venv/bin/python",
"python.testing.pytestArgs": ["tests"],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true,
"markdownlint.config": {
"default": true,
"MD033": { "allowed_elements": ["table", "thead", "tbody", "th", "tr", "td", "b"] },
},
"python.formatting.provider": "none"
}
13 changes: 12 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,24 @@
# AmpliPi Software Releases

## Upcoming release
## 0.3.1
* System
* Fix bug between various hardware versions
* Developing
* Fix software and hardware tests

## 0.3.0
* Streams
* Add Bluetooth stream
* Updates to spotifyd
* API
* Add support for units without zones
* Hardware
* Add support for EEPROMS on boards to identify board type and revision
* Add support for E-Ink display
* Web App
* Completely rewritten web app using React
* System
* Add Logitech Media Server as an optional backend

## 0.2.1
* System
Expand Down
37 changes: 16 additions & 21 deletions NEW_RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,6 @@

So you think you are ready to make a release, eh? Follow the steps below :)

## Making a prelease
- [ ] Merge main into develop
- [ ] Make a branch off develop called VERSION-prelease
- [ ] Update the changelog with notes and the latest version (and commit it!)
- [ ] Update the API by running the `scripts/create_spec` script and commit the resulting changes to `docs/amplipi_api.yaml` with `git commit --patch -m "Update API specification used by GitHub Pages"`
- [ ] Build the webapp with `npm run build` and force add the changes with `git add -f web/dist`
- [ ] Use poetry to bump the version with `poetry version ${VERSION}-alpha.0 && git add pyproject.toml && git commit -m "Bump pre-release version"`
- [ ] Tag the changes so we can make a pre-release on GitHub `git tag -as ${VERSION}-alpha.0 -m '' && git push origin ${VERSION}-alpha.0`
- [ ] Make a pre-release using the GitHub interface
- [ ] Use the AmpliPi updater to update to the pre-release
- [ ] Test it (see below), if it needs changes follow the steps above again but stay on the pre-release branch and increment the number after alpha eg `alpha8`
- When it works skip below to [Finalizing the release](#finalizing-the-release)

## Testing
- [ ] Web App (use chrome, firefox, and safari)
- [ ] Test group and zone volume control
Expand All @@ -34,11 +21,19 @@ So you think you are ready to make a release, eh? Follow the steps below :)
- [ ] Update end-of-line tester with new release
- [ ] Verify all tests function

## Finalizing the release
Alright so the release is tested and it actually works! Nice!
- [ ] merge the prerelease branch into develop and merge that into the main branch
- [ ] use poetry to bump the version `poetry version ${VERSION} && git add pyproject.toml && git commit -m "Bump release"`
- [ ] use git to delete any prelease tags `git push origin -d $(git tag -l "${VERSION}-alpha*") && git tag -d $(git tag -l "${VERSION}-alpha*")`
- [ ] Tag the changes so we can make a release on GitHub `git tag -as ${VERSION} -m '' && git push --follow-tags`
- [ ] Make a release using the GitHub interface, add notes from the CHANGELOG.md
- [ ] Make a new Raspberry Pi image to program onto units before shipping.
## Versioning
This project follows [Semantic Versioning](https://semver.org/). Here are some examples of versions we've used before:
* `0.2.1`: this is a public general-availability bugfix release of the `0.2` feature release.
* `0.3.0-alpha.0` is the first alpha release of the `0.3` feature release.

## Making a release
- [ ] Ensure the PR(s) with your features & fixes are merged into `main`.
- [ ] Create & merge a branch/PR off `main` to bump the version in the CHANGELOG and also using `poetry version ${VERSION}`
- [ ] Create another branch off `main` named the version number (ie, `0.3.0`.)
- [ ] Build the webapp in `web` with `npm run build` and force add the changes with `git add -f web/dist; git commit -m "Build web app for release"`
- [ ] Update the API by running the `scripts/create_spec` script and commit the resulting changes to `docs/amplipi_api.yaml` with `git commit --patch -m "Update API specification used by GitHub Pages"`
- [ ] Tag the changes so we can make a release on GitHub: `git tag -as ${VERSION} -m '' && git push origin ${VERSION}`
- [ ] Make a release using the GitHub interface
- [ ] Remove the branch (but not the tag) from Github, or else the ref is ambiguous to Github and the updater fails to download the right tarball.
- [ ] Use the AmpliPi updater to update to the release
- [ ] Test it again! If it needs changes, pull request your bugfixes against `main` and stamp a new release 😎
Loading

0 comments on commit cb84410

Please sign in to comment.