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

chore: release packages #43

Merged
merged 2 commits into from
Dec 18, 2024
Merged
Show file tree
Hide file tree
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
8 changes: 8 additions & 0 deletions .changeset/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Changesets

Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
with multi-package repos, or single-package repos to help you version and publish your code. You can
find the full documentation for it [in our repository](https://github.com/changesets/changesets)

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)
11 changes: 11 additions & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"$schema": "https://unpkg.com/@changesets/[email protected]/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [],
"linked": [],
"access": "restricted",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": []
}
87 changes: 87 additions & 0 deletions DEVELOPMENT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# Development

> Getting started with development on ceramic-sdk

## Project setup

First clone the repo:

```
git clone https://github.com/ceramicnetwork/ceramic-sdk.git
cd ceramic-sdk
```

This monorepo uses pnpm, make sure to install it first if you don't already have it.

```
npm install -g pnpm
```

To install dependencies for all packages in this repo:

```
pnpm install
```

Then build all packages:

```
pnpm run build
```

## Run tests

You can run all tests at the top level,

```
pnpm test
```

If you only want to test a specific package just `cd` into the specific package folder and run the same command as above.

## Documenting changes

ceramic-sdk uses [changesets](https://github.com/changesets/changesets) to keep track of and release changes.

To generate a new changeset, run `pnpm changeset` in the root of the repository and follow the instructions.
The generated markdown files in the `.changeset` directory should be committed to the repository.

## Creating a release

This repo uses pnpm to make releases, each package is released and versioned individually. [Semantic versioning](https://semver.org/) is followed to version releases. We do not currently regularly make releases on schedule or make release candidates (alpha/beta). Releases are made when changes are available to release. Released packages are published to NPM.

Before creating any releases, make sure you have an npm account (you can sign up at https://www.npmjs.com/), have signed into that account on the command line with `npm adduser`, and that the account has been added to the ceramic-sdk org on npm.

### Release

Releases are currently done manually and not by any CI. CI will only publish documentation on release. Process may be further formalized in the future. To make a release:

1. First create a release branch from the lastest main branch.

```
git checkout -b release/any-name
```

2. Run `pnpm changeset version`. This will bump the versions of the packages previously specified with pnpm changeset (and any dependents of those) and update the changelog files.

3. Manually update the flight-sql-client/npm/*/package.json versions if desired. This isn't yet included with the changeset. You must download the artifacts from CI, put them in `flight-sql-client/artifacts` and `run pnpm artifacts` to move them to the platform packages similar to how the CI workfow step `Publish flight-sql-client` does this, but it isn't yet released.

4. Run `pnpm lint && pnpm install`. This will update the lockfile and rebuild packages.

5. Create release commit, include each package and version to be released, for example:

```
git commit -m @ceramic-sdk/[email protected], @ceramic-sdk/[email protected], @ceramic-sdk/[email protected], @ceramic-sdk/[email protected], @ceramic-sdk/[email protected], @ceramic-sdk/[email protected], @ceramic-sdk/[email protected], @ceramic-sdk/[email protected], @ceramic-sdk/[email protected], @ceramic-sdk/[email protected], @ceramic-sdk/[email protected], @ceramic-sdk/[email protected]
```

6. Push and open PR, request review and make sure all github checks pass before merging.

7. Once merged, pull main branch locally, make sure it is up to date and all latest dependencies from the lock file are installed.

```
git checkout main
git pull
pnpm install --frozen-lockfile
```

8. Run `pnpm publish -r --access public` to publish all the updated and newly created packages. The publish command will build the packages and run some checks before publishing to NPM. You can use `--dry-run` to verify before publishing, as well as `--tag next` if you want a prerelease.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
},
"devDependencies": {
"@biomejs/biome": "1.9.2",
"@changesets/cli": "^2.27.1",
"@jest/globals": "^29.7.0",
"@skypack/package-check": "^0.2.2",
"@swc/cli": "^0.4.0",
Expand Down
12 changes: 12 additions & 0 deletions packages/events/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# @ceramic-sdk/events

## 0.2.0

### Minor Changes

- Release all packages with recent updates

### Patch Changes

- Updated dependencies
- @ceramic-sdk/[email protected]
2 changes: 1 addition & 1 deletion packages/events/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ceramic-sdk/events",
"version": "0.1.0",
"version": "0.2.0",
"author": "3Box Labs",
"license": "(Apache-2.0 OR MIT)",
"keywords": ["ceramic", "events"],
Expand Down
7 changes: 7 additions & 0 deletions packages/flight-sql-client/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# @ceramic-sdk/flight-sql-client

## 0.2.0

### Minor Changes

- Release all packages with recent updates. Match other package versions.
2 changes: 1 addition & 1 deletion packages/flight-sql-client/npm/darwin-arm64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ceramic-sdk/flight-sql-client-darwin-arm64",
"version": "0.0.1",
"version": "0.2.0",
"os": ["darwin"],
"cpu": ["arm64"],
"main": "flight-sql-client.darwin-arm64.node",
Expand Down
2 changes: 1 addition & 1 deletion packages/flight-sql-client/npm/darwin-x64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ceramic-sdk/flight-sql-client-darwin-x64",
"version": "0.0.1",
"version": "0.2.0",
"os": ["darwin"],
"cpu": ["x64"],
"main": "flight-sql-client.darwin-x64.node",
Expand Down
2 changes: 1 addition & 1 deletion packages/flight-sql-client/npm/linux-x64-gnu/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ceramic-sdk/flight-sql-client-linux-x64-gnu",
"version": "0.0.1",
"version": "0.2.0",
"os": ["linux"],
"cpu": ["x64"],
"main": "flight-sql-client.linux-x64-gnu.node",
Expand Down
2 changes: 1 addition & 1 deletion packages/flight-sql-client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ceramic-sdk/flight-sql-client",
"version": "0.0.1",
"version": "0.2.0",
"description": "A FlightSQL client. Currently only supports Node.js",
"main": "index.js",
"types": "index.d.ts",
Expand Down
12 changes: 12 additions & 0 deletions packages/http-client/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# @ceramic-sdk/http-client

## 0.2.0

### Minor Changes

- Release all packages with recent updates

### Patch Changes

- Updated dependencies
- @ceramic-sdk/[email protected]
2 changes: 1 addition & 1 deletion packages/http-client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ceramic-sdk/http-client",
"version": "0.1.0",
"version": "0.2.0",
"author": "3Box Labs",
"license": "(Apache-2.0 OR MIT)",
"keywords": ["ceramic", "http", "client"],
Expand Down
7 changes: 7 additions & 0 deletions packages/identifiers/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# @ceramic-sdk/identifiers

## 0.2.0

### Minor Changes

- Release all packages with recent updates
2 changes: 1 addition & 1 deletion packages/identifiers/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ceramic-sdk/identifiers",
"version": "0.1.0",
"version": "0.2.0",
"author": "3Box Labs",
"license": "(Apache-2.0 OR MIT)",
"keywords": ["ceramic", "identifiers"],
Expand Down
15 changes: 15 additions & 0 deletions packages/model-client/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# @ceramic-sdk/model-client

## 0.2.0

### Minor Changes

- Release all packages with recent updates

### Patch Changes

- Updated dependencies
- @ceramic-sdk/[email protected]
- @ceramic-sdk/[email protected]
- @ceramic-sdk/[email protected]
- @ceramic-sdk/[email protected]
2 changes: 1 addition & 1 deletion packages/model-client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ceramic-sdk/model-client",
"version": "0.1.0",
"version": "0.2.0",
"author": "3Box Labs",
"license": "(Apache-2.0 OR MIT)",
"keywords": ["ceramic", "stream", "model", "client"],
Expand Down
13 changes: 13 additions & 0 deletions packages/model-handler/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# @ceramic-sdk/model-handler

## 0.2.0

### Minor Changes

- Release all packages with recent updates

### Patch Changes

- Updated dependencies
- @ceramic-sdk/[email protected]
- @ceramic-sdk/[email protected]
2 changes: 1 addition & 1 deletion packages/model-handler/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ceramic-sdk/model-handler",
"version": "0.1.0",
"version": "0.2.0",
"private": true,
"author": "3Box Labs",
"license": "(Apache-2.0 OR MIT)",
Expand Down
15 changes: 15 additions & 0 deletions packages/model-instance-client/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# @ceramic-sdk/model-instance-client

## 0.2.0

### Minor Changes

- Release all packages with recent updates

### Patch Changes

- Updated dependencies
- @ceramic-sdk/[email protected]
- @ceramic-sdk/[email protected]
- @ceramic-sdk/[email protected]
- @ceramic-sdk/[email protected]
2 changes: 1 addition & 1 deletion packages/model-instance-client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ceramic-sdk/model-instance-client",
"version": "0.1.0",
"version": "0.2.0",
"author": "3Box Labs",
"license": "(Apache-2.0 OR MIT)",
"keywords": ["ceramic", "stream", "model", "document", "client"],
Expand Down
14 changes: 14 additions & 0 deletions packages/model-instance-handler/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# @ceramic-sdk/model-instance-handler

## 0.2.0

### Minor Changes

- Release all packages with recent updates

### Patch Changes

- Updated dependencies
- @ceramic-sdk/[email protected]
- @ceramic-sdk/[email protected]
- @ceramic-sdk/[email protected]
2 changes: 1 addition & 1 deletion packages/model-instance-handler/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ceramic-sdk/model-instance-handler",
"version": "0.1.0",
"version": "0.2.0",
"private": true,
"author": "3Box Labs",
"license": "(Apache-2.0 OR MIT)",
Expand Down
13 changes: 13 additions & 0 deletions packages/model-instance-protocol/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# @ceramic-sdk/model-instance-protocol

## 0.2.0

### Minor Changes

- Release all packages with recent updates

### Patch Changes

- Updated dependencies
- @ceramic-sdk/[email protected]
- @ceramic-sdk/[email protected]
2 changes: 1 addition & 1 deletion packages/model-instance-protocol/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ceramic-sdk/model-instance-protocol",
"version": "0.1.0",
"version": "0.2.0",
"author": "3Box Labs",
"license": "(Apache-2.0 OR MIT)",
"keywords": ["ceramic", "stream", "model", "document"],
Expand Down
13 changes: 13 additions & 0 deletions packages/model-protocol/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# @ceramic-sdk/model-protocol

## 0.2.0

### Minor Changes

- Release all packages with recent updates

### Patch Changes

- Updated dependencies
- @ceramic-sdk/[email protected]
- @ceramic-sdk/[email protected]
2 changes: 1 addition & 1 deletion packages/model-protocol/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ceramic-sdk/model-protocol",
"version": "0.1.0",
"version": "0.2.0",
"author": "3Box Labs",
"license": "(Apache-2.0 OR MIT)",
"keywords": ["ceramic", "stream", "model"],
Expand Down
13 changes: 13 additions & 0 deletions packages/stream-client/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# @ceramic-sdk/stream-client

## 0.2.0

### Minor Changes

- Release all packages with recent updates

### Patch Changes

- Updated dependencies
- @ceramic-sdk/[email protected]
- @ceramic-sdk/[email protected]
2 changes: 1 addition & 1 deletion packages/stream-client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ceramic-sdk/stream-client",
"version": "0.1.0",
"version": "0.2.0",
"author": "3Box Labs",
"license": "(Apache-2.0 OR MIT)",
"keywords": ["ceramic", "stream", "client"],
Expand Down
7 changes: 7 additions & 0 deletions packages/test-utils/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# @ceramic-sdk/test-utils

## 0.2.0

### Minor Changes

- Release all packages with recent updates
2 changes: 1 addition & 1 deletion packages/test-utils/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ceramic-sdk/test-utils",
"version": "0.1.0",
"version": "0.2.0",
"author": "3Box Labs",
"license": "(Apache-2.0 OR MIT)",
"keywords": ["ceramic", "test"],
Expand Down
Loading
Loading