From 7f8d58042b1f5f72ff9f9d89bfa92b0cbf357756 Mon Sep 17 00:00:00 2001 From: Alex In Date: Thu, 7 Nov 2024 17:37:27 +0300 Subject: [PATCH] - Add Support Policy - Update tests Closes #66 Signed-off-by: Alex In --- .github/workflows/test.yaml | 9 +++++---- README.md | 21 ++++++++++++++++++++- go.mod | 2 +- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index f6702b5..e5c4db3 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -9,7 +9,7 @@ on: - 'LICENSE' pull_request: env: - GO_VERSION: "1.20" + GO_VERSION: "1.22" PROTOC_VERSION: "21.12" jobs: @@ -20,9 +20,10 @@ jobs: fail-fast: false matrix: tinygo-version: - - "0.31.1" - - "0.30.0" - - "0.29.0" + - "0.31.2" + - "0.32.0" + - "0.33.0" + - "0.34.0" steps: - uses: actions/checkout@v3 diff --git a/README.md b/README.md index 20289bc..a817658 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,23 @@ This architecture has a number of benefits: Download a binary [here][releases] and put it in `$PATH`. +## Support Policy + +`go-plugin` is based on [Wazero][wazero] runtime and has Support Policy which follows [same rules](https://github.com/tetratelabs/wazero/?tab=readme-ov-file#go): +> wazero follows the same version policy as Go's [Release Policy](https://go.dev/doc/devel/release): two versions. wazero will ensure these versions work and bugs are valid if there's an issue with a current Go version. + +For example, if current version of Go is `go1.23`, `go-plugin` is ensured to work with Go versions: +- `go1.22` +- `go1.23` + +as well as support corresponding `tinygo` versions (having most recent patch versions according to [Semver][semver]): +- `v0.31.2` +- `v0.32.0` +- `v0.33.0` +- `v0.34.0` + +Mapping between different versions of Go and TinyGo can be found on [Go compatibility matrix](https://tinygo.org/docs/reference/go-compat-matrix/) and [Releases](https://github.com/tinygo-org/tinygo/releases) page. + ## Usage To use the plugin system, you must take the following steps. These are high-level steps that must be done. @@ -501,4 +518,6 @@ Welcome your contribution :) [host-functions-example]: https://github.com/knqyf263/go-plugin/tree/main/examples/host-functions [json-example]: https://github.com/knqyf263/go-plugin/tree/main/tests/host-functions -[releases]: https://github.com/knqyf263/go-plugin/releases \ No newline at end of file +[releases]: https://github.com/knqyf263/go-plugin/releases + +[semver]: https://semver.org/ \ No newline at end of file diff --git a/go.mod b/go.mod index 9caa89a..03336db 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/knqyf263/go-plugin -go 1.20 +go 1.22 require ( github.com/planetscale/vtprotobuf v0.4.0