GitLab CI

Kjør tilgjengelighetssjekker i hver merge request

Bruk den samme wcagc-sjekkkontrakten i GitLab CI: test forhåndsvisnings-URL-er, sammenlign funn med en baseline og gjør avgjørelsen i pipelinen eksplisitt.

Opprett en API-nøkkel

Legg til pipeline-malen

Lagre API-nøkkelen og mål-URL-ene som CI/CD-variabler, og legg deretter til de gjenbrukbare jobbene. Merge requests sammenligner bare. Baseline oppdateres bare fra standardgrenen.

.wcagc-check:
  image: node:24-alpine
  script:
    - npx --yes github:WCAG-Compliance/wcagc-ci#v1

wcagc-merge-request:
  extends: .wcagc-check
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'

wcagc-default-branch-baseline:
  extends: .wcagc-check
  variables:
    WCAGC_FAIL_ON: none
    WCAGC_SET_BASELINE: "true"
  rules:
    - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'

Konfigurer CI/CD-variabler

Hold konfigurasjonen eksplisitt og påloggingsopplysninger utenfor repositoryet.

  • WCAGC_API_KEY

    Obligatorisk maskert hemmelighet med bare ci:check-omfanget. Ikke gjør den tilgjengelig for pipelines fra upålitelige forks.

  • WCAGC_URLS

    Obligatoriske registrerte URL-er, adskilt med linjeskift eller komma, med høyst 20 per sjekk.

  • WCAGC_FAIL_ON

    Bruk new-critical som standard, eller velg any-critical, serious-or-worse eller none.

  • WCAGC_SET_BASELINE

    Sett til true bare i jobben på den beskyttede standardgrenen, slik at pipelines for gjennomgang ikke kan skrive om sammenligningspunktet.

Behandle pipelines for merge requests som en tillitsgrense

Beskyttede variabler i GitLab er bare tilgjengelige for kvalifiserte beskyttede refs, med mindre du eksplisitt lemper på denne policyen. Gå gjennom innstillingene for forks og beskyttede variabler før du kjører eksterne bidrag.

Enkel utskrift og forutsigbare exit-koder

CLI-et skriver ut antall etter alvorlighetsgrad, nye funn, lenken til rapporten og begrensningen ved automatisk dekning. PASS gir exit 0, en mislykket sjekk eller en kjøretidsfeil gir exit 1, og ugyldig konfigurasjon gir exit 2.