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
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: