ci: repoint desktop build off the deleted slopsmith org

The slopsmith org was deleted in the DMCA relaunch; core + plugins now
live under the private got-feedback org. Repoint the whole build:

- core clone (nightly.yml, build-common.sh) -> got-feedback/feedback,
  authenticated via GH_CLONE_TOKEN (a PAT with read on the private org;
  threaded through build.yml/nightly.yml/release.yml). Local builds
  without it fall back to the git credential helper.
- bundled-plugin list -> got-feedback/feedback-plugin-*, pruned to the
  set that exists in the org: drops the removed extraction plugins
  (profileimport, tones, sloppak-converter) and not-yet-rehomed ones
  (nam-rig-builder, tabimport); 34 plugins bundled.
- dirname derivation strips the new feedback-plugin- prefix.
- ghcr image -> ghcr.io/got-feedback/feedback; VERSION-sync dispatch
  -> got-feedback/feedback; soundfont + update FEED_URL + docs ->
  got-feedback/feedback-desktop.

Two prerequisites remain (owner-only): set the GH_CLONE_TOKEN secret,
and re-upload the soundfonts-v1 release assets to feedback-desktop.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
byrongamatos 2026-06-17 00:47:43 +02:00
parent 4238b70cf4
commit 28d9a7f30f
13 changed files with 69 additions and 62 deletions

View File

@ -12,7 +12,7 @@
"url": "https://github.com/FluidSynth/fluidsynth/releases/download/v2.5.4/fluidsynth-v2.5.4-win10-x64-cpp11.zip"
},
"soundfont_general_user": {
"url": "https://github.com/slopsmith/slopsmith-desktop/releases/download/soundfonts-v1/GeneralUser-GS.sf2",
"url": "https://github.com/got-feedback/feedback-desktop/releases/download/soundfonts-v1/GeneralUser-GS.sf2",
"sha256": "9575028c7a1f589f5770fccc8cff2734566af40cd26ed836944e9a5152688cfe"
},
"python_standalone_macos_arm64": {

View File

@ -30,7 +30,7 @@ this container both read from it, so no version drift.
## Prerequisites
- [Docker](https://docs.docker.com/get-docker/) installed and running
- The [Slopsmith](https://github.com/slopsmith/slopsmith) server
- The [Slopsmith](https://github.com/got-feedback/feedback) server
repository cloned **adjacent** to this one:
```
your-projects/
@ -115,7 +115,7 @@ Clone the server repo adjacent:
```bash
cd ..
git clone https://github.com/slopsmith/slopsmith.git
git clone https://github.com/got-feedback/feedback.git
cd slopsmith-desktop
```

View File

@ -15,7 +15,7 @@
}
],
"remoteUser": "vscode",
"postCreateCommand": "test -d /workspaces/slopsmith || (echo 'ERROR: Slopsmith repository not found at ../slopsmith — clone it adjacent to this repo: git clone https://github.com/slopsmith/slopsmith.git ../slopsmith' && exit 1) && python3 scripts/parse-build-config.py .build-config.json >/dev/null && git submodule update --init --recursive && npm install",
"postCreateCommand": "test -d /workspaces/slopsmith || (echo 'ERROR: Slopsmith repository not found at ../slopsmith — clone it adjacent to this repo: git clone https://github.com/got-feedback/feedback.git ../slopsmith' && exit 1) && python3 scripts/parse-build-config.py .build-config.json >/dev/null && git submodule update --init --recursive && npm install",
"customizations": {
"vscode": {
"settings": {

View File

@ -147,6 +147,9 @@ jobs:
# historical default-branch behaviour. clone_slopsmith() in
# build-common.sh also defaults to main as a second safety net.
SLOPSMITH_REF: ${{ inputs.slopsmith_ref || 'main' }}
# PAT with read access to the private got-feedback repos so
# build-common.sh can clone core + the bundled plugins.
GH_CLONE_TOKEN: ${{ secrets.SLOPSMITH_SYNC_TOKEN }}
APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
@ -557,7 +560,7 @@ jobs:
echo "::error::SLOPSMITH_SYNC_TOKEN secret is missing; cannot dispatch."
exit 1
fi
gh api -X POST repos/slopsmith/slopsmith/dispatches \
gh api -X POST repos/got-feedback/feedback/dispatches \
-f event_type=desktop-released \
-f "client_payload[version]=$version"
echo "Dispatched desktop-released event (version=$version) to slopsmith."

View File

@ -42,10 +42,12 @@ jobs:
steps:
- name: Clone core at active branch
env:
GH_CLONE_TOKEN: ${{ secrets.SLOPSMITH_SYNC_TOKEN }}
run: |
git clone --depth 1 --branch "${{ needs.setup.outputs.branch }}" \
https://github.com/slopsmith/slopsmith.git core
echo "Cloned slopsmith @ $(git -C core rev-parse --short HEAD) (${{ needs.setup.outputs.branch }})"
"https://x-access-token:${GH_CLONE_TOKEN}@github.com/got-feedback/feedback.git" core
echo "Cloned feedback core @ $(git -C core rev-parse --short HEAD) (${{ needs.setup.outputs.branch }})"
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@ -64,8 +66,8 @@ jobs:
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/slopsmith/slopsmith:nightly
ghcr.io/slopsmith/slopsmith:nightly-${{ needs.setup.outputs.date }}
ghcr.io/got-feedback/feedback:nightly
ghcr.io/got-feedback/feedback:nightly-${{ needs.setup.outputs.date }}
cache-from: type=gha
cache-to: type=gha,mode=max
@ -145,6 +147,9 @@ jobs:
run: ./scripts/build-release.sh
shell: bash
env:
# PAT with read access to the private got-feedback repos so
# build-common.sh can clone core + the bundled plugins.
GH_CLONE_TOKEN: ${{ secrets.SLOPSMITH_SYNC_TOKEN }}
APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }}
# No notarization for nightlies — testers use xattr -dr com.apple.quarantine
CSC_FOR_PULL_REQUEST: "true"

View File

@ -82,6 +82,9 @@ jobs:
run: ./scripts/build-release.sh
shell: bash
env:
# PAT with read access to the private got-feedback repos so
# build-common.sh can clone core + the bundled plugins.
GH_CLONE_TOKEN: ${{ secrets.SLOPSMITH_SYNC_TOKEN }}
APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
@ -286,7 +289,7 @@ jobs:
echo "::error::SLOPSMITH_SYNC_TOKEN secret is missing; cannot dispatch."
exit 1
fi
gh api -X POST repos/slopsmith/slopsmith/dispatches \
gh api -X POST repos/got-feedback/feedback/dispatches \
-f event_type=desktop-released \
-f "client_payload[version]=$version"
echo "Dispatched desktop-released event (version=$version) to slopsmith."

View File

@ -1,11 +1,11 @@
# Slopsmith Desktop
Standalone cross-platform desktop app that wraps [Slopsmith](https://github.com/slopsmith/slopsmith) with integrated VST hosting, amp modeling, audio I/O, and full plugin support.
Standalone cross-platform desktop app that wraps [Slopsmith](https://github.com/got-feedback/feedback) with integrated VST hosting, amp modeling, audio I/O, and full plugin support.
## Install
Prebuilt installers for the latest tagged release are published on the
[GitHub Releases page](https://github.com/slopsmith/slopsmith-desktop/releases/latest).
[GitHub Releases page](https://github.com/got-feedback/feedback-desktop/releases/latest).
| Platform | Download | Notes |
|----------|----------|-------|

View File

@ -107,8 +107,10 @@ clone_slopsmith() {
# builds and the push/tag CI paths behave exactly as before.
# --branch accepts either a branch or a tag, both shallow-cloneable.
local slopsmith_ref="${SLOPSMITH_REF:-main}"
local _auth=""
[[ -n "${GH_CLONE_TOKEN:-}" ]] && _auth="x-access-token:${GH_CLONE_TOKEN}@"
echo "Cloning Slopsmith repository (ref: ${slopsmith_ref})..."
git clone --depth 1 --branch "$slopsmith_ref" https://github.com/slopsmith/slopsmith.git "$clone_dir"
git clone --depth 1 --branch "$slopsmith_ref" "https://${_auth}github.com/got-feedback/feedback.git" "$clone_dir"
# Remove broken symlinks from plugins dir
find "$clone_dir/plugins" -maxdepth 1 -type l -delete 2>/dev/null || true
@ -124,47 +126,41 @@ clone_slopsmith() {
# plugin work in a feature-branch test build).
cd "$clone_dir/plugins"
local plugins=(
# byrongamatos plugins
slopsmith/slopsmith-plugin-drum-highway-3d
slopsmith/slopsmith-plugin-drums
slopsmith/slopsmith-plugin-editor
slopsmith/slopsmith-plugin-flappy-bend
slopsmith/slopsmith-plugin-fretboard
slopsmith/slopsmith-plugin-jumpingtab
slopsmith/slopsmith-plugin-keys-highway-3d
slopsmith/slopsmith-plugin-lyrics-karaoke
slopsmith/slopsmith-plugin-metronome
slopsmith/slopsmith-plugin-midi
slopsmith/slopsmith-plugin-multiplayer
slopsmith/slopsmith-plugin-musicxml-import
slopsmith/slopsmith-plugin-nam-tone
slopsmith/slopsmith-plugin-notedetect
slopsmith/slopsmith-plugin-piano
slopsmith/slopsmith-plugin-practice
slopsmith/slopsmith-plugin-profileimport
slopsmith/slopsmith-plugin-sectionmap
slopsmith/slopsmith-plugin-setlist
slopsmith/slopsmith-plugin-staffview
slopsmith/slopsmith-plugin-stepmode
slopsmith/slopsmith-plugin-studio
slopsmith/slopsmith-plugin-tabimport
slopsmith/slopsmith-plugin-tabview
slopsmith/slopsmith-plugin-tones
slopsmith/slopsmith-plugin-tutorials
# Community plugins
alleexx/slopsmith-plugin-transpose-chords
ChrisBeWithYou/slopsmith-plugin-slopscale
DeathlySin/slopsmith-plugin-song-preview
Jafz2001/slopsmith-plugin-nam-rig-builder
masc0t/slopsmith-plugin-find-more
masc0t/slopsmith-plugin-invert-highway
masc0t/slopsmith-plugin-themes
masc0t/slopsmith-update-manager:update_manager
slopsmith/slopsmith-plugin-stem-mixer
topkoa/slopsmith-plugin-guitar-theory
topkoa/slopsmith-plugin-sloppak-converter
topkoa/slopsmith-plugin-splitscreen
topkoa/slopsmith-plugin-stems
# Bundled plugins — all under the got-feedback org after the migration.
got-feedback/feedback-plugin-drum-highway-3d
got-feedback/feedback-plugin-drums
got-feedback/feedback-plugin-editor
got-feedback/feedback-plugin-find-more
got-feedback/feedback-plugin-flappy-bend
got-feedback/feedback-plugin-fretboard
got-feedback/feedback-plugin-guitar-theory
got-feedback/feedback-plugin-invert-highway
got-feedback/feedback-plugin-jumpingtab
got-feedback/feedback-plugin-keys-highway-3d
got-feedback/feedback-plugin-lyrics-karaoke
got-feedback/feedback-plugin-metronome
got-feedback/feedback-plugin-midi
got-feedback/feedback-plugin-multiplayer
got-feedback/feedback-plugin-musicxml-import
got-feedback/feedback-plugin-nam-tone
got-feedback/feedback-plugin-notedetect
got-feedback/feedback-plugin-piano
got-feedback/feedback-plugin-practice
got-feedback/feedback-plugin-sectionmap
got-feedback/feedback-plugin-setlist
got-feedback/feedback-plugin-slopscale-fork
got-feedback/feedback-plugin-song-preview
got-feedback/feedback-plugin-splitscreen
got-feedback/feedback-plugin-staffview
got-feedback/feedback-plugin-stem-mixer
got-feedback/feedback-plugin-stems
got-feedback/feedback-plugin-stepmode
got-feedback/feedback-plugin-studio
got-feedback/feedback-plugin-tabview
got-feedback/feedback-plugin-themes
got-feedback/feedback-plugin-transpose-chords
got-feedback/feedback-plugin-tutorials
got-feedback/feedback-plugin-update-manager
)
local total=0
@ -186,12 +182,12 @@ clone_slopsmith() {
fi
if [[ -z "$dirname" ]]; then
dirname="${owner_repo##*/}"
dirname="${dirname#slopsmith-plugin-}"
dirname="${dirname#feedback-plugin-}"
dirname="${dirname//-/_}"
fi
local clone_args=(--depth 1)
[[ -n "$branch" ]] && clone_args+=(--branch "$branch")
if git clone "${clone_args[@]}" "https://github.com/${owner_repo}.git" "$dirname" 2>/dev/null; then
if git clone "${clone_args[@]}" "https://${_auth}github.com/${owner_repo}.git" "$dirname" 2>/dev/null; then
cloned=$((cloned + 1))
else
echo " skipped ${owner_repo}${branch:+@$branch}"

View File

@ -73,7 +73,7 @@ if [ -z "${SLOPSMITH_DIR:-}" ] || [ ! -f "$SLOPSMITH_DIR/requirements.txt" ]; th
echo " \$SLOPSMITH_DIR=${SLOPSMITH_DIR:-<unset>}" >&2
echo " $PROJECT_DIR/../slopsmith" >&2
echo " $HOME/Repositories/slopsmith" >&2
echo "Clone slopsmith next to this repo: git clone https://github.com/slopsmith/slopsmith.git $PROJECT_DIR/../slopsmith" >&2
echo "Clone slopsmith next to this repo: git clone https://github.com/got-feedback/feedback.git $PROJECT_DIR/../slopsmith" >&2
exit 1
fi

View File

@ -32,7 +32,7 @@ if [ -z "$SLOPSMITH_DIR" ] || [ ! -d "$SLOPSMITH_DIR" ]; then
echo " \$SLOPSMITH_DIR (unset)" >&2
echo " $PROJECT_DIR/../slopsmith" >&2
echo " $HOME/Repositories/slopsmith" >&2
echo "Clone it with: git clone https://github.com/slopsmith/slopsmith.git ../slopsmith" >&2
echo "Clone it with: git clone https://github.com/got-feedback/feedback.git ../slopsmith" >&2
exit 1
fi

View File

@ -20,7 +20,7 @@ import { restartPython } from './python';
// the download fast with a clear error rather than serving silently-wrong
// bytes. Source + licence info live on the release page itself.
const SOUNDFONT_URL =
'https://github.com/slopsmith/slopsmith-desktop/releases/download/soundfonts-v1/FluidR3_GM.sf2';
'https://github.com/got-feedback/feedback-desktop/releases/download/soundfonts-v1/FluidR3_GM.sf2';
const SOUNDFONT_SHA256 = '74594e8f4250680adf590507a306655a299935343583256f3b722c48a1bc1cb0';
const SOUNDFONT_EXPECTED_SIZE_MB = 142;

View File

@ -52,10 +52,10 @@ export type UpdateStatus =
| { status: 'error'; channel: UpdateChannel; currentVersion: string | null; lastChecked: number | null; message: string };
// Repo the Velopack feed lives in. Matches the existing electron-builder
// release pipeline (slopsmith/slopsmith-desktop) — Velopack's GitHub
// release pipeline (got-feedback/feedback-desktop) — Velopack's GitHub
// loader looks for `releases.<channel>.json` + `*-full.nupkg` / `*-delta.nupkg`
// assets attached to releases here.
const FEED_URL = 'https://github.com/slopsmith/slopsmith-desktop';
const FEED_URL = 'https://github.com/got-feedback/feedback-desktop';
// Background poll cadence. Velopack downloads are cheap when there's nothing
// new (HEAD on the channel manifest), so 4h is a reasonable trade-off

View File

@ -22,7 +22,7 @@
<p id="update-status" class="text-xs text-slate-400 mt-3">Loading updater status…</p>
<p id="update-linux-note" class="hidden text-xs text-amber-300 mt-2">
Auto-update is not available on Linux —
<a id="update-releases-link" href="https://github.com/slopsmith/slopsmith-desktop/releases"
<a id="update-releases-link" href="https://github.com/got-feedback/feedback-desktop/releases"
target="_blank" rel="noopener" class="underline hover:text-amber-200">download new versions from GitHub Releases</a>.
</p>
</div>