# Deployment Instructions ## Overview Deployment is currently a **manually-triggered Gitea Actions pipeline**: `.gitea/workflows/deploy.yml`. You start it yourself from the Gitea Actions UI; it runs the build/test/lint gate and then packages the `dist/` build as a downloadable artifact. There is no automatic upload to a host yet — you upload the artifact yourself for now. ## Pipeline File `.gitea/workflows/deploy.yml` — triggered by `workflow_dispatch` only (no automatic trigger on push/tag). Two jobs: - `build-and-test` — install, lint, unit tests, build; uploads `dist/` as the `dist` artifact - `deploy` — downloads that artifact and republishes it as `release-dist` (placeholder for a future automatic upload step) ## How to Prepare and Run a Release ### 1. Create a release branch (manual, your own git flow) ```bash git checkout master git pull git checkout -b release/1.0.0 git push origin release/1.0.0 ``` ### 2. Trigger the pipeline manually 1. In Gitea, open the repository's **Actions** tab. 2. Select the **Build, Test and Package Release** workflow. 3. Click **Run workflow**, choose the `release/1.0.0` branch (or whichever ref you want to build), and start it. ### 3. Download and upload the artifact 1. Once the run finishes successfully, open the run's summary page in Gitea Actions. 2. Download the **release-dist** artifact (a zip of the `dist/` folder). 3. Upload its contents to your host manually (e.g. via your FTP/SFTP client), using whatever hosting setup you finalize with mijnhostingpartner.nl. ## Verifying a Deployment 1. Confirm the Gitea Actions run completed successfully (`build-and-test` and `deploy` both green). 2. After manually uploading the artifact contents, open the live site in a browser and confirm it loads correctly (check the browser console for errors, per the manual smoke test in `construction/build-and-test/integration-test-instructions.md`). ## Future Work — Automatic Upload Once the hosting setup is finalized (FTP/SFTP details, and whether this frontend shares a domain/app with a future back-end and CMS front-end — see `deployment-plan.md`'s "Open Item"), replace the placeholder step in the `deploy` job with an actual upload step (e.g. an FTP/SFTP action, or a shell-based upload using `lftp`/`curl`), using Gitea Actions Secrets for credentials and Variables for host/paths. At that point, decide whether the trigger should stay manual or become automatic (e.g. on push to `release/*` or on tag).