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

Add release workflow #1444

Merged
merged 2 commits into from
Oct 12, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Release

on:
push:
tags:
- 'v*'

jobs:
release:
name: 'Tagged Release'
runs-on: 'ubuntu-latest'

steps:
- uses: actions/checkout@v4
- uses: wyvox/action-setup-pnpm@v3
Copy link
Contributor

Choose a reason for hiding this comment

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

We need to pass it the NPM token somehow. I'll add it as secrets.NPM_TOKEN and you can figure out how to get it to the right place?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yup! -- added

Copy link
Contributor

Choose a reason for hiding this comment

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

Added NPM_TOKEN

with:
node-registry-url: "https://registry.npmjs.org"
- run: pnpm build

# > This is not interactive right?
# correct
#
# > This doesn't bump the version, just publish right?
# correct
#
# > Do we have a way to tell it to ignore already published packages in case we need to re-run the job?
# this is default behavior
#
# > It will skip the private packages, presumably?
# yes
- run: pnpm -r publish --access public
Copy link
Contributor

Choose a reason for hiding this comment

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

Just to be sure:

  • This is not interactive right?
  • This doesn't bump the version, just publish right?
  • It will skip the private packages, presumably?
  • Do we have a way to tell it to ignore already published packages in case we need to re-run the job?

Copy link
Contributor Author

@NullVoxPopuli NullVoxPopuli Sep 27, 2023

Choose a reason for hiding this comment

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

This is not interactive right?

correct

This doesn't bump the version, just publish right?

correct

Do we have a way to tell it to ignore already published packages in case we need to re-run the job?

this is default behavior

It will skip the private packages, presumably?

I ran:

❯ pnpm -r publish --access public --dry-run --report-summary
npm notice 
npm notice 📦  @glimmer/[email protected]
npm notice === Tarball Contents === 
npm notice 1.1kB  LICENSE               
npm notice 183B   index.ts              
npm notice 4.7kB  lib/debug.ts          
npm notice 6.1kB  lib/metadata.ts       
npm notice 20.4kB lib/opcode-metadata.ts
npm notice 9.1kB  lib/stack-check.ts    
npm notice 790B   package.json          
npm notice 105B   rollup.config.mjs     
npm notice === Tarball Details === 
npm notice name:          @glimmer/debug                          
npm notice version:       0.84.3                                  
npm notice filename:      glimmer-debug-0.84.3.tgz                
npm notice package size:  9.0 kB                                  
npm notice unpacked size: 42.4 kB                                 
npm notice shasum:        f0be584eb09eea00415382027224b8fc7a112eca
npm notice integrity:     sha512-ecOfKPCirzSZ8[...]99tjiPjwaxmDw==
npm notice total files:   8                                       
npm notice 
npm notice Publishing to https://registry.npmjs.org/ with tag latest and public access (dry-run)
+ @glimmer/[email protected]

Which... seems ok given the number of private packages?

❯ ag -G package.json "\"private\": true" -l
package.json
packages/@glimmer-workspace/benchmark-env/package.json
packages/package.json
packages/@glimmer-workspace/test-utils/package.json
packages/@glimmer-workspace/integration-tests/package.json
packages/@glimmer-workspace/eslint-plugin/package.json
packages/@glimmer-workspace/build/package.json
packages/@glimmer/program/test/package.json
packages/@glimmer/local-debug-flags/package.json
packages/@glimmer/manager/test/package.json
packages/@glimmer/util/test/package.json
packages/@glimmer/dom-change-list/test/package.json
packages/@glimmer/destroyable/test/package.json
packages/@glimmer/compiler/test/package.json
packages/@glimmer/reference/test/package.json
packages/@glimmer/syntax/test/package.json
packages/@glimmer/validator/test/package.json
packages/@glimmer/owner/test/package.json
packages/@types/qunit/package.json
packages/@types/js-reporters/package.json
packages/@types/puppeteer-chromium-resolver/package.json
benchmark/package.json
benchmark/benchmarks/krausest/package.json
lib/local-linker/package.json
bin/package.json

Copy link
Contributor Author

Choose a reason for hiding this comment

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

env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}