From 39e710f4b11143f9529143fddbb1e06f8c5b601c Mon Sep 17 00:00:00 2001 From: Mungai Njoroge Date: Thu, 12 Oct 2023 14:01:10 -0700 Subject: [PATCH] Setup release workflow (#148) --- .github/changelog.md | 63 ++++++++++++++++++++++++++ .github/workflows/release.yml | 85 +++++++++++++++++++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 .github/changelog.md create mode 100644 .github/workflows/release.yml diff --git a/.github/changelog.md b/.github/changelog.md new file mode 100644 index 0000000..7196733 --- /dev/null +++ b/.github/changelog.md @@ -0,0 +1,63 @@ +Swing Music v1.3.0 is **FINALLY** here! + +## Summary + +This release is ... _Bigger, Better, Faster, More!_ + +1. Related artists & albums +2. Mobile view (PWA)[`alpha`] +3. Album versions +4. Saving things as playlists +5. Adding things to playlists +6. Major UI redesign +7. Many bug fixes! + +## Full Changelog + +### What's New? + +- Related artists - You can now explore related artists in the artist page +- Related albums - Explore albums similar to the current one, in the album page. +- Mobile port for the client - You can now use the web client in a mobile browser. For best experience, install it as a PWA on chromium browsers. If you’re not prompted to `Add Swing Music to Home screen` after ~30s on the app, click the 3 dots on the top right corner and select `Add to Home screen`. + - You can also also install the client as a standalone app on desktop. Click the install button on the URL to install. +- Album versions - Explore other versions of an album at the bottom of the album tracklist. +- Recently added in favorites page +- You can now use square images in playlist page. Open the update playlist dialog to toggle the feature per playlist. +- Save folder as playlist. +- Save album as playlist. Use album thumbnail as playlist image. +- Save artists as playlist. Use artist image as playlist image. +- Add folder/album/artist to playlist or queue +- Top results section in sidebar search and search page. +- Playlist page redesign to introduce header. +- Pinned playlists! You can now pin a playlist for quick access. +- New opt-in simple artist page header. Enable in settings. +- 8 new settings added to the settings page + 1. Artist separators + 2. Marking albums with one track as singles + 3. Simple artist page header + 4. Clean album titles + 5. Merge album versions + 6. Hide prod. + 7. Hide remaster info + 8. Extract featured artists + +### Enhancements + +- Remove previous shuffle behavior shuffling the queue only shuffled following tracks and moves the current one to the top of the queue. +- Better colors in page headers +- Run the populate function on boot, even with the `-nps` (no periodic scans) flag. +- Redesign queue page +- Show artist decade & genres in artist page +- Better command line help text +- Code enhancements +- Swing Music process naming +- Various UI redesigns and UX improvements. + - Less pink, more white. + - Search tab buttons and left sidebar items redesign + - Better color schemes in album header and playlist page + +### Bug Fixes + +- Blank page on the browser on Windows caused by missing mime types. +- Artist and album cards being cropped +- A lot more actually! I lost track of most of them. diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..9a6e356 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,85 @@ +name: New Release +on: + workflow_dispatch: + inputs: + tag: + description: 'Tag' + required: true + default: 'v1.x.x' + latest: + description: 'Set as latest' + required: true + default: 'true' + type: choice + options: + - true + - false + draft: + description: 'Set as draft' + required: true + type: choice + default: 'true' + options: + - true + - false + +jobs: + build: + runs-on: ubuntu-20.04 + permissions: write-all + steps: + - name: Clone client + uses: actions/checkout@v2 + - name: Setup Node 16 + uses: actions/setup-node@v3 + with: + node-version: 16.x + - name: Install yarn + run: | + npm install -g yarn + - name: Build client + run: | + git clone https://github.com/swing-opensource/swingmusic-client.git + cd swingmusic-client + yarn install + yarn build --outDir ../client + cd .. + - name: Print working directory + run: | + ls -la + - name: Setup Python 3.10 + uses: actions/setup-python@v2 + with: + python-version: "3.10.13" + - name: Install Poetry + run: | + pip install poetry + - name: Install dependencies + run: | + python -m poetry install + - name: Build server + run: | + pwd + ls ./client + ls ./assets + python -m poetry run python manage.py --build + env: + POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }} + LASTFM_API_KEY: ${{ secrets.LASTFM_API_KEY }} + - name: Verify build success + run: | + if [ ! -f "./dist/swingmusic" ]; then + echo "Build failed" + exit 1 + fi + - name: Create Release + uses: ncipollo/release-action@v1 + with: + artifacts: "dist/swingmusic" + token: ${{ secrets.GITHUB_TOKEN }} + tag: ${{ inputs.tag }} + commit: ${{ github.sha }} + draft: ${{ inputs.draft }} + artifactErrorsFailBuild: true + name: New Release + bodyFile: .github/changelog.md \ No newline at end of file