Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3cfb2260cc | ||
|
|
b5045cf487 |
@@ -10,8 +10,10 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: astral-sh/setup-uv@v6
|
||||
- name: Install pinned uv
|
||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
||||
with:
|
||||
version: "0.11.12"
|
||||
python-version: "3.13"
|
||||
- name: Install verification browser
|
||||
run: |
|
||||
|
||||
@@ -2,6 +2,14 @@
|
||||
|
||||
Alle betekenisvolle wijzigingen worden hier bijgehouden. Het project volgt voorlopig een pre-1.0 semantische versieaanpak.
|
||||
|
||||
## 0.3.17 - 2026-08-12
|
||||
|
||||
### Hersteld
|
||||
|
||||
- De Gitea-releasebootstrap gebruikt een immutable `setup-uv`-commit en een exacte
|
||||
uv-versie; downloads lopen via de Astral-mirror en zijn niet langer afhankelijk
|
||||
van de gelimiteerde GitHub Releases-API op het gedeelde runner-IP.
|
||||
|
||||
## 0.3.16 - 2026-08-12
|
||||
|
||||
### Hersteld
|
||||
|
||||
@@ -8,11 +8,12 @@
|
||||
|
||||
VacatureRadar is een persoonlijke vacature-assistent voor België. De applicatie volgt toegestane werkgeversbronnen, ATS-pagina’s, feeds en vacaturemails, verwijdert dubbels en irrelevante resultaten en rangschikt de overblijvende kansen tegen jouw zoekprofiel. Jij behoudt altijd de controle: VacatureRadar helpt zoeken en opvolgen, maar solliciteert nooit automatisch.
|
||||
|
||||
**Actuele release: 0.3.16.** De volledige P0/P1-releasebasis en de publieke
|
||||
**Actuele release: 0.3.17.** De volledige P0/P1-releasebasis en de publieke
|
||||
demo-hardening zijn afgerond: 327 tests zijn groen, Microsoft 365 verwerkt platformmails via
|
||||
app-only OAuth/XOAUTH2 en de productie-installatie draait vanaf een immutable
|
||||
image in de private Gitea-containerregistry. Het controleerbare acceptatiebewijs
|
||||
staat in [Finale acceptance](docs/audit/FINAL_ACCEPTANCE.md).
|
||||
app-only OAuth/XOAUTH2. Release 0.3.17 herstelt bovendien de reproduceerbare
|
||||
private-registrypublicatie zonder afhankelijkheid van de GitHub Releases-API.
|
||||
Het controleerbare acceptatiebewijs staat in
|
||||
[Finale acceptance](docs/audit/FINAL_ACCEPTANCE.md).
|
||||
|
||||

|
||||
|
||||
|
||||
+1
-1
@@ -139,7 +139,7 @@ CSRF_TRUSTED_ORIGINS = merge_unique(
|
||||
)
|
||||
TIME_ZONE = os.getenv("DJANGO_TIME_ZONE", "Europe/Brussels")
|
||||
VACATURERADAR_OWNER_NAME = os.getenv("VACATURERADAR_OWNER_NAME", "Jens").strip()[:40] or "Jens"
|
||||
VACATURERADAR_VERSION = os.getenv("VACATURERADAR_VERSION", "0.3.16").strip() or "0.3.16"
|
||||
VACATURERADAR_VERSION = os.getenv("VACATURERADAR_VERSION", "0.3.17").strip() or "0.3.17"
|
||||
LANGUAGE_CODE = "nl-be"
|
||||
USE_I18N = True
|
||||
USE_TZ = True
|
||||
|
||||
@@ -9,7 +9,7 @@ DJANGO_ALLOWED_HOSTS=vacatureradar.example.be,127.0.0.1,localhost
|
||||
DJANGO_CSRF_TRUSTED_ORIGINS=https://vacatureradar.example.be
|
||||
DJANGO_TIME_ZONE=Europe/Brussels
|
||||
VACATURERADAR_OWNER_NAME=Jens
|
||||
VACATURERADAR_VERSION=0.3.16
|
||||
VACATURERADAR_VERSION=0.3.17
|
||||
|
||||
POSTGRES_DB=vacatureradar
|
||||
POSTGRES_USER=vacatureradar
|
||||
|
||||
@@ -2417,3 +2417,26 @@ tasks:
|
||||
opvolging en 9 fictieve mailboxkoppelingen; EMAIL-bronnen en demo-mailboxen zijn uit de verkeerde schedulers
|
||||
en activityfeeds uitgesloten, statuscopy en loginplaceholder zijn gecorrigeerd. Gerichte 51 tests en volledige
|
||||
gate met 327 tests groen, 84,04% dekking.
|
||||
- id: VR-230
|
||||
title: Herstel de immutable Gitea-releasepublicatie
|
||||
status: ready
|
||||
priority: P0
|
||||
requirement_ids:
|
||||
- NFR-009
|
||||
depends_on:
|
||||
- VR-229
|
||||
summary: Verwijder de externe GitHub-API-rate-limit uit de releasebootstrap en publiceer de actuele productiebuild
|
||||
opnieuw als aantoonbaar immutable private-registryimage.
|
||||
acceptance_criteria:
|
||||
- De uv-bootstrap is op een immutable actioncommit en een exacte uv-versie gepind.
|
||||
- De releaseworkflow gebruikt voor uv-downloads geen GitHub Releases-API die op een gedeeld runner-IP kan limiteren.
|
||||
- Gitea Actions publiceert een private registryimage met digest, SBOM, checksums en release notes.
|
||||
- Unraid is op de gepubliceerde digest gepind en live health/readiness slagen.
|
||||
verification:
|
||||
- uv run pytest tests/unit/test_deployment_configuration.py
|
||||
- ./scripts/codex_verify.sh
|
||||
- Gitea Actions releasebewijs en live Unraid health/readiness
|
||||
primary_paths:
|
||||
- .gitea/workflows/release.yml
|
||||
- tests/unit/test_deployment_configuration.py
|
||||
- docs/audit/FINAL_ACCEPTANCE.md
|
||||
|
||||
@@ -35,7 +35,19 @@ Visuele demo-hardening `VR-229` op 2026-08-12:
|
||||
- visuele audit: negen kernroutes groen in dark/light op 390×844, 1280×600,
|
||||
1440×900 en 3440×1440 zonder overflow, heading- of consolefouten;
|
||||
- gerichte regressies: 51 tests groen; volledige gate: 327 tests, 0 failures,
|
||||
0 skips en 84,04% branch-aware dekking. Volgende uitvoerbare taak: geen.
|
||||
0 skips en 84,04% branch-aware dekking;
|
||||
- commit `a6c8a79` en tag `v0.3.16` zijn naar Gitea gepusht; vóór uitrol is onder
|
||||
`/mnt/user/appdata/VacatureRadar/local/backups/release-0.3.16-20260812T094608Z`
|
||||
een checksum-geldige database- en configuratieback-up gemaakt;
|
||||
- Unraid draait healthy zonder restarts op lokaal gebouwde image
|
||||
`sha256:c98001c063e8358dc59dfc175c574187b36021dd5a81f44e3ba982a28c9f9341`;
|
||||
een live sessiesmoke bevestigde dashboard 200, zes demomatches, negen
|
||||
platformmailboxen, actieve ingress, nul oude policyfouten en geen
|
||||
wachtwoord-maskplaceholder;
|
||||
- de Gitea-releaseworkflow faalde tweemaal in stap `astral-sh/setup-uv@v6` en
|
||||
publiceerde daarom nog geen 0.3.16-registrymanifest. De bewezen immutable
|
||||
registryrelease blijft 0.3.15; runnerdiagnose en herpublicatie vereisen opnieuw
|
||||
bereikbare Unraid-beheertoegang. Volgende uitvoerbare backlogtaak: geen.
|
||||
|
||||
README-update op 2026-07-30:
|
||||
|
||||
|
||||
@@ -128,3 +128,11 @@ def test_deploy_uses_selected_environment_file_for_compose() -> None:
|
||||
assert 'export VACATURERADAR_ENV_FILE="$env_file"' in deploy_script
|
||||
assert 'docker compose --env-file "$env_file" -f "$compose_file" up -d --build' in deploy_script
|
||||
assert "waarde uit ${env_file}" in deploy_script
|
||||
|
||||
|
||||
def test_release_uv_install_is_immutable_and_does_not_require_github_api() -> None:
|
||||
workflow = (ROOT / ".gitea" / "workflows" / "release.yml").read_text(encoding="utf-8")
|
||||
|
||||
assert "astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0" in workflow
|
||||
assert 'version: "0.11.12"' in workflow
|
||||
assert "astral-sh/setup-uv@v6" not in workflow
|
||||
|
||||
Reference in New Issue
Block a user