Skip to content
Apothem
Runbooks

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é

SurfaceCompteIdentité du paquet
GitHubahmed-g-gadahmed-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)

  1. Connectez-vous à https://www.npmjs.com/ en tant que ahmed-g-gad.

  2. Activez l'authentification à deux facteurs sur le compte.

  3. Confirmez le nom du paquet à portée :

    npm view @ahmed-g-gad/apothem name

    Un 404 signifie 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.

  4. Créez le paquet sur npm si l'interface exige un premier enregistrement de paquet. Conservez le nom à portée : @ahmed-g-gad/apothem.

  5. Configurez la Publication de confiance (Trusted Publishing) pour @ahmed-g-gad/apothem depuis 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.
  6. Dans GitHub, vérifiez que l'environnement npmjs existe sur ahmed-g-gad/apothem et qu'il exige une approbation manuelle pour le déploiement.

  7. Maintenez la surface npm à un seul paquet de registre public : @ahmed-g-gad/apothem sur npmjs.com.

  8. Confirmez la disponibilité de la version :

    Release readiness
    bash scripts/release/check-release-ready.sh <release-tag>
  9. Exécutez Publish — npm (publish-npm.yml) depuis l'onglet GitHub Actions avec tag=<release-tag> et approuvez le déploiement de l'environnement npmjs.

  10. 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é.

  1. GitHub Release. .github/workflows/release.yml s'exécute sur la balise de version et n'a besoin que de sa permission locale de tâche contents: write. Confirmez que le fichier de flux de travail est présent sur main avant de poser la balise.

  2. Domaine personnalisé Pages. Le site de documentation se déploie via publish-static-site.yml vers 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
  3. Installateurs de script. install.sh et install.ps1 sont servis depuis le site Pages (https://apothem.ahmedgad.com/install.sh et https://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 :

SurfaceVérification
npmjs.comnpm view @ahmed-g-gad/apothem version renvoie la version publiée
GitHub Releasegh release view <release-tag> --json assets --jq '.assets[].name' liste sdist, wheel, SBOM, paquets cosign, provenance et archives de plateforme
Pagescurl -sSI https://apothem.ahmedgad.com/ renvoie 200 sur le domaine personnalisé

On this page