blob: 94ddf6b1d040be5b5ecbef316540ddffe597a7f0 [file] [view]
# Go Developer Survey Configuration
This Go module serves the configuration file for the Go Developer Survey shown in the [VS Code Go extension](https://github.com/golang/vscode-go).
## Purpose
This module exists solely to host the `config.json` file. By hosting it as a Go module, it can be fetched via module proxy, providing a reliable and secure way for the VS Code Go extension to get the latest survey configuration.
This approach is inspired by the Go team's telemetry configuration module.
## `config.json`
The `config.json` file defines the parameters for the Go Developer Survey. It has the following structure:
```json
{
"StartDate": "2023-09-01T00:00:00Z",
"EndDate": "2023-10-01T00:00:00Z",
"URL": "https://google.com/survey/url"
}
```
- `StartDate`: The ISO 8601 timestamp for when the survey promotion should start.
- `EndDate`: The ISO 8601 timestamp for when the survey promotion should end.
- `URL`: The URL to the survey.
## Usage
This module is not intended to be used as a library. It is fetched by the VS Code Go extension.
## Tagging
The versioning scheme follows semantic versioning, with each change to the configuration being a **minor** version increment.
As this module is in the `survey/` subdirectory of its repository, the git tag **must** be prefixed with `survey/`. This is a requirement for Go modules located in subdirectories. For more details, see the [Go Modules documentation](https://go.dev/ref/mod#vcs-version).
For example, if the most recent tag is `survey/v0.1.0`, the new tag should be `survey/v0.2.0`.
## Release Process
When changes are made to `config.json`, a new version of this module must be released. This is done by creating a new git tag that follows the convention described above.