quest'n'click 4.5.0 · r1

Construite pour quest'n'click 4.5.0, révision r1. Si elle est publiée, et laquelle est la courante, est dit par publication.json.

Quels tests tournent quand

English · Type : référence · Public : contributeur · Contexte : dépôt du moteur · Statut : prête · S'applique depuis : 4.5.0

Chaque suite de tests du dépôt du moteur, la commande qui la lance, et quand la CI la lance : sur une pull request, sur main, dans un candidat, dans la release, chaque nuit ou chaque semaine. À lire avec La CI expliquée, qui dit ce qu'est chaque workflow et chaque job.

Les suites

« PR » est une pull request ordinaire ; « barrière » veut dire que le job ne tourne que si le plan ouvre cette barrière (La CI expliquée), et toujours sur main, sur un tag et sur une pull request étiquetée full-ci. « Release » est le workflow release sur un tag v*. Chaque commande se lance dans le dépôt du moteur.

SuiteCommandeCe qu'elle lancePRmainCandidatReleaseNightlyHebdo
Unitaire (Node)npm test (test:node)chaque tests/**/*.test.ts et les games/<GAME>/tests/ du jeu, sauf les 9 fichiers lourds et les 2 fichiers d'assetsvia la couverture ; sous Node 24 (barrière node24) ; sous Windows sans les fichiers POSIX (barrière windows)ouioui (release-check:ci)oui (release-check:ci)——
Couverturenpm run test:coveragela suite unitaire et les tests d'assets sous couverture V8, puis les seuils de vite.config.ts et le cliquetoui (job coverage ; le cliquet avertit)oui (cliquet strict)ouioui——
Assetsnpm run test:assetstests/pixel.test.ts, tests/studio-assets.test.ts (Python nécessaire)dans la couverturedans la couverturedans la couverturedans la couverture——
Solveur lourdnpm run test:heavy9 fichiers l'un après l'autre : ownership, audit, canonical, memo, reference-proof, solver-oracle, dominance, partition, checkpoint-matrix——trois fois, chacune sur un runner neuf (heavy ×3)—oui (heavy)—
Qualiténpm run qualityformatage, lint du code, knip, les deux configurations TypeScript, lint de contenuoui (check)ouiouioui——
Vérité des docsnpm run docs:truthce que disent les docs, comparé au codeoui (check)oui————
Wikinpm run wiki -- checkle manifeste, les pages, les liens, la parité, les exemples ; dans la suite unitaire sous forme de tests/wiki-*.test.tsouiouioui (suite unitaire)check --publish (docs-publish)——
Barrières du jeunpm run build:game (verify:game, le bundle, verify:dist, spoilers, audit des assets)le jeu d'exempleoui (check) ; le chapitre de référence et heroes (barrière reference) ; un nouveau jeu (barrière secondGame)ouiouioui——
Référencenpm run quality:baseline -- --check --disttémoins, preuves, sauvegardes de référence, surface publique, nombre de tests, première visiteoui (check)oui————
Preuvenpm run prove:gamela preuve exhaustive, globale et par chapitre, et solve:realityoui (check ; reference, second-game selon la barrière)ouiouioui—oui (prove)
Audit des abstractionsnpm run solve -- --audit-abstractionsle jeu d'exemple prouvé avec et sans les abstractions——oui (release-check:ci)oui——
Corpusnpm run audit:corpusles abstractions contre la recherche explicite sur des jeux aléatoires————oui (500 graines de chaque sorte, quatre morceaux)—
Matrice de preuvenpm run prove:matrixles douze instances de docs/dev/PROOF-MATRIX.md————oui (matrix)—
Banc d'essainpm run benchun jeu généré de 100 lieux, chronométré et prouvé dans un budget—————oui (prove, téléversé)
Playtestsnpm run playtestsles sessions committées rejouées et résuméesdans verify:gameoui--strict dans verify:release--strict dans verify:release—--strict (prove)
e2e, Chromiumnpm run e2e, e2e:weight, e2e:music, e2e:visual, e2e:perf, e2e:studio, e2e:a11y, e2e:pwa, e2e:tapsle build de production joué au toucher, au clavier, en français, avec Canvasbarrières e2e, reference, secondGameoui————
e2e, WebKitles mêmes scripts avec E2E_BROWSER=webkitlignes générique et clavier, le chapitre de référence, e2e:pwa (hors ligne sauté)barrières e2e, referenceoui————
e2e, Firefoxnpm run e2e:pwa, e2e:studio-hosted -- --browser=firefoxle scénario PWA ; le Studio hébergébarrières pwaFirefox, studioHostedoui————
Cross-runtimenpm run e2e:canonical, e2e:remix, e2e:speedrun, e2e:remix-speedrunles mêmes résultats sous Node, Chromium, WebKit et Firefoxoui (chaque changement)ouioui (500 graines Remix)—oui (500 graines Remix)—
Realitynpm run e2e:reality, npm run reality:xcheck -- --require-rust, les tests et le fuzz des connecteurs, le Bridge sur Postgresles signaux de bout en bout ; Biscuit en JS et en Rust ; les connecteursbarrière realityouireality:xcheck dans release-check:ciouifuzz, une minute par connecteur—
Studio hébergénpx vitest run tests/studio-server.test.ts …, npm run e2e:studio-hosted, e2e:studio-collabPostgres, S3, Keycloak ; Chromium et Firefoxbarrière studioHostedouistudio-install-smoke———
Paquetsnpm run fresh-install, npm run external-consumer, npm run upgrade-check -- --from=previousempaqueté, installé hors du dépôt, mis à jourbarrières freshInstall, upgradeouioui, sur les archives propres du candidat———
Mutationnpm run test:mutation:core -- --set=<ensemble>chaque ensemble barrière (Tests de mutation)seulement avec full-ci—ouiouioui (--fresh)—
Charges du Bridgenpm run bridge:load, npm run runs:loadSQLite et Postgres——oui (médianes)—oui—
Qualificationnpm run ops:qualifyle profil de déploiement du Bridge sous Dockerquand ops/, bridge/, scripts/pack.mjs ou les dépendances changent (qualify)mêmes cheminsoui (deployment-smoke)———
Passes de terrainnpm run field:*ce que seuls des gens et de vrais appareils peuvent vérifier——les rapports committés pour la version sont vérifiésrapportées dans les notes——

Le workflow release ne refait pas ce que le candidat a construit : ses tests sont release-check:ci et les ensembles de mutation, sur le commit du tag (Publier une release).

Limite · heavy-not-on-pr Les tests lourds du solveur ne tournent pas sur une pull request ordinaire. L'étiquette full-ci lance un run de candidat, qui les passe trois fois ; sinon, un changement du solveur qui les casse se voit à la nightly suivante. Lancez npm run test:heavy en local (environ 13 minutes sur un portable, un fichier après l'autre) avant de demander la relecture d'un tel changement.

En local, avant une pull request

Avant une pull request donne l'ordre. En bref : npm run quality, npm run check, npm run test:assets, npm run verify:game, npm run quality:baseline -- --check ; npm run release-check:local enchaîne l'essentiel. Lancez une suite à la fois.

Trouver le test d'une chose

Pour changer une commande de bout en bout, suivez La boucle de développement.


Modifier la source de cette page · Signaler une erreur