Skip to content

Commit 3b38629

Browse files
committed
doc: update docs with feedback on PR#1
- Add CLA and community guidelines to CONTRIBUTING.md - Rename workflows - Remove e2e tests from workflows - Clarify difference from tetratelabs/proxy-wasm-go-sdk Signed-off-by: Matt Leon <mattleon@google.com>
1 parent a43e691 commit 3b38629

File tree

3 files changed

+48
-58
lines changed

3 files changed

+48
-58
lines changed

.github/workflows/workflow.yaml

Lines changed: 11 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1-
name: Test
1+
name: SDK Workflows
22
on:
33
pull_request:
44
branches:
55
- main
66
push:
77
branches:
88
- main
9+
schedule:
10+
- cron: '0 0 * * *'
11+
12+
env:
13+
GO_VERSION: go1.24rc1
914

1015
jobs:
1116
style:
@@ -15,7 +20,7 @@ jobs:
1520
- name: install Go
1621
uses: actions/setup-go@v5
1722
with:
18-
go-version: 'go1.24rc1'
23+
go-version: {{ env.GO_VERSION }}
1924

2025
- name: checkout
2126
uses: actions/checkout@v3
@@ -33,7 +38,7 @@ jobs:
3338
- name: install Go
3439
uses: actions/setup-go@v5
3540
with:
36-
go-version: 'go1.24rc1'
41+
go-version: {{ env.GO_VERSION }}
3742

3843
- name: checkout
3944
uses: actions/checkout@v3
@@ -42,27 +47,7 @@ jobs:
4247
run: make test
4348

4449
examples:
45-
name: Examples (${{ matrix.envoy-image }})
46-
strategy:
47-
fail-fast: false
48-
matrix:
49-
envoy-image: [
50-
"envoyproxy/envoy-dev:latest",
51-
"envoyproxy/envoy:v1.24-latest",
52-
"envoyproxy/envoy:v1.25-latest",
53-
"envoyproxy/envoy:v1.26-latest",
54-
"envoyproxy/envoy:v1.27-latest",
55-
"envoyproxy/envoy:v1.28-latest",
56-
"envoyproxy/envoy:v1.29-latest",
57-
"envoyproxy/envoy:v1.30-latest",
58-
"istio/proxyv2:1.16.0",
59-
"istio/proxyv2:1.17.0",
60-
"istio/proxyv2:1.18.0",
61-
"istio/proxyv2:1.19.0",
62-
"istio/proxyv2:1.20.0",
63-
"istio/proxyv2:1.21.0",
64-
"istio/proxyv2:1.22.0",
65-
]
50+
name: Examples Tests
6651
runs-on: ubuntu-latest
6752
steps:
6853
- name: Checkout
@@ -72,30 +57,17 @@ jobs:
7257
uses: actions/cache@v3
7358
with:
7459
path: |
75-
~/.cache/go-build
76-
~/.cache/tinygo
7760
~/go/pkg/mod
7861
~/go/bin
79-
key: examples-${{ hashFiles('**/go.mod', '**/go.sum') }}-v${{ env.TINYGO_VERSION }}
62+
key: examples-${{ hashFiles('**/go.mod', '**/go.sum') }}-{{ env.GO_VERSION }}
8063

8164
- name: Install Go
8265
uses: actions/setup-go@v5
8366
with:
84-
go-version: 'go1.24rc1'
67+
go-version: {{ env.GO_VERSION }}
8568

8669
- name: Build examples
8770
run: make build.examples
8871

8972
- name: Test examples
9073
run: make test.examples
91-
92-
- name: Install Envoy
93-
run: |
94-
export ENVOY_BIN_DIR=$HOME/envoy/bin
95-
mkdir -p $ENVOY_BIN_DIR
96-
docker run -v $ENVOY_BIN_DIR:/tmp/proxy-wasm-go-sdk -w /tmp/proxy-wasm-go-sdk \
97-
--entrypoint /bin/cp ${{ matrix.envoy-image }} /usr/local/bin/envoy .
98-
echo $ENVOY_BIN_DIR >> $GITHUB_PATH
99-
100-
- name: Run e2e test
101-
run: make test.e2e

README.md

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
The Go SDK for
44
[Proxy-Wasm](https://github.com/proxy-wasm/spec), enabling developers to write Proxy-Wasm plugins in Go.
55

6+
Note: This SDK targets the upstream Go compiler, version 1.24 or later. This is different than the forked github.com/tetratelabs/proxy-wasm-go-sdk, which targets the TinyGo compiler.
7+
68
## Project Status
79

810
This SDK is based off of github.com/tetratelabs/proxy-wasm-go-sdk; however, it is effectively a new SDK targeting a completely different toolchain. It relies on the not-yet-released Go 1.24 and hasn't seen extensive prod testing by end-users. This SDK is an alpha product.
@@ -14,7 +16,8 @@ This SDK is based off of github.com/tetratelabs/proxy-wasm-go-sdk; however, it i
1416

1517
## Requirements
1618

17-
- \[Required] [Go](https://go.dev/): v1.24+ - This SDK leverages Go 1.24's support for [WASI](https://github.com/WebAssembly/WASI) (WebAssembly System Interface) reactors. You can grab a release candidate from the [Go unstable releases page](https://go.dev/dl/#unstable).
19+
- \[Required] [Go](https://go.dev/): v1.24+ - This SDK leverages Go 1.24's support for [WASI](https://github.com/WebAssembly/WASI) (WebAssembly System Interface) reactors. You can grab a release candidate from the [Go unstable releases page](https://go.dev/dl/#unstable). A stable release of Go 1.24 is [expected in February 2025](https://tip.golang.org/doc/go1.24).
20+
- \[Required] A host environment supporting this toolchain - This SDK leverages additional host imports added to the proxy-wasm-cpp-host in [PR#427](https://github.com/proxy-wasm/proxy-wasm-cpp-host/pull/427). This has yet to be merged, let alone make its way downstream to Envoy, ATS, nginx, or managed environments.
1821
- \[Optional] [Envoy](https://www.envoyproxy.io) - To run end-to-end tests, you need to have an Envoy binary. You can use [func-e](https://func-e.io) as an easy way to get started with Envoy or follow [the official instruction](https://www.envoyproxy.io/docs/envoy/latest/start/install).
1922

2023
## Installation
@@ -25,7 +28,7 @@ go get github.com/proxy-wasm/proxy-wasm-go-sdk
2528

2629
## Minimal Example Plugin
2730

28-
A minimal plugin
31+
A minimal plugin:
2932

3033
```go
3134
package main
@@ -58,10 +61,15 @@ It can be compiled with `env GOOS=wasip1 GOARCH=wasm go build -buildmode=c-share
5861
# Build all examples.
5962
make build.examples
6063

61-
# Build a specific example.
62-
make build.example name=helloworld
64+
# Build a specific example using the `go` tool.
65+
cd examples/helloworld
66+
env GOOS=wasp1 GOARCH=wasm go build -buildmode=c-shared -o main.wasm main.go
67+
68+
# Test the built wasm module using `go test`.
69+
go test
6370

64-
# Run a specific example.
71+
# Build and test a specific example from the repo root using `make`.
72+
make build.example name=helloworld
6573
make run name=helloworld
6674
```
6775

@@ -85,6 +93,6 @@ We welcome contributions from the community! See [CONTRIBUTING.md](doc/CONTRIBUT
8593
## External links
8694

8795
- [WebAssembly for Proxies (ABI specification)](https://github.com/proxy-wasm/spec)
88-
- [WebAssembly for Proxies (AssemblyScript SDK)](https://github.com/solo-io/proxy-runtime)
8996
- [WebAssembly for Proxies (C++ SDK)](https://github.com/proxy-wasm/proxy-wasm-cpp-sdk)
9097
- [WebAssembly for Proxies (Rust SDK)](https://github.com/proxy-wasm/proxy-wasm-rust-sdk)
98+
- [WebAssembly for Proxies (AssemblyScript SDK)](https://github.com/solo-io/proxy-runtime)

doc/CONTRIBUTING.md

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,26 @@ make test.e2e
2121
make test.e2e.single name=helloworld
2222
```
2323

24-
## Code Reviews
25-
26-
* Indicate the priority of each comment, following this
27-
[feedback ladder](https://www.netlify.com/blog/2020/03/05/feedback-ladders-how-we-encode-code-reviews-at-netlify/).
28-
If none was indicated it will be treated as `[dust]`.
29-
* A single approval is sufficient to merge, except when the change cuts
30-
across several components; then it should be approved by at least one owner
31-
of each component. If a reviewer asks for changes in a PR they should be
32-
addressed before the PR is merged, even if another reviewer has already
33-
approved the PR.
34-
* During the review, address the comments and commit the changes _without_ squashing the commits.
35-
This facilitates incremental reviews since the reviewer does not go through all the code again to
36-
find out what has changed since the last review.
24+
## Contributor License Agreement
25+
26+
Contributions to this project must be accompanied by a Contributor License
27+
Agreement. You (or your employer) retain the copyright to your contribution;
28+
this simply gives us permission to use and redistribute your contributions as
29+
part of the project. Head over to <https://cla.developers.google.com/> to see
30+
your current agreements on file or to sign a new one.
31+
32+
You generally only need to submit a CLA once, so if you've already submitted one
33+
(even if it was for a different project), you probably don't need to do it
34+
again.
35+
36+
## Code reviews
37+
38+
All submissions, including submissions by project members, require review. We
39+
use GitHub pull requests for this purpose. Consult
40+
[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
41+
information on using pull requests.
42+
43+
## Community Guidelines
44+
45+
This project follows [Google's Open Source Community
46+
Guidelines](https://opensource.google/conduct/).

0 commit comments

Comments
 (0)