Auto: L'action GitHub ne parvient pas à trouver NPM_TOKEN

Créé le 22 févr. 2021  ·  6Commentaires  ·  Source: intuit/auto

J'essaie de passer de la publication directe à npm (ce qui a bien fonctionné) à l'utilisation de packages GitHub avec un nom de package d'organisation.

J'ai changé le nom de mon package en package.json , j'ai ajouté les publishConfig nécessaires, par exemple

"publishConfig": {
    "registry": "https://npm.pkg.github.com"
  },

Et j'ai modifié mes étapes d'action pour utiliser NODE_AUTH_TOKEN au lieu de NPM_TOKEN selon la documentation, mais lorsque je fusionne une branche et déclenche l'action, je reçois l'avertissement suivant et le package n'est jamais publié (bien que la version les balises et le journal des modifications sont mis à jour, donc ennuyeux, il n'est pas signalé comme une exécution échouée):

 ✔  success   Wrote authentication token string to /home/runner/.npmrc
⚠  warning   Error: Failed to replace env in config: ${NPM_TOKEN}

NPM_TOKEN est défini dans mes secrets de référentiel sur GitHub.

Voici la configuration de l'action :

name: Publish

on:
  push:
    branches: [main]

jobs:
  release:
    runs-on: ubuntu-latest

    # this check needs to be in place to prevent a publish loop with auto and github actions
    if: "!contains(github.event.head_commit.message, 'ci skip') && !contains(github.event.head_commit.message, 'skip ci')"

    steps:
      - uses: actions/checkout<strong i="19">@v2</strong>
        with:
          # Needed for branch protection override
          token: ${{ secrets.GITHUB_TOKEN }}

      - name: Prepare repository
        run: git fetch --unshallow --tags

      - name: Use Node.js 12.x
        uses: actions/setup-node<strong i="20">@v1</strong>
        with:
          node-version: 12.x

      - name: Cache node modules
        uses: actions/cache<strong i="21">@v2</strong>
        with:
          path: node_modules
          key: node-modules-${{ hashFiles('package-lock.json') }}
          restore-keys: |
            node-modules-${{ hashFiles('package-lock.json') }}

      - name: Create release
        env
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
        run: |
          npm ci
          npm run build
          npm run release
question released

Tous les 6 commentaires

Il existe des instructions supplémentaires pour la publication dans le registre de packages GitHub.

Vous devez utiliser votre jeton GitHub pour publier puisque vous ne publiez plus sur NPM

NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Voici un exemple de dépôt où cela fonctionne.

@hipstersmoothie Merci beaucoup pour votre aide. Je vois que les documents ont été mis à jour depuis la configuration initiale de l'action, mais il semble qu'ils n'incluent toujours pas toutes les étapes. J'ai également dû ajouter ces lignes à ma configuration Node (remarquée dans votre dépôt de démonstration):

with:
          node-version: 14.x
          registry-url: 'https://npm.pkg.github.com'
          scope: '<strong i="7">@whiteorg</strong>'

Je voyais également toujours le message d'avertissement NPM_TOKEN. Le rajouter en tant que secret d'environnement semble avoir corrigé ce problème, c'est-à-dire

- name: Create release
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

Enfin, avec toute cette configuration, j'ai pu fusionner un PR et faire en sorte qu'Auto fasse son travail, en publiant un nouveau package et en mettant à jour la version/le journal des modifications 🎉

Cependant, j'avais désactivé la protection des branches en bidouillant; sa réactivation provoquait une nouvelle erreur où chaque fois qu'Auto tentait de valider les mises à jour de version, il échouait. J'ai contourné cela en ajoutant un nouveau jeton GitHub personnel et en le référençant en tant que secret, au lieu du GITHUB_SECRET par défaut, comme ceci :

- uses: actions/checkout<strong i="17">@v2</strong>
        with:
          # Needed for branch protection override
          token: ${{ secrets.GH_ADMIN_TOKEN }}

Cela ne semble pas être la meilleure solution, donc si quelqu'un en connaît une meilleure, je l'apprécierais. Alternativement, je pense que les documents peuvent avoir besoin d'être mis à jour ici : https://intuit.github.io/auto/docs/build-platforms/github-actions#running -with-branch-protection

J'ai fait un PR pour améliorer ces documents. Cela vous dérangerait-il d'examiner le n° 1828 ?

Examiné, quelques petites suggestions mais tout a l'air bien Merci encore pour toute votre aide


:rocket: Le numéro est sorti en v10.16.8 :rocket:

Cette page vous a été utile?
0 / 5 - 0 notes