Auto: Falha na ação do GitHub ao localizar NPM_TOKEN

Criado em 22 fev. 2021  ·  6Comentários  ·  Fonte: intuit/auto

Estou tentando mudar de publicação direta para npm (que funcionou bem) para o uso de pacotes GitHub com um nome de pacote com escopo de organização.

Mudei o nome do meu pacote em package.json , adicionei o publishConfig por exemplo

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

E mudei minhas etapas de ação para usar NODE_AUTH_TOKEN vez de NPM_TOKEN acordo com os documentos, mas quando mesclo um branch e aciono a ação, recebo o seguinte aviso e o pacote nunca é publicado (embora a versão tags e changelog são atualizados, de forma irritante que não sinaliza como uma execução com falha):

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

NPM_TOKEN está definido no meu repositório Secrets no GitHub.

Esta é a configuração da ação:

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

Todos 6 comentários

Existem instruções extras para publicar no registro de pacotes do GitHub.

Você precisa usar seu token GitHub para publicar, já que não está mais publicando no NPM

NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Aqui está um repositório de exemplo em que está funcionando.

@hipstersmoothie Muito obrigado pela ajuda. Vejo que os documentos foram atualizados desde a configuração original do Action, mas parece que ainda não incluem todas as etapas. Tive que adicionar essas linhas à configuração do meu Node também (notado em seu repositório de demonstração):

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

Eu também ainda estava vendo a mensagem de aviso NPM_TOKEN. Adicioná-lo de volta como um segredo de ambiente parece ter corrigido isso,

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

Finalmente, com toda aquela configuração, consegui mesclar um PR e fazer com que o Auto fizesse isso, lançando um novo pacote e atualizando a versão / changelog 🎉

No entanto , desativei a proteção de ramificação enquanto ficava mexendo nas coisas; reativá-lo causou um novo erro em que sempre que o Auto tentava confirmar as atualizações de versão, ele falhava. Eu resolvi isso adicionando um novo token pessoal do GitHub e fazendo referência a ele como um segredo, em vez do GITHUB_SECRET padrão, assim:

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

Não parece ser a melhor solução, então se alguém souber de outra melhor eu agradeço. Como alternativa, acho que os documentos podem precisar de atualização aqui: https://intuit.github.io/auto/docs/build-platforms/github-actions#running -with-branch-protection

Fiz um PR para melhorar esses documentos. Você se importaria de revisar o nº 1828?

Revisadas, algumas pequenas sugestões, mas tudo parece bom ☺Obrigado novamente por toda a sua ajuda


: rocket: O problema foi lançado em v10.16.8 : rocket:

Esta página foi útil?
0 / 5 - 0 avaliações