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

ci: release canary versions every week #7860

Merged
merged 8 commits into from
Mar 17, 2023

Conversation

haoqunjiang
Copy link
Member

@haoqunjiang haoqunjiang commented Mar 8, 2023

Requires an NPM_TOKEN secret to be set in https://github.com/vuejs/core/settings/secrets/actions
It should be a granular access token with the write permission to the @vue scope (NOT organization).


Implementation details:

  • Named as canary rather than nightly because it runs weekly;
  • Runs every Monday at 9 AM GMT+8
  • Can be manually triggered via the GitHub Actions interface
  • Usage:
    • The easiest way is to use this companion package: npx install-vue@canary (https://github.com/sodatea/install-vue)
    • npm add vue@npm:@vue/canary for the latest, or npm add vue@npm:@vue/[email protected] for a specific version.
    • For other core packages, e.g. @vue/reactivity, it's npm add @vue/reactivity@npm:@vue/reactivity-canary
  • Also added --skip-git and --skip-prompts flags in the release script, as they would be useful in ecosystem-ci

Remaining questions:

  • where should I document it?
  • shall we automate other release types too?

Also adds `--skip-git` and `--skip-prompts` flags as they would be
useful in ecosystem-ci
As far as I know, only Knighly modifies the README for nightly builds:
<https://www.npmjs.com/package/@knightly/vue>

Nuxt, React, and TypeScript all keep the README as-is for edge releases.

So I think we can avoid the complexity here.
The directory name format of `@vue/compat` is different from other core packages, so it needs to be handled separately.

Missing it didn't cause any problems because the `isCorePackage`
function is only used to test dependency names, and `@vue/compat` isn't
used as a dependency anywhere.

But it's good to fix it anyway.
@yyx990803 yyx990803 merged commit 29852df into vuejs:main Mar 17, 2023
IAmSSH pushed a commit to IAmSSH/core that referenced this pull request May 14, 2023
* build: support `--canary` flag for canary releases

Also adds `--skip-git` and `--skip-prompts` flags as they would be
useful in ecosystem-ci

* ci: add a workflow to do canary releases every Monday

* build: allow manually releasing patch canary versions

* chore: don't bother updating the README

As far as I know, only Knighly modifies the README for nightly builds:
<https://www.npmjs.com/package/@knightly/vue>

Nuxt, React, and TypeScript all keep the README as-is for edge releases.

So I think we can avoid the complexity here.

* refactor: checkCIStatus -> getCIResult

* chore: keep the canary major in sync with the repo major

* fix: fix version rewriting

* fix: `@vue/compat` is also a core package

The directory name format of `@vue/compat` is different from other core packages, so it needs to be handled separately.

Missing it didn't cause any problems because the `isCorePackage`
function is only used to test dependency names, and `@vue/compat` isn't
used as a dependency anywhere.

But it's good to fix it anyway.
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.

2 participants