interledger / open-payments

Protocol to setup payments between entities on the Web based on GNAP
https://openpayments.dev
Apache License 2.0
160 stars 27 forks source link

Update package publishing step #452

Closed mkurapov closed 2 months ago

mkurapov commented 3 months ago

Context

Whenever we are releasing a new version of openapi or http-signaure-utils in the repo, the open-payments package also ends up getting a patch update (to update its dependencies) in the same changeset. However, this sometimes ends up failing our ci:publish command when publishing @interledger/open-payments -> npm can't find the newest version of its dependency that is being updated at the same time.

> @ ci:publish /home/runner/work/open-payments/open-payments
> pnpm changeset publish

🦋  info npm info @interledger/http-signature-utils
🦋  info npm info @interledger/open-payments
🦋  info npm info @interledger/openapi
🦋  warn @interledger/http-signature-utils is not being published because version 2.0.2 is already published on npm
🦋  info @interledger/open-payments is being published because our local version (6.8.2) has not been published on npm
🦋  info @interledger/openapi is being published because our local version (2.0.1) has not been published on npm
🦋  info Publishing "@interledger/open-payments" at "6.8.2"
🦋  info Publishing "@interledger/openapi" at "2.0.1"
🦋  error an error occurred while publishing @interledger/openapi: E404 Not Found - PUT https://registry.npmjs.org/@interledger%2fopenapi - Not found 
🦋  error 
🦋  error  '@interledger/openapi@2.0.1' is not in this registry.
🦋  error 
🦋  error Note that you can also install from a
🦋  error tarball, folder, http url, or git url.
🦋  error npm notice Publishing to https://registry.npmjs.org/ with tag latest and public access
🦋  error npm ERR! code E404
🦋  error npm ERR! 404 Not Found - PUT https://registry.npmjs.org/@interledger%2fopenapi - Not found
🦋  error npm ERR! 404 
🦋  error npm ERR! 404  '@interledger/openapi@2.0.1' is not in this registry.
🦋  error npm ERR! 404 
🦋  error npm ERR! 404 Note that you can also install from a
🦋  error npm ERR! 404 tarball, folder, http url, or git url.
🦋  error 
🦋  error npm ERR! A complete log of this run can be found in: /home/runner/.npm/_logs/[20](https://github.com/interledger/open-payments/actions/runs/8471925130/job/23215267401#step:4:21)24-03-28T19_29_27_852Z-debug-0.log
🦋  error 
🦋  error an error occurred while publishing @interledger/open-payments: E404 Not Found - PUT https://registry.npmjs.org/@interledger%2fopen-payments - Not found 
🦋  error 
🦋  error  '@interledger/open-payments@6.8.2' is not in this registry.
🦋  error 
🦋  error Note that you can also install from a
🦋  error tarball, folder, http url, or git url.
🦋  error npm notice Publishing to https://registry.npmjs.org/ with tag latest and public access
🦋  error npm ERR! code E404
🦋  error npm ERR! 404 Not Found - PUT https://registry.npmjs.org/@interledger%2fopen-payments - Not found
🦋  error npm ERR! 404 
🦋  error npm ERR! 404  '@interledger/open-payments@6.8.2' is not in this registry.
🦋  error npm ERR! 404 
🦋  error npm ERR! 404 Note that you can also install from a
🦋  error npm ERR! 404 tarball, folder, http url, or git url.
🦋  error 
🦋  error npm ERR! A complete log of this run can be found in: /home/runner/.npm/_logs/20[24](https://github.com/interledger/open-payments/actions/runs/8471925130/job/23215267401#step:4:25)-03-28T19_29_33_448Z-debug-0.log
🦋  error 
🦋  error packages failed to publish:
🦋  @interledger/open-payments@6.8.2
🦋  @interledger/openapi@2.0.1

Based on

it looks like we might be able to solve this by explicitly building our packages first before we end up calling pnpm ci:publish. ie

"ci:publish": "pnpm changeset publish" -> "ci:publish": "pnpm build -r && pnpm changeset publish"

mkurapov commented 2 months ago

Issue was an expired NPM_TOKEN