Skip to content

webrpc update from head#11

Open
kipply wants to merge 282 commits intocohere-ai:masterfrom
webrpc:master
Open

webrpc update from head#11
kipply wants to merge 282 commits intocohere-ai:masterfrom
webrpc:master

Conversation

@kipply
Copy link
Copy Markdown

@kipply kipply commented Apr 23, 2021

No description provided.

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Oct 11, 2022

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
0 out of 5 committers have signed the CLA.

❌ VojtechVitek
❌ LukasJenicek
❌ pkieltyka
❌ klaidliadon
❌ austinmilt
You have signed the CLA already but the status is still pending? Let us recheck it.

VojtechVitek and others added 29 commits November 19, 2022 16:53
* Run CI tests against Go 1.16 and 1.19

* Downgrade golang.org/x/sys to support Go 1.16

* Replace strings.Cut(), which was added in Go 1.18
We can't enforce the golang.org/x/sys version with the go.mod "replace"
directive, as it breaks the `go install` command.

See golang/go#44840

$ go install github.com/webrpc/webrpc/cmd/webrpc-gen@v0.7.2
go: downloading github.com/webrpc/webrpc v0.7.2
go install github.com/webrpc/webrpc/cmd/webrpc-gen@v0.7.2: github.com/webrpc/webrpc@v0.7.2
	The go.mod file for the module providing named packages contains one or
	more replace directives. It must not contain directives that would cause
	it to be interpreted differently than if it were the main module.
Build webrpc-gen binary for multiple OS/archs.
Create a Github release with changelog & attach the binaries.
Build and publish webrpc-gen Docker image on new git tag
…146)

* Fix -version flag value built in CI

* README: Add Install steps & improve Getting started

* Goreleaser: Add Install steps to release notes
…tions (#147)

* Add trimPrefix and trimSuffix template functions

* Implement sort template function, add documentation

* Bump webrpc-gen minor version because of template API change

* Re-generate examples
* Split Template API functions to logical groups; Update docs

* Implement array and append template functions

* Add tests for array functions
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.0.4 to 3.1.2.
- [Release notes](https://github.com/isaacs/minimatch/releases)
- [Commits](isaacs/minimatch@v3.0.4...v3.1.2)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* print summary after code generation

* typo
…ebapp (#156)

Bump decode-uri-component in /_examples/node-ts/webapp

Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](SamVerschueren/decode-uri-component@v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [qs](https://github.com/ljharb/qs) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/ljharb/qs/releases)
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](ljharb/qs@v6.5.2...v6.5.3)

---
updated-dependencies:
- dependency-name: qs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [express](https://github.com/expressjs/express) from 4.16.4 to 4.17.3.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](expressjs/express@4.16.4...4.17.3)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Test Interoperability

- Generate new go server listening on 9999 port satisfying api schema
defined in tests/schema/api.ridl

- Generate go client and server during build step since it's required by
webrpc-server binary

- Clean test cache before each run

- Test interoperability -> getting data from server, sending back and
testing if everything stay the same

- Implement shutdown http method on server to give client possibility of
closing down the server
* Make all tests use httptest.NewServer()

- Remove `make test' running test server binary in background
- The /shutdown endpoint was not 100% reliable based on my experience,
  the process still ran in the bacground and occupied port :9999 forever
- I propose to spin up the test server binary against a client binary
  in a separate test via os.Exec(), mimicking what generator repos will do

* webrpc-test -server -port=9988 -timeout=100s

* webrpc-test -client -url=http://localhost:9988

* Fix make build
* Go releaser: Build webrpc-test binary

* Try to fix goreleaser build

* Add brew tap for webrpc-test

* Improve Docker release docs

* Goreleaser brews must reference archive ids

* Goreleaser: Builds > Archives > Brews
- Fixes #164
- Refresh cache only if we can fetch all files from remote git
- Fall-back to old cache (over TTL) on git fetch error
- Fetch *.go.tmpl files only (was *.tmpl)
- Pre-fetch all template files when FS is initially loaded
- Print new webrpc-gen cache summary

$ webrpc-gen -schema=./tests/schema/api.ridl -target=golang -pkg=client -client -out=./tests/client/client.gen.go
=======================================
|      webrpc generated summary       |
=======================================
 webrpc-gen version : v0.8.x-dev
 target             : github.com/webrpc/gen-golang
 target cache       : /var/folders/23/vc4gzw8n52gc17yx4wfqfj3c0000gn/T/webrpc-cache/2568534563-gen-golang
 target cache age   : 1h51m3s (failed to refresh: get git repository: GET https://api.github.com/repos/webrpc/gen-golang: 403 API rate limit exceeded for 178.248.249.18. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.) [rate reset in 9m42s])
 schema file        : ./tests/schema/api.ridl
 output file        : ./tests/client/client.gen.go
… golang@latest) (#163)

* make test: Run client-server (both golang@latest) interoperability test

* Ensure tests & examples are ran against current ./bin/webrpc-gen

* Makefile supports exporting PATH globally

* Wait for test server to come up

* make test: Wait for test server to finish

* webrpc-test -server: Exit success on normal shutdown

* Run Go 1.19 before Go 1.16 tests

Before this change, the Go 1.19 test was canceled automatically
if the slower Go 1.16 test failed (which is more likely).

* make generate: Fix directory name in the output
* Fix non-deterministic schema hash

Schema hash was generated from schema.JSON(nil) including Imports
pointing at absolute paths. The CI generated different hash compared
to my development setup when there were RIDL imports involved.

1. Can we simply disable the Imports field from Schema JSON?
2. Do we need to keep schema.Imports around at all?

* Remove schema.Imports
* Fix typo

* Replace sleep with netcat to check if server is ready
…s" (#171)

* RIDL: Rename "message" to "struct"

Split off #134 by @pkieltyka

* Schema: Rename "messages" to "types"

Split off #134 by @pkieltyka

* Fix tests

* Update .json schemas & provide migrate.js script

* Fix generating templates

* Regenerate examples

* Re-add two template functions to docs
Allow test binary to print out ridl scheme
* Fix CI: Regenerate all _examples/

Turns out "go generate ./.." didn't regenerate _examples/ directory because of the leading underscore character.

* make generate
pkieltyka and others added 30 commits November 13, 2025 09:15
* add -methodTreeShake flag

* update
* Update to gen-golang@v0.24.0 and gen-openapi@v0.16.5

* make generate

* Simplify make generate command

* Update README

* Simplify example makefiles; use local webrpc-gen bin
…-ts/server-go (#419)

Bump github.com/go-chi/chi/v5 in /_examples/node-ts/server-go

Bumps [github.com/go-chi/chi/v5](https://github.com/go-chi/chi) from 5.0.12 to 5.2.2.
- [Release notes](https://github.com/go-chi/chi/releases)
- [Changelog](https://github.com/go-chi/chi/blob/master/CHANGELOG.md)
- [Commits](go-chi/chi@v5.0.12...v5.2.2)

---
updated-dependencies:
- dependency-name: github.com/go-chi/chi/v5
  dependency-version: 5.2.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [hono](https://github.com/honojs/hono) from 4.10.3 to 4.11.7.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](honojs/hono@v4.10.3...v4.11.7)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.11.7
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…c-streaming (#420)

Bump github.com/go-chi/chi/v5 in /_examples/webrpc-streaming

Bumps [github.com/go-chi/chi/v5](https://github.com/go-chi/chi) from 5.1.0 to 5.2.2.
- [Release notes](https://github.com/go-chi/chi/releases)
- [Changelog](https://github.com/go-chi/chi/blob/master/CHANGELOG.md)
- [Commits](go-chi/chi@v5.1.0...v5.2.2)

---
updated-dependencies:
- dependency-name: github.com/go-chi/chi/v5
  dependency-version: 5.2.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Move service definition to top of RIDL examples

* Fix golden file

* [AUTOMATED] make generate
* Add new "basepath" keyword to define base path for the API routes

This will allow users to
- override the default "/rpc" prefix
- use a custom prefix such as "/v1" to enable schema versioning

If empty, the value defaults to "/rpc" for backward compatibility.
However, "basepath" will be required in the future versions of webrpc.

* Update golden files
* Update golang, typescript, javascript, openapi, dart, kotlin

* Add basepath to README and examples

* make generate

* Update go.mod
…erver-hono (#432)

Bump @hono/node-server in /_examples/node-ts/server-hono

Bumps [@hono/node-server](https://github.com/honojs/node-server) from 1.19.5 to 1.19.10.
- [Release notes](https://github.com/honojs/node-server/releases)
- [Commits](honojs/node-server@v1.19.5...v1.19.10)

---
updated-dependencies:
- dependency-name: "@hono/node-server"
  dependency-version: 1.19.10
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [hono](https://github.com/honojs/hono) from 4.11.7 to 4.12.4.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](honojs/hono@v4.11.7...v4.12.4)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.12.4
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/cloudflare/circl](https://github.com/cloudflare/circl) from 1.6.1 to 1.6.3.
- [Release notes](https://github.com/cloudflare/circl/releases)
- [Commits](cloudflare/circl@v1.6.1...v1.6.3)

---
updated-dependencies:
- dependency-name: github.com/cloudflare/circl
  dependency-version: 1.6.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump github.com/webrpc/gen-golang from v0.25.0 to v0.26.0

* [AUTOMATED] make generate

* Bump github.com/webrpc/gen-golang from v0.26.0 to v0.26.1

* [AUTOMATED] make generate
Bumps [hono](https://github.com/honojs/hono) from 4.12.4 to 4.12.7.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](honojs/hono@v4.12.4...v4.12.7)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.12.7
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* support dots in enum strings

* update

* bump gen-golang and gen-typescript
* Enforce succinct form requirement for both input and output in method definitions

* regenerate examples and tests

* remove sed backup files

* reject mismatched succinct: require both inputs and outputs
* add workflow to auto-bump generator dependencies

* [AUTOMATED] make generate
* Add type alias support to RIDL parser and schema

Introduces a new `type Name: BaseType` syntax for defining type aliases
in RIDL schemas. Aliases support metadata annotations (`+ key = value`)
and can be used as struct fields, enum values, and method argument types.

* regenerate test debug golden file

The new Alias field on VarType changes the debug dump output.
Two triggers:
- repository_dispatch: generator repos notify on new tag, bumps the
  specific generator immediately
- workflow_dispatch: manual fallback that polls all generators for
  updates by comparing go.mod against latest tags

Uses 0xsequence/actions/git-commit to commit changes and open a PR
on the auto/bump-generators branch. Multiple generator bumps
accumulate in the same PR.

Requires WEBRPC_DISPATCH_TOKEN org-level secret.
* bump gen-golang to v0.27.1

* [automated]: update gen-golang to v0.28.0
[automated]: update gen-typescript to v0.26.0
[automated]: update gen-javascript to v0.14.0
[automated]: update gen-kotlin to v0.2.0
[automated]: update gen-openapi to v0.18.0

---------

Co-authored-by: VojtechVitek <139342+VojtechVitek@users.noreply.github.com>
Co-authored-by: klaidliadon <5322228+klaidliadon@users.noreply.github.com>
[automated]: update gen-kotlin to v0.3.0

Co-authored-by: VojtechVitek <139342+VojtechVitek@users.noreply.github.com>
* docs: update Kotlin generator description

* docs: trim Kotlin generator description

* docs: trim Kotlin README table spacing
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.