Skip to content

Commit 791c498

Browse files
authored
chore(repo): Rename @staging tag to @canary (clerk#2015)
* chore(repo): Change "@staging" tag to "@canary" * fix(repo): Fix linting of root script files * fix(repo): Fix accounts staging release script name * Update curvy-mails-rhyme.md * chore(*): Update package-lock.json
1 parent 97407d8 commit 791c498

File tree

12 files changed

+394
-521
lines changed

12 files changed

+394
-521
lines changed

.changeset/curvy-mails-rhyme.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@clerk/clerk-js': patch
3+
'@clerk/shared': patch
4+
---
5+
6+
Rename the @staging tag to @canary. Drop support for @next tag.

.github/workflows/release-staging.yml .github/workflows/release-canary.yml

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
name: Staging release
2-
run-name: Staging release from ${{ github.ref_name }}
1+
name: Canary release
2+
run-name: Canary release from ${{ github.ref_name }}
33

44
on:
55
push:
@@ -11,7 +11,7 @@ concurrency:
1111
cancel-in-progress: true
1212

1313
jobs:
14-
staging-release:
14+
canary-release:
1515
if: ${{ github.repository == 'clerk/javascript' }}
1616
runs-on: ${{ vars.RUNNER_NORMAL }}
1717
timeout-minutes: ${{ fromJSON(vars.TIMEOUT_MINUTES_NORMAL) }}
@@ -29,13 +29,13 @@ jobs:
2929
- name: Setup
3030
uses: ./.github/actions/setup
3131

32-
- name: Version packages for staging
32+
- name: Version packages for canary
3333
id: version-packages
34-
run: npm run version:staging | tail -1 >> "$GITHUB_OUTPUT"
34+
run: npm run version:canary | tail -1 >> "$GITHUB_OUTPUT"
3535

36-
- name: Staging release
36+
- name: Canary release
3737
if: steps.version-packages.outputs.success == '1'
38-
run: npm run release:staging
38+
run: npm run release:canary
3939
env:
4040
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
4141
NPM_CONFIG_PROVENANCE: true
@@ -51,18 +51,18 @@ jobs:
5151
const clerkjsVersion = require('./packages/clerk-js/package.json').version;
5252
const nextjsVersion = require('./packages/nextjs/package.json').version;
5353
54-
if (clerkjsVersion.includes('staging')) {
54+
if (clerkjsVersion.includes('canary')) {
5555
console.log('clerk-js changed, will notify clerk/cloudflare-workers');
5656
github.rest.actions.createWorkflowDispatch({
5757
owner: 'clerk',
5858
repo: 'cloudflare-workers',
59-
workflow_id: 'release-staging-clerkjs-proxy.yml',
59+
workflow_id: 'release-canary-clerkjs-proxy.yml',
6060
ref: 'main',
6161
inputs: { version: clerkjsVersion }
6262
})
6363
}
6464
65-
if (nextjsVersion.includes('staging')) {
65+
if (nextjsVersion.includes('canary')) {
6666
console.log('clerk/nextjs changed, will notify clerk/accounts');
6767
github.rest.actions.createWorkflowDispatch({
6868
owner: 'clerk',

docs/CICD.md

+8-8
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
## TLDR (day-to-day dev flow)
44

5-
Every time a PR is merged into `main`, an automated staging release will happen. Once the packages are pushed to `npm`, the following actions will take place:
5+
Every time a PR is merged into `main`, an automated canary release will happen. Once the packages are pushed to `npm`, the following actions will take place:
66

7-
- The staging `clerkjs-proxy` worker will start serving the most recent `@staging` version of `@clerk/clerk-js`, completely bypassing any Cloudflare and JSDeliver edge caches.
8-
- The staging Accounts project will be deployed using the most recent `@staging` version of `@clerk/nextjs`.
7+
- The canary `clerkjs-proxy` worker will start serving the most recent `@canary` version of `@clerk/clerk-js`, completely bypassing any Cloudflare and JSDeliver edge caches.
8+
- The canary Accounts project will be deployed using the most recent `@canary` version of `@clerk/nextjs`.
99

1010
## Stable releases
1111

@@ -17,16 +17,16 @@ Actions that will be triggered:
1717

1818
For more details, refer to [PUBLISH.md](https://github.com/clerk/javascript/blob/main/docs/PUBLISH.md).
1919

20-
## Automated staging releases
20+
## Automated canary releases
2121

22-
A staging release will be triggered every time PR is merged into `main`. Once versioning and publishing is done, the `clerk/javascript` repo will dispatch a workflow event, notifying other related Clerk repos of the new releases.
22+
A canary release will be triggered every time PR is merged into `main`. Once versioning and publishing is done, the `clerk/javascript` repo will dispatch a workflow event, notifying other related Clerk repos of the new releases.
2323

2424
Actions that will be triggered:
2525

26-
- `clerk/cloudflare-workers`: The latest clerk-js versions in `clerkjs-proxy/wrangler.toml` will be updated and directly committed to `main`. A second workflow will perform a staging release of the `clerkjs-proxy` worker.
27-
- `clerk/accounts`: A new Accounts deployment will take place, using the most recent staging `@clerk/nextjs` version. This change will not be committed to `main`.
26+
- `clerk/cloudflare-workers`: The latest clerk-js versions in `clerkjs-proxy/wrangler.toml` will be updated and directly committed to `main`. A second workflow will perform a canary release of the `clerkjs-proxy` worker.
27+
- `clerk/accounts`: A new Accounts deployment will take place, using the most recent canary `@clerk/nextjs` version. This change will not be committed to `main`.
2828

29-
For more details about staging releases, refer to [PUBLISH.md](https://github.com/clerk/javascript/blob/main/docs/PUBLISH.md).
29+
For more details about canary releases, refer to [PUBLISH.md](https://github.com/clerk/javascript/blob/main/docs/PUBLISH.md).
3030

3131
## Quality checks
3232

docs/PUBLISH.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ Every time a PR is merged into `main`, the changesets action parses all changese
1010

1111
To release a new stable version of all Clerk packages, find the "Version Packages" PR, verify the changes, and merge it.
1212

13-
## Publishing staging package versions (`@staging`)
13+
## Publishing canary package versions (`@canary`)
1414

15-
An automated staging release will be take place every time a PR gets merged into `main`.
15+
An automated canary release will be take place every time a PR gets merged into `main`.
1616

17-
- Staging versions use the following format: `@clerk/package@x.y.z-staging.commit`, where `package` is the package name, `x`,`y`,`z` are the major, minor and patch versions respectively, `staging` is a stable prerelease mame and `commit` is the id of the last commit in the branch.
18-
- Currently, staging version changes are _not_ committed to the repo and no git tags will be generated. Using this strategy, we avoid merge conflicts, allowing us to constantly deploy staging versions without switching the repo to a "prerelease" mode.
19-
- During a staging release, `@clerk/clerk-js` will also be released. If needed, use the `clerkJSVersion` prop to use a specific version, eg: `<ClerkProvider clerkJSVersion='4.1.1-staging.90012' />`
17+
- Staging versions use the following format: `@clerk/package@x.y.z-canary.commit`, where `package` is the package name, `x`,`y`,`z` are the major, minor and patch versions respectively, `canary` is a stable prerelease mame and `commit` is the id of the last commit in the branch.
18+
- Currently, canary version changes are _not_ committed to the repo and no git tags will be generated. Using this strategy, we avoid merge conflicts, allowing us to constantly deploy canary versions without switching the repo to a "prerelease" mode.
19+
- During a canary release, `@clerk/clerk-js` will also be released. If needed, use the `clerkJSVersion` prop to use a specific version, eg: `<ClerkProvider clerkJSVersion='4.1.1-canary.90012' />`
2020
- A package will not be published if it's not affected by a changeset.
2121

2222
## Publishing snapshot package versions (`@snapshot`)

0 commit comments

Comments
 (0)