GitLab CI

Kör tillgänglighetskontroller i varje merge request

Använd samma kontrollkontrakt från wcagc i GitLab CI: testa förhandsvisnings-URL:er, jämför fynd med en baslinje och gör pipelinens utfall tydligt.

Skapa en API-nyckel

Lägg till pipeline-mallen

Spara API-nyckeln och mål-URL:erna som CI/CD-variabler och lägg sedan till de återanvändbara jobben. Merge requests jämför bara; baslinjen uppdateras från 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'

Konfigurera CI/CD-variabler

Håll konfigurationen tydlig och inloggningsuppgifterna utanför repositoryt.

  • WCAGC_API_KEY

    Obligatorisk maskerad hemlighet med enbart omfånget ci:check. Exponera den inte för pipelines från forkar du inte litar på.

  • WCAGC_URLS

    Obligatoriska registrerade URL:er, separerade med radbrytning eller kommatecken, högst 20 per kontroll.

  • WCAGC_FAIL_ON

    Använd new-critical som standard, eller välj any-critical, serious-or-worse eller none.

  • WCAGC_SET_BASELINE

    Sätt till true bara i det skyddade jobbet på standardgrenen så att granskningspipelines inte kan skriva om jämförelsepunkten.

Behandla merge request-pipelines som en förtroendegräns

Skyddade variabler i GitLab är bara tillgängliga för behöriga skyddade refs, om du inte uttryckligen lättar på den policyn. Gå igenom inställningarna för forkar och skyddade variabler innan du kör externa bidrag.

Oformaterad utdata och förutsägbara avslutskoder

CLI:t skriver ut antal per allvarlighetsgrad, nya fynd, rapportlänken och begränsningen i automatiseringens täckning. PASS avslutar med 0, en underkänd kontroll eller ett körfel med 1 och ogiltig konfiguration med 2.