Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable publish retrying #1458

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

Enable publish retrying #1458

wants to merge 6 commits into from

Conversation

NullVoxPopuli
Copy link
Contributor

@NullVoxPopuli NullVoxPopuli commented Oct 24, 2023

logic stolen from: https://github.com/embroider-build/embroider/blob/main/test-packages/unstable-release/publish.js

it's really only an issue if we do what we're doing right now where we try to publish the same tag over and over again due to config issues (or infra issues)

Changes

  • This removed yalc-publish.mts, which appears to be leftover from before the pnpm migration. yalc used npm publish, which doesn't support workspace:^ versions.

  • in the bin package, swap esno for esyes, because we like positivity. Also, esyes doesn't compile to CJS like esno does.

    • esyes is in use by the starbeam family of projects
    • this required upgrading local node to v21
  • A New pnpm-publish.mts file is present, which implements iterate + try/catch for each package so that our workflow_dispatch way of deploying packages can work eventually.

Testing

Testing locally with:

cd bin
pnpm esyes ./pnpm-publish.mts

shows, since my npm user doesn't have access to publish (intentionally!):

❯ pnpm esyes ./pnpm-publish.mts 
# publishing @glimmer/compiler
Publishing @glimmer/compiler has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/debug
Publishing @glimmer/debug has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/destroyable
Publishing @glimmer/destroyable has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/dom-change-list
Publishing @glimmer/dom-change-list has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/encoder
Publishing @glimmer/encoder has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/global-context
Publishing @glimmer/global-context has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/interfaces
Publishing @glimmer/interfaces has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/local-debug-flags
Publishing @glimmer/local-debug-flags has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/manager
Publishing @glimmer/manager has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/node
Publishing @glimmer/node has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/opcode-compiler
Publishing @glimmer/opcode-compiler has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/owner
Publishing @glimmer/owner has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/program
Publishing @glimmer/program has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/reference
Publishing @glimmer/reference has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/runtime
Publishing @glimmer/runtime has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/syntax
Publishing @glimmer/syntax has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/util
Publishing @glimmer/util has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/validator
Publishing @glimmer/validator has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/vm
Publishing @glimmer/vm has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/vm-babel-plugins
Publishing @glimmer/vm-babel-plugins has failed. A full list of errors will be printed at the end of this run
# publishing @glimmer/wire-format
Publishing @glimmer/wire-format has failed. A full list of errors will be printed at the end of this run

# bunch more error logs
npm ERR! A complete log of this run can be found in: /home/nullvoxpopuli/.npm/_logs/2023-10-24T03_02_16_643Z-debug-0.log
npm notice 
npm notice 📦  @glimmer/vm-babel-plugins@0.85.2
npm notice === Tarball Contents === 
npm notice 1.9kB .turbo/turbo-build.log                  
npm notice 1.1kB LICENSE                                 
npm notice 510B  README.md                               
npm notice 1.1kB dist/index.cjs                          
npm notice 2.3kB dist/index.cjs.map                      
npm notice 242B  dist/index.d.cts                        
npm notice 252B  dist/index.d.cts.map                    
npm notice 241B  dist/index.d.ts                         
npm notice 251B  dist/index.d.ts.map                     
npm notice 874B  dist/index.js                           
npm notice 2.4kB dist/index.js.map                       
npm notice 1.1kB index.ts                                
npm notice 956B  package.json                            
npm notice 105B  rollup.config.mjs                       
npm notice 105B  test/fixtures/basic/.babelrc.js         
npm notice 229B  test/fixtures/basic/code.js             
npm notice 244B  test/fixtures/basic/output.js           
npm notice 129B  test/fixtures/explicit-false/.babelrc.js
npm notice 229B  test/fixtures/explicit-false/code.js    
npm notice 247B  test/fixtures/explicit-false/output.js  
npm notice 128B  test/fixtures/explicit-true/.babelrc.js 
npm notice 229B  test/fixtures/explicit-true/code.js     
npm notice 244B  test/fixtures/explicit-true/output.js   
npm notice 796B  test/index.js                           
npm notice === Tarball Details === 
npm notice name:          @glimmer/vm-babel-plugins               
npm notice version:       0.85.2                                  
npm notice filename:      glimmer-vm-babel-plugins-0.85.2.tgz     
npm notice package size:  4.9 kB                                  
npm notice unpacked size: 15.9 kB                                 
npm notice shasum:        a90a92627c979309003ac39ecbfc47bb0da57a89
npm notice integrity:     sha512-pS9lu40pgET3w[...]9LVwZZ/LH0v3Q==
npm notice total files:   24                                      
npm notice 
npm notice Publishing to https://registry.npmjs.org/ with tag latest and public access
npm ERR! code E404
npm ERR! 404 Not Found - PUT https://registry.npmjs.org/@glimmer%2fvm-babel-plugins - Not found
npm ERR! 404 
npm ERR! 404  '@glimmer/vm-babel-plugins@0.85.2' is not in this registry.
npm ERR! 404 
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

npm ERR! A complete log of this run can be found in: /home/nullvoxpopuli/.npm/_logs/2023-10-24T03_02_17_612Z-debug-0.log
npm notice 
npm notice 📦  @glimmer/wire-format@0.85.2
npm notice === Tarball Contents === 
npm notice 1.9kB  .turbo/turbo-build.log
npm notice 1.1kB  LICENSE               
npm notice 2.9kB  dist/index.cjs        
npm notice 12.0kB dist/index.cjs.map    
npm notice 3.6kB  dist/index.d.cts      
npm notice 847B   dist/index.d.cts.map  
npm notice 3.6kB  dist/index.d.ts       
npm notice 846B   dist/index.d.ts.map   
npm notice 2.6kB  dist/index.js         
npm notice 12.0kB dist/index.js.map     
npm notice 1.6kB  index.ts              
npm notice 3.8kB  lib/opcodes.ts        
npm notice 1.0kB  lib/resolution.ts     
npm notice 577B   lib/well-known.ts     
npm notice 746B   package.json          
npm notice 105B   rollup.config.mjs     
npm notice === Tarball Details === 
npm notice name:          @glimmer/wire-format                    
npm notice version:       0.85.2                                  
npm notice filename:      glimmer-wire-format-0.85.2.tgz          
npm notice package size:  7.9 kB                                  
npm notice unpacked size: 49.1 kB                                 
npm notice shasum:        345d05786ccb348ef824a25206b4516d69ccf062
npm notice integrity:     sha512-JQCdnzIPP6H4g[...]fo9WPSKQxy2dg==
npm notice total files:   16                                      
npm notice 
npm notice Publishing to https://registry.npmjs.org/ with tag latest and public access
npm ERR! code E404
npm ERR! 404 Not Found - PUT https://registry.npmjs.org/@glimmer%2fwire-format - Not found
npm ERR! 404 
npm ERR! 404  '@glimmer/wire-format@0.85.2' is not in this registry.
npm ERR! 404 
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

@@ -2,27 +2,30 @@
"name": "@glimmer-workspace/bin",
"private": true,
"dependencies": {
"puppeteer-chromium-resolver": "^20.0.0",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

running pnpm <anything> sorts the package.json


for (const pkg of packages('@glimmer')) {
console.log(`${chalk.gray('# publishing')} ${chalk.cyanBright(pkg.name)}`);
execSync('yalc publish --push', {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yalc wasn't even a dependency anywhere

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant