-
Notifications
You must be signed in to change notification settings - Fork 400
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release v3.5.0 #2211
Merged
+10,528
−2,142
Merged
Release v3.5.0 #2211
Changes from 13 commits
Commits
Show all changes
29 commits
Select commit
Hold shift + click to select a range
6ebfba5
Ignore test directories for coverage (#2158)
s-martin 9dceb84
Adapt pbc.c to current json rpc spec (#1857)
sklemer1 0e6dbd6
Add docs for command line client for RPC (#2162)
s-martin 9e65de4
Add Workflow Action to build and upload webapp bundle to Release (#2161)
AlvinSchiller 0a5d429
Improve the run_rpc_tool script (#2166)
s-martin 480ce20
Improve Docs: Fix GPIO and add WSL (#2173)
s-martin ca9b5f1
Cover Art with Cache (#2177)
pabera eaa7736
Improve docs (#2178)
s-martin c9b6cd7
Update Pulseaudio docs for Docker on Mac (#2176)
pabera 3a904b5
Activate codeql analysis (#2182)
s-martin c713610
Reorder 'USER' command (#2199)
votti c4ee966
add workflow files to paths to trigger run (#2202)
AlvinSchiller 03e64ff
New card actions: play, pause, prev, next, toggle, repeat, shuffle (#…
pabera 6e9e4f7
Add swap file adjustment for webapp build (#2204)
AlvinSchiller 03e6197
[New component] HiFiBerry Sound Card & OnOff SHIM (#2169)
pabera 4f015dd
Create markdown docs from docstring in py files (#2181)
s-martin 6f09764
deactivate kioskmode installation option on armv6 devices (#2217)
AlvinSchiller f6db160
Update docs (#2216)
AlvinSchiller 1c0afa3
fix the messageboxes (#2223)
s-martin 0aad2a9
Improve Bluetooth docs (#2174)
SKHSKHilber c306719
Playlists, Livestreams, Podcasts (#2200)
85587a6
Future3 add login motd with note about venv (#2225)
AlvinSchiller 2bb9367
Minor fixes (#2234)
AlvinSchiller e1b46b6
Add NFCPy support (#2190)
powertomato b2a6517
included venv activation for python scripts (#2233)
AlvinSchiller 1e1ae25
prevent installer rerun and remove update path (#2235)
AlvinSchiller 32d57f5
Bump to v3.5.0
pabera 2fe7055
NetworkManager Support (#2218)
AlvinSchiller 20389e3
Allow default value for CoverArtCache path (#2237)
pabera File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
[run] | ||
omit = test/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,5 +15,5 @@ indent_size = 4 | |
[*.md] | ||
trim_trailing_whitespace = false | ||
|
||
[*.{js,yaml}] | ||
[*.{js,yaml,yml}] | ||
indent_size = 2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,183 @@ | ||
name: Bundle Webapp and Release | ||
|
||
on: | ||
push: | ||
branches: | ||
- 'future3/main' | ||
- 'future3/develop' | ||
|
||
jobs: | ||
|
||
check: | ||
if: ${{ github.repository_owner == 'MiczFlor' }} | ||
runs-on: ubuntu-latest | ||
|
||
outputs: | ||
tag_name: ${{ steps.vars.outputs.tag_name }} | ||
release_type: ${{ steps.vars.outputs.release_type }} | ||
check_abort: ${{ steps.vars.outputs.check_abort }} | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Set Output vars | ||
id: vars | ||
env: | ||
BRANCH_NAME: ${{ github.ref_name }} | ||
run: | | ||
# Official SemVer Regex definition | ||
# https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string | ||
# Needed changes to the regex: | ||
# - '?:' capture command needed to be removed as it wasn't working in shell | ||
# - '\d' had to be replaced with [0-9] | ||
# | ||
# Release versions like 1.0.0, 3.5.0, 100.4.50000+metadata | ||
REGEX_VERSION_RELEASE="^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(\+([0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*))?$" | ||
# | ||
# Prerelease versions like 1.0.0-alpha, 3.5.0-whatsoever.12, 100.4.50000-identifier.12+metadata | ||
REGEX_VERSION_PRERELEASE="^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(-((0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*))*))?(\+([0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*))?$" | ||
|
||
|
||
# Get the version and calculate release type | ||
VERSION=$(python ./src/jukebox/jukebox/version.py) | ||
if echo "$VERSION" | grep -qoE "$REGEX_VERSION_RELEASE" ; then | ||
RELEASE_TYPE=release | ||
elif echo "$VERSION" | grep -qoE "$REGEX_VERSION_PRERELEASE" ; then | ||
RELEASE_TYPE=prerelease | ||
else | ||
RELEASE_TYPE=none | ||
fi | ||
|
||
if [ "$BRANCH_NAME" == 'future3/main' -a "$RELEASE_TYPE" == 'release' ] || [ "$BRANCH_NAME" == 'future3/develop' -a "$RELEASE_TYPE" == 'prerelease' ] ; then | ||
CHECK_ABORT=false | ||
else | ||
echo "::notice title=Abort due to not matching ${RELEASE_TYPE} version for branch!::'${VERSION}' on '${BRANCH_NAME}'" | ||
CHECK_ABORT=true | ||
fi | ||
|
||
echo "::group::Output values" | ||
echo "Version: ${VERSION}" | ||
echo "RELEASE_TYPE: ${RELEASE_TYPE}" | ||
echo "BRANCH_NAME: ${BRANCH_NAME}" | ||
echo "CHECK_ABORT: ${CHECK_ABORT}" | ||
|
||
echo "tag_name=v${VERSION}" >> $GITHUB_OUTPUT | ||
echo "release_type=${RELEASE_TYPE}" >> $GITHUB_OUTPUT | ||
echo "branch_name=${BRANCH_NAME}" >> $GITHUB_OUTPUT | ||
echo "check_abort=${CHECK_ABORT}" >> $GITHUB_OUTPUT | ||
echo "::endgroup::" | ||
|
||
build: | ||
needs: [check] | ||
if: ${{ needs.check.outputs.check_abort == 'false' }} | ||
runs-on: ubuntu-latest | ||
|
||
env: | ||
WEBAPP_ROOT_PATH: ./src/webapp | ||
|
||
outputs: | ||
tag_name: ${{ needs.check.outputs.tag_name }} | ||
release_type: ${{ needs.check.outputs.release_type }} | ||
commit_sha: ${{ steps.vars.outputs.commit_sha }} | ||
webapp_bundle_name: ${{ steps.vars.outputs.webapp_bundle_name }} | ||
webapp_bundle_name_latest: ${{ steps.vars.outputs.webapp_bundle_name_latest }} | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Set Output vars | ||
id: vars | ||
env: | ||
COMMIT_SHA: ${{ github.sha }} | ||
run: | | ||
echo "commit_sha=${COMMIT_SHA}" >> $GITHUB_OUTPUT | ||
echo "webapp_bundle_name=webapp-build-${COMMIT_SHA:0:10}.tar.gz" >> $GITHUB_OUTPUT | ||
echo "webapp_bundle_name_latest=webapp-build-latest.tar.gz" >> $GITHUB_OUTPUT | ||
|
||
- name: Setup Node.js 20.x | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: 20.x | ||
- name: npm install | ||
working-directory: ${{ env.WEBAPP_ROOT_PATH }} | ||
run: npm install | ||
- name: npm build | ||
working-directory: ${{ env.WEBAPP_ROOT_PATH }} | ||
env: | ||
CI: false | ||
run: npm run build | ||
|
||
- name: Create Bundle | ||
working-directory: ${{ env.WEBAPP_ROOT_PATH }} | ||
run: | | ||
tar -czvf ${{ steps.vars.outputs.webapp_bundle_name }} build | ||
|
||
- name: Artifact Upload | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: ${{ steps.vars.outputs.webapp_bundle_name }} | ||
path: ${{ env.WEBAPP_ROOT_PATH }}/${{ steps.vars.outputs.webapp_bundle_name }} | ||
retention-days: 5 | ||
|
||
release: | ||
needs: [build] | ||
runs-on: ubuntu-latest | ||
|
||
concurrency: | ||
group: ${{ needs.build.outputs.tag_name }} | ||
|
||
permissions: | ||
contents: write | ||
|
||
steps: | ||
- name: Artifact Download | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: ${{ needs.build.outputs.webapp_bundle_name }} | ||
|
||
- name: Create Release | ||
uses: ncipollo/release-action@v1 | ||
with: | ||
commit: ${{ needs.build.outputs.commit_sha }} | ||
tag: ${{ needs.build.outputs.tag_name }} | ||
body: "Automated Release for ${{ needs.build.outputs.tag_name }}" | ||
makeLatest: 'false' | ||
prerelease: ${{ needs.build.outputs.release_type == 'prerelease' }} | ||
generateReleaseNotes: ${{ needs.build.outputs.release_type == 'release' }} | ||
skipIfReleaseExists: false | ||
allowUpdates: true | ||
removeArtifacts: false | ||
replacesArtifacts: false | ||
omitBodyDuringUpdate: true | ||
omitNameDuringUpdate: true | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Get Release by tag | ||
id: get_release | ||
uses: joutvhu/get-release@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
tag_name: ${{ needs.build.outputs.tag_name }} | ||
|
||
- name: Upload Release Asset | ||
uses: shogo82148/actions-upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.get_release.outputs.upload_url }} | ||
asset_name: ${{ needs.build.outputs.webapp_bundle_name }} | ||
asset_path: ${{ needs.build.outputs.webapp_bundle_name }} | ||
asset_content_type: application/gzip | ||
overwrite: true | ||
|
||
- name: Upload Release Asset as Latest | ||
uses: shogo82148/actions-upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.get_release.outputs.upload_url }} | ||
asset_name: ${{ needs.build.outputs.webapp_bundle_name_latest }} | ||
asset_path: ${{ needs.build.outputs.webapp_bundle_name }} | ||
asset_content_type: application/gzip | ||
overwrite: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you expect by running it with coverage?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In coveralls.io you can check how much of the code is covered by our unit tests.
The Python GitHub Action runs the tests with coverage.
See the coveralls comment in this PR or other out related PRs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, do we look for more coverage? Should we update the Contribution info as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think generally it's useful to improve the coverage, but from my point of view we should focus on making future3 feature "complete" at this point.
But it probably wouldn't hurt to encourage people in CONTRIBUTING to add unit tests.