De tijdelijke pull_request-conditie in deploy-test zorgde dat elke PR
automatisch naar test deployde. Dat is niet meer gewenst: een
test-deploy vanaf een feature-branch kan al zonder PR via een
handmatige workflow_dispatch-run met 'Deploy to Test' aangevinkt.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
De knop was ook zichtbaar op de testomgeving (VITE_APP_ENV=test).
Nu uitsluitend zichtbaar bij pnpm dev, zodat de testomgeving een
productie-equivalente build draait.
Voorkomt dat CI onnodig doorloopt op een verouderde commit. Runs op
push naar master en workflow_dispatch worden nooit geannuleerd (groep
valt terug op github.run_id, altijd uniek), zodat de automatische
test-deploy niet halverwege afgebroken kan worden.
Voegt een deploy_test-checkbox toe voor handmatige runs, analoog aan de
bestaande deploy_production-checkbox. De automatische testdeploy bij een
push/merge naar master blijft ongewijzigd en onafhankelijk van dit vinkje.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Gitea Actions plakt ${{ secrets.* }} als platte tekst in het run-script
vóórdat bash het uitvoert. Bevat het wachtwoord een shell-metateken
zoals '$', dan interpreteert bash dat alsnog, waardoor sshpass een
ander wachtwoord krijgt dan bedoeld ("Permission denied"). Via env:
en sshpass -e komt de waarde als kant-en-klare string binnen, zonder
die tweede interpretatieslag.
Hernoemt de Gitea-variable achter VITE_UMAMI_WEBSITE_ID naar
VITE_UMAMI_WEBSITE_ID_TEST, zodat deze consistent is met
VITE_UMAMI_WEBSITE_ID_PRODUCTION en DEPLOY_PATH_TEST/DEPLOY_PATH_PRODUCTION.
De Vite build-time envvar-naam die de app zelf verwacht
(VITE_UMAMI_WEBSITE_ID) verandert niet, alleen de naam van de Gitea
repository variable erachter. Bewust gedeelde variabelen (VITE_UMAMI_SCRIPT_URL,
VITE_SENTRY_DSN, PI_MAIN_* secrets) krijgen geen postfix, want die zijn
geen omgevingsspecifieke waarden. Documentatie in umami-setup.md,
deployment-instructions.md en monitoring-plan.md bijgewerkt.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
build-production hergebruikte vars.VITE_UMAMI_WEBSITE_ID van de testbuild,
maar Umami-website-ID's horen bij één specifieke domeinentry in het
dashboard. Zonder deze fix zou productieverkeer in de teststatistieken
terechtkomen. Introduceert VITE_UMAMI_WEBSITE_ID_PRODUCTION als losse Gitea
variable, en documenteert dat er twee aparte Umami-website-entries nodig
zijn (test.slpsoftware.nl / slpsoftware.nl). VITE_UMAMI_SCRIPT_URL en
VITE_SENTRY_DSN blijven bewust gedeeld tussen omgevingen.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Voegt build-production en deploy-production jobs toe aan
continuous_integration.yaml, alleen actief bij een handmatige
workflow_dispatch-run met het deploy_production-vinkje aangevinkt (nooit
automatisch bij een push naar master). Een aparte build-production job is
nodig omdat VITE_APP_ENV een build-time Vite-variabele is: dezelfde bundel
kan niet zowel als test als production getagd zijn in Sentry/analytics.
Uploadpad komt uit de nieuwe Gitea-variable DEPLOY_PATH_PRODUCTION, analoog
aan DEPLOY_PATH_TEST. Documentatie en production-readiness-checklist
bijgewerkt om dit open item als opgelost te markeren.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Vervangt het hardcoded testpad in continuous_integration.yaml door de
Gitea repository variable DEPLOY_PATH_TEST, zodat het uploadpad aan te
passen is zonder de workflow zelf te wijzigen. Documentatie bijgewerkt
met de vereiste eenmalige Gitea-variable-setup.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Gitea Actions kent geen GitLab/Azure DevOps-achtige manual approval
gate; workflow_dispatch is het dichtstbijzijnde equivalent.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>