Configuration du compte d'éditeur
Configurez l'éditeur de confiance npmjs.com pour @ahmed-g-gad/apothem ainsi que les prérequis de version côté GitHub.
Ce runbook configure le côté éditeur de la surface de versions. L'histoire de
distribution ne comporte qu'un seul registre : le paquet npm à portée
@ahmed-g-gad/apothem sur npmjs.com, publié par le flux de travail
publish-npm.yml déclenché manuellement une fois que les flux de travail GitHub
Release, Pages, CI, conformity et harness sont au vert. Tous les autres artefacts
sont distribués sur la page GitHub Release elle-même et ne nécessitent aucun
compte d'éditeur externe.
Carte d'identité
| Surface | Compte | Identité du paquet |
|---|---|---|
| GitHub | ahmed-g-gad | ahmed-g-gad/apothem |
| npm (npmjs.com) | ahmed-g-gad | @ahmed-g-gad/apothem |
Le propriétaire GitHub est autorisé à changer à l'avenir. La logique du flux de
travail et de l'installateur lit github.repository,
github.repository_owner ou APOTHEM_GITHUB_REPOSITORY là où une plateforme
permet la résolution dynamique. L'identifiant du paquet du registre reste stable
car les utilisateurs installent le nom du paquet, et non le nom du compte du
mainteneur.
npm (npmjs.com)
-
Connectez-vous à
https://www.npmjs.com/en tant queahmed-g-gad. -
Activez l'authentification à deux facteurs sur le compte.
-
Confirmez le nom du paquet à portée :
npm view @ahmed-g-gad/apothem nameUn
404signifie que le paquet à portée n'a pas encore été publié. Toute autre réponse de paquet doit correspondre à ce dépôt et à ce compte avant la publication. -
Créez le paquet sur npm si l'interface exige un premier enregistrement de paquet. Conservez le nom à portée :
@ahmed-g-gad/apothem. -
Configurez la Publication de confiance (Trusted Publishing) pour
@ahmed-g-gad/apothemdepuis GitHub Actions :- Propriétaire GitHub :
ahmed-g-gad - Dépôt :
apothem - Nom du fichier de flux de travail :
publish-npm.yml - Environnement :
npmjs - Action autorisée :
npm publish.
- Propriétaire GitHub :
-
Dans GitHub, vérifiez que l'environnement
npmjsexiste surahmed-g-gad/apothemet qu'il exige une approbation manuelle pour le déploiement. -
Maintenez la surface npm à un seul paquet de registre public :
@ahmed-g-gad/apothemsur npmjs.com. -
Confirmez la disponibilité de la version :
Release readiness bash scripts/release/check-release-ready.sh <release-tag> -
Exécutez
Publish — npm(publish-npm.yml) depuis l'onglet GitHub Actions avectag=<release-tag>et approuvez le déploiement de l'environnementnpmjs. -
Vérifiez le paquet en ligne :
npm verification npm view @ahmed-g-gad/apothem version npx @ahmed-g-gad/apothem@<version> --version
Aucun secret NPM_TOKEN, nom d'utilisateur ou mot de passe n'est requis. Le flux
de travail publie via la npm Trusted Publishing (OIDC) avec la version de Node et
le plancher OIDC de la CLI npm épinglés dans
.github/workflows/publish-npm.yml. Il exécute npm publish --access public
contre npmjs.com ; npm émet automatiquement la provenance pour les paquets
publics publiés depuis un flux de travail public GitHub Actions. Un 404 du
registre lors du PUT signifie que l'éditeur de confiance côté npm, la portée du
paquet ou l'autorisation du compte ne sont pas encore alignés ; corrigez les
paramètres du paquet npm avant de relancer le flux de travail.
Références : Éditeurs de confiance npm, provenance npm et portées npm.
Prérequis de version côté GitHub
Les surfaces de version restantes sont natives de GitHub et s'authentifient avec
le GITHUB_TOKEN à portée de dépôt ; aucun compte externe n'est impliqué.
-
GitHub Release.
.github/workflows/release.ymls'exécute sur la balise de version et n'a besoin que de sa permission locale de tâchecontents: write. Confirmez que le fichier de flux de travail est présent surmainavant de poser la balise. -
Domaine personnalisé Pages. Le site de documentation se déploie via
publish-static-site.ymlvers le domaine personnaliséapothem.ahmedgad.com. Le domaine, le DNS et l'imposition de HTTPS sont établis par le runbook d'activation de Pages ; vérifiez :Pages verification gh api repos/ahmed-g-gad/apothem/pages --jq '.cname, .https_enforced' curl -sSI https://apothem.ahmedgad.com/ | head -n 1 -
Installateurs de script.
install.shetinstall.ps1sont servis depuis le site Pages (https://apothem.ahmedgad.com/install.shethttps://apothem.ahmedgad.com/install.ps1). Ils sont publiés par le même déploiement Pages ; aucun compte ou jeton distinct n'est requis.
Matrice de vérification
Après la configuration, chaque surface d'éditeur répond à sa vérification canonique :
| Surface | Vérification |
|---|---|
| npmjs.com | npm view @ahmed-g-gad/apothem version renvoie la version publiée |
| GitHub Release | gh release view <release-tag> --json assets --jq '.assets[].name' liste sdist, wheel, SBOM, paquets cosign, provenance et archives de plateforme |
| Pages | curl -sSI https://apothem.ahmedgad.com/ renvoie 200 sur le domaine personnalisé |