Skip to content

Commit 4e33efe

Browse files
Update CONTRIBUTING.md
1 parent 21d8eb0 commit 4e33efe

1 file changed

Lines changed: 0 additions & 97 deletions

File tree

CONTRIBUTING.md

Lines changed: 0 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -1,98 +1 @@
11
# Contributing to the DO TypeScript Client
2-
3-
>First: if you're unsure or afraid of anything, just ask or submit the issue or pull request anyways. You won't be yelled at for giving your best effort. The worst that can happen is that you'll be politely asked to change something. We appreciate all contributions!
4-
5-
## Here's a Quick Overview
6-
7-
The DigitalOcean TypeScript client is generated using [Kiota](https://github.com/microsoft/kiota). The Kiota tool generates client libraries for accessing RESTful web services. Input to Kiota is a spec that describes the DigitalOcean REST API using the OpenAPI 3.0 Specification format. The spec can be found [here](https://github.com/digitalocean/openapi).
8-
9-
## Generating DoTs Locally
10-
11-
DoTs is a generated client. This section will walk you through generating the client locally. One might ask, when would one want to generate DoTs locally? Local generation is really helpful when making changes to the client configuration itself. It is good practice to re-generate the client to ensure the behavior is as expected.
12-
13-
### Prerequisites
14-
15-
* NodeJs version: >= 18
16-
* [npm](https://www.npmjs.com/): To manage TypeScript/JavaScript dependencies
17-
* [Kiota](https://github.com/microsoft/kiota): The tool that generates the client libraries for accessing RESTful web services.
18-
19-
### Setup
20-
21-
1. Clone this repository. Run:
22-
23-
```sh
24-
git clone git@github.com:digitalocean/dots.git
25-
cd dots
26-
```
27-
2. Install Dependencies, Run:
28-
29-
```sh
30-
npm install
31-
```
32-
33-
### Using `make` commands to re-generate the client
34-
35-
1. Remove the previous generated code.
36-
37-
```sh
38-
make clean
39-
```
40-
41-
2. Re-download the latest DO OpenAPI 3.0 Specification.
42-
43-
```sh
44-
make download-spec
45-
```
46-
47-
3. Generate the client
48-
49-
```sh
50-
make generate
51-
```
52-
53-
4. Compile all TypeScript Generated files
54-
55-
```sh
56-
tsc
57-
```
58-
59-
5. It is also good practice to run mock tests against the changes using the following make command:
60-
61-
```sh
62-
make test-mocked
63-
```
64-
65-
66-
67-
68-
## Releasing `dots`
69-
70-
The repo uses GitHub workflows to publish a draft release when a new tag is
71-
pushed. We use [semver](https://semver.org/#summary) to determine the version
72-
number for the tag.
73-
74-
1. Run `make changes` to review the merged PRs since last release and decide what kind of release you are doing (bugfix, feature or breaking).
75-
* Review the tags on each PR and make sure they are categorized
76-
appropriately.
77-
78-
1. Run `BUMP=(bugfix|feature|breaking) make bump_version` to update the `pydo`
79-
version.
80-
`BUMP` also accepts `(patch|minor|major)`
81-
82-
Command example:
83-
84-
```bash
85-
make BUMP=minor bump_version
86-
```
87-
88-
1. Create a separate PR with only version changes.
89-
90-
1. Once the PR has been pushed and merged, tag the commit to trigger the
91-
release workflow: run `make tag` to tag the latest commit and push the tag to ORIGIN.
92-
93-
Notes:
94-
* To tag an earlier commit, run `COMMIT=${commit} make tag`.
95-
* To push the tag to a different remote, run `ORIGIN=${REMOTE} make tag`.
96-
97-
1. Once the release process completes, review the draft release for correctness and publish the release.
98-
Ensure the release has been marked `Latest`.

0 commit comments

Comments
 (0)