diff --git a/.changeset/README.md b/.changeset/README.md index e5b6d8d6a..5e11527c4 100644 --- a/.changeset/README.md +++ b/.changeset/README.md @@ -6,3 +6,31 @@ find the full documentation for it [in our repository](https://github.com/change We have a quick list of common questions to get you started engaging with this project in [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) + +## Logto publish flow + +For now, Changesets only supports tagging packages separately, instead of tagging a "release group". There is an [open issue](https://github.com/changesets/changesets/issues/683) that is still hanging in the air. + +So, we are using our own "grouping" release strategy in this monorepo: + +### Core + +The release group that includes the Logto core products, which consists of the following packages: + +- @logto/console +- @logto/core (main) +- @logto/integration-tests +- @logto/ui + +Their version will be in sync, and forms our main release. + +### CLI + +The release group that includes Logto CLI and its aliases: + +- @logto/cli (main) +- @logto/create + +### Others + +For simplicity, we will tag other **public** packages separately and publish them to NPM. But in most cases, no GitHub release will present for these packages. diff --git a/.changeset/config.json b/.changeset/config.json index 88ccf281b..a408d2fa2 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -2,22 +2,30 @@ "$schema": "https://unpkg.com/@changesets/config@2.2.0/schema.json", "changelog": "@changesets/cli/changelog", "commit": false, - "fixed": [], - "linked": [[ - "@logto/console", - "@logto/core", - "@logto/demo-app", - "@logto/integration-tests", - "@logto/phrases", - "@logto/phrases-ui", - "@logto/schemas", - "@logto/ui" - ], [ + "//": "CAUTION: When updating the fields below, you should also update README accordingly.", + "fixed": [[ "@logto/cli", "@logto/create" + ], [ + "@logto/console", + "@logto/core", + "@logto/integration-tests", + "@logto/ui" ]], + "//": "Ignore other release group members, only keep the major one.", + "ignore": [ + "@logto/create", + "@logto/console", + "@logto/integration-tests", + "@logto/ui" + ], + "linked": [[ + "@logto/phrases", + "@logto/phrases-ui", + "@logto/schemas" + ]], + "//": "END OF CAUTION", "access": "restricted", "baseBranch": "master", - "updateInternalDependencies": "patch", - "ignore": [] + "updateInternalDependencies": "patch" } diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 348e4aacf..7fceb6eef 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1,2 @@ /packages/schemas/tables @simeng-li @wangsijie +/.changeset @gao-sun diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 017800b29..7d1036caf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -104,9 +104,13 @@ jobs: - name: Create release pull request uses: changesets/action@v1 with: - publish: changeset tag && git push --tags + # Disable temporarily since https://github.com/changesets/changesets/issues/833. + # Wait for our customized publish flow. + # publish: pnpm changeset tag commit: 'release: version packages' title: 'release: version packages' + # Create by our rules defined in `/.changeset/README.md`. + createGithubReleases: false setupGitUser: false env: GITHUB_TOKEN: ${{ secrets.BOT_PAT }}