We'd love to accept your patches and contributions to this project.
Contributions to this project must be accompanied by a Contributor License Agreement (CLA). You (or your employer) retain the copyright to your contribution; this simply gives us permission to use and redistribute your contributions as part of the project.
If you or your current employer have already signed the Google CLA (even if it was for a different project), you probably don't need to do it again.
Visit https://cla.developers.google.com/ to see your current agreements or to sign a new one.
This project follows Google's Open Source Community Guidelines.
This section is for Google team members who are responsible for releasing new versions of the test server and SDKs.
This process creates a new GitHub release and attaches the compiled binaries.
Make sure you have goreleaser installed:
go install github.com/goreleaser/goreleaser/v2@latest-
Ensure your local
mainbranch is up-to-date and clean:git checkout main && git pull origin main && git clean -xdf
-
Create and push a new version tag. For example, for version
v0.2.2:git tag -a v0.2.2 -m "Release v0.2.2" git push origin v0.2.2 -
Run GoReleaser:
~/go/bin/goreleaser releaseNote: This may fail with
error=missing GITHUB_TOKEN, GITLAB_TOKEN and GITEA_TOKEN. To create a token, follow https://github.com/settings/tokens and set an environment variableexport GITHUB_TOKEN=<token>before retrying the command. -
Verify that a new release with the updated binaries is available on the project's GitHub Releases page.
After a new test-server binary is released, you need to update the checksums pinned in the SDKs.
- Run the
update-sdk-checksumsscript with the new version tag. For example:This updates the pinned checksums (currently only in the TypeScript SDK).go run scripts/update-sdk-checksums/main.go v0.2.2
- Commit and push the changes. These changes will be included in the next SDK release. Example PR: #22
- Ensure your local
mainbranch is up-to-date and clean:git checkout main && git pull origin main && git clean -xdf
- Navigate to the TypeScript SDK directory:
cd sdks/typescript - Update the
versioninpackage.json(e.g., usingnpm version patch). - Commit and push the changes. Example PR: #23
- Install dependencies and build the SDK:
npm ci && npm run build - Publish the new version to npm following internal guidance at go/wombat-dressing-room. (When prompted,
create a package specific publish token for
test-server-sdk.)
Publishing Python sdk is a relatively independent process, you can release python sdk without
any change on golang test-server binary.
- Ensure your local
mainbranch is up-to-date and clean:git checkout main && git pull origin main && git clean -xdf
- Update the version in
sdks/python/pyproject.toml, create and merge the PR.git add . git commit -m "chore: Prepare for Python SDK release v0.1.0" git push origin release/python-v0.1.0 - Find the current version of the python sdk in
sdks/python/pyproject.toml. And find the current golang test-server version, make suresdks/python/src/test-server-sdk/checksums.jsoninclude this version. - Create and push a new version tag. For example, for version
sdks/python/v0.1.0-core.0.2.8:git tag -a sdks/python/v0.1.0-core.0.2.8 -m "Release Python SDK v0.1.0 for Core v0.2.8" git push origin sdks/python/v0.1.0-core.0.2.8 - Find the draft release, verify the executable is built and uplaoaded successfully.
- Publish the relase