Aller au contenu principal

GitLab CI

GitLab CI lance le gate Mankinds via l'image container ghcr.io/mankinds/ci. L'image encapsule les appels publics /api/v1/agents/{agent_id}/runs et retourne le bon code de sortie CI.

1. Stockez la clé API en variable CI/CD

Dans votre projet :

  1. Settings → CI/CD → Variables → Add variable.
  2. Clé : MANKINDS_API_KEY.
  3. Valeur : la clé copiée depuis Mankinds à la création.
  4. Cochez Protect variable (injectée uniquement sur les branches protégées) et Mask variable (jamais affichée dans les logs).

2. Ajoutez le job dans .gitlab-ci.yml

mankinds_eval:
image: ghcr.io/mankinds/ci:v1
stage: test
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"'
script:
- mankinds-ci --agent 00000000-0000-4000-8000-000000000000
variables:
MANKINDS_API_KEY: $MANKINDS_API_KEY

Remplacez 00000000-0000-4000-8000-000000000000 par l'UUID de votre agent. Le job sort en 0 quand le gate passe et en 1 quand il échoue, ce qui marque le pipeline en conséquence.

3. Bloquer les merges sur un gate échoué (optionnel)

Pour appliquer le gate sur les merge requests, activez Settings → Merge requests → Pipelines must succeed et gardez le job mankinds_eval sur les pipelines de merge request ciblant main.

Options

Le flag requis est --agent. La commande accepte aussi :

  • --base-url : remplace https://app.mankinds.io pour un autre déploiement.
  • --timeout-minutes : temps maximum d'attente avant échec du job.

La clé API est lue depuis MANKINDS_API_KEY ; préférez la variable CI/CD à un --api-key inline.

Image Docker

docker run --rm \
-e MANKINDS_API_KEY=$MANKINDS_API_KEY \
ghcr.io/mankinds/ci:v1 \
--agent 00000000-0000-4000-8000-000000000000

Utilisez le tag majeur :v1 en CI. La même image peut tourner en local pour reproduire un résultat de gate hors GitLab.

Voir aussi