Hyppää sisältöön

Ohjelmistokehityksen branch-luokitus

Tämä dokumentti määrittelee standardit feature-branchien nimeämiselle. Luokittelun avulla kehitysympäristön automaatiomoottori tunnistaa muutoksen luonteen ja ajaa vain tarvittavat testaus- ja validointiprosessit.


Luokitusjärjestelmän osa-alueet

Branchit nimetään etuliitteellä, joka kuvaa muutoksen kohdetta:

  • frontend/: Käyttöliittymämuutokset. Käynnistää UI-yksikkötestit, visual regression -testit (esim. Playwright/Cypress) ja saavutettavuustarkistukset.

  • backend/: Palvelinpuolen logiikka ja API-muutokset. Käynnistää integraatiotestit, tietokantamigraatioiden tarkistukset ja suorituskykytestit.

  • shared/: Jaetut kirjastot ja sisäiset paketit. Käynnistää riippuvuusanalyysin ja varmistaa, etteivät muutokset rikkoo rajapintoja muihin moduuleihin.

  • infra/ tai cicd/: Infrastructure as Code (Terraform, CloudFormation) ja julkaisuputket. Käynnistää koodin staattisen analyysin (linting), tietoturvaskannaukset (trivy/checkov) ja dry-run -ajot.

  • ai/ tai data/: Koneoppimismallit ja dataputket. Käynnistää mallien validointitestit, datasetin eheyden tarkistukset ja GPU-pohjaiset laskentatestit.

  • security/: Tietoturvapaikkaukset ja kirjastopäivitykset. Käynnistää kattavat haavoittuvuusskannaukset (SCA) ja tunkeutumistestauksen simulaatiot.

  • docs/: Pelkät dokumentaatiomuutokset. Käynnistää Markdown-linterin, linkkien tarkistuksen ja päivittää portaalinäkymän esikatselun.

  • fix/: Kriittiset virhekorjaukset (hotfix). Käynnistää nopeutetun testausputken, joka keskittyy regression estämiseen.


Automaation ohjauslogiikka

graph TD

    A[Git Push] --> B{Analysoi etuliite}
    B -- frontend/ --> C[UI & UX Testit]
    B -- backend/ --> D[API & Data Testit]
    B -- infra/ --> E[Cloud & Security Linting]
    B -- docs/ --> F[Markdown & Link Check]
    B -- ai/ --> G[Model Validation]

    C --> H[Ohjaamo: Testiraportti]
    D --> H
    E --> H
    F --> H
    G --> H

    H --> I{Hyväksyntä}
    I -- OK --> J[Merge Prod-mainiin]
    I -- Fail --> K[Palaute kehittäjälle]

Dokumentin tila: Luonnos — Pvm: 13.01.2026