Skip to content

Commit 1c7acf4

Browse files
author
taylanisikdemir
authored
Update README and CONTRIBUTING files (#6578)
1 parent 0ed1d99 commit 1c7acf4

File tree

2 files changed

+63
-61
lines changed

2 files changed

+63
-61
lines changed

CONTRIBUTING.md

Lines changed: 14 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
# Developing Cadence
22

3-
This doc is intended for contributors to `cadence` server (hopefully that's you!)
3+
This doc is intended for contributors to Cadence backend. Thanks for considering to contribute ❤️
4+
5+
Once you go through rest of this doc and get familiar with local development setup, take a look at the list of issues labeled with
6+
[good first issue](https://github.com/cadence-workflow/cadence/labels/good%20first%20issue).
7+
These issues are a great way to start contributing to Cadence. Later when you are more familiar with Cadence, look at issues with
8+
[up-for-grabs](https://github.com/cadence-workflow/cadence/labels/up-for-grabs).
9+
10+
Feel free to join our [slack workspace](http://t.uber.com/cadence-slack) to reach out and discuss issues with the team.
411

5-
Join our Slack channel(invite link in the [home page](https://github.com/cadence-workflow/cadence#cadence)) #development if you need help.
6-
>Note: All contributors need to fill out the [Uber Contributor License Agreement](http://t.uber.com/cla) before we can merge in any of your changes
12+
13+
:warning: Note:
14+
>All contributors need to fill out the [Uber Contributor License Agreement](http://t.uber.com/cla) before we can merge in any of your changes
715
816
## Development Environment
917
Below are the instructions of how to set up a development Environment.
@@ -164,17 +172,6 @@ $./bin/helloworld
164172

165173
See [instructions](service/worker/README.md) for setting up replication(XDC).
166174

167-
## Issues to start with
168-
169-
Take a look at the list of issues labeled with
170-
[good first issue](https://github.com/cadence-workflow/cadence/labels/good%20first%20issue).
171-
These issues are a great way to start contributing to Cadence.
172-
173-
Later when you are more familiar with Cadence, look at issues with
174-
[up-for-grabs](https://github.com/cadence-workflow/cadence/labels/up-for-grabs).
175-
176-
177-
178175
## Repository layout
179176
A Cadence server cluster is composed of four different services: Frontend, Matching, History and Worker(system).
180177
Here's what's in each top-level directory in this repository:
@@ -254,18 +251,12 @@ Examples:
254251

255252
#### Code Format and Licence headers checking
256253

257-
The project has strict rule about Golang format. You have to run
254+
The project has strict rule about Golang format, import ordering and license declarations. You have to run
258255
```bash
259-
make fmt
256+
make pr
260257
```
261-
to re-format your code. Otherwise the CI(buildkite) test will fail.
262-
263-
Also, this project is Open Source Software, and requires a header at the beginning of
264-
all new source files you are adding. To verify that all files contain the header execute:
258+
which will take care of formatting for you.
265259

266-
```bash
267-
make copyright
268-
```
269260

270261
### Code review
271262
We take code reviews very seriously at Cadence. Please don't be deterred if you feel like you've received some hefty feedback. That's completely normal and expected—and, if you're an external contributor, we very much appreciate your contribution!

README.md

Lines changed: 49 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2,50 +2,42 @@
22
[![Build Status](https://badge.buildkite.com/159887afd42000f11126f85237317d4090de97b26c287ebc40.svg?theme=github&branch=master)](https://buildkite.com/uberopensource/cadence-server)
33
[![Coverage](https://codecov.io/gh/cadence-workflow/cadence/graph/badge.svg?token=7SD244ImNF)](https://codecov.io/gh/cadence-workflow/cadence)
44
[![Slack Status](https://img.shields.io/badge/slack-join_chat-white.svg?logo=slack&style=social)](http://t.uber.com/cadence-slack)
5-
65
[![Github release](https://img.shields.io/github/v/release/cadence-workflow/cadence.svg)](https://github.com/cadence-workflow/cadence/releases)
76
[![License](https://img.shields.io/github/license/cadence-workflow/cadence.svg)](http://www.apache.org/licenses/LICENSE-2.0)
87

9-
[![GitHub stars](https://img.shields.io/github/stars/cadence-workflow/cadence.svg?style=social&label=Star&maxAge=2592000)](https://github.com/cadence-workflow/cadence/stargazers/)
10-
[![GitHub forks](https://img.shields.io/github/forks/cadence-workflow/cadence.svg?style=social&label=Fork&maxAge=2592000)](https://github.com/cadence-workflow/cadence/network/)
8+
Cadence Workflow is an open-source platform since 2017 for building and running scalable, fault-tolerant, and long-running workflows. This repository contains the core orchestration engine and tools including CLI, schema managment, benchmark and canary.
119

1210

13-
This repo contains the source code of the Cadence server and other tooling including CLI, schema tools, bench and canary.
11+
## Getting Started
1412

15-
You can implement your workflows with one of our client libraries.
16-
The [Go](https://github.com/cadence-workflow/cadence-go-client) and [Java](https://github.com/cadence-workflow/cadence-java-client) libraries are officially maintained by the Cadence team,
17-
while the [Python](https://github.com/firdaus/cadence-python) and [Ruby](https://github.com/coinbase/cadence-ruby) client libraries are developed by the community.
13+
Cadence backend consists of multiple services, a database (Cassandra/MySQL/PostgreSQL) and optionally Kafka+Elasticsearch.
14+
As a user, you need a worker which contains your workflow implementation.
15+
Once you have Cadence backend and worker(s) running, you can trigger workflows by using SDKs or via CLI.
1816

19-
You can also use [iWF](https://github.com/indeedeng/iwf) as a DSL framework on top of Cadence.
17+
1. Start cadence backend components locally
2018

21-
See Maxim's talk at [Data@Scale Conference](https://atscaleconference.com/videos/cadence-microservice-architecture-beyond-requestreply) for an architectural overview of Cadence.
19+
```
20+
docker-compose -f docker/docker-compose.yml up
21+
```
2222

23-
Visit [cadenceworkflow.io](https://cadenceworkflow.io) to learn more about Cadence. Join us in [Cadence Documentation](https://github.com/cadence-workflow/Cadence-Docs) project. Feel free to raise an Issue or Pull Request there.
23+
2. Run the Samples
2424

25-
### Community
26-
* [Github Discussion](https://github.com/cadence-workflow/cadence/discussions)
27-
* Best for Q&A, support/help, general discusion, and annoucement
28-
* [StackOverflow](https://stackoverflow.com/questions/tagged/cadence-workflow)
29-
* Best for Q&A and general discusion
30-
* [Github Issues](https://github.com/cadence-workflow/cadence/issues)
31-
* Best for reporting bugs and feature requests
32-
* [Slack](http://t.uber.com/cadence-slack)
33-
* Best for contributing/development discussion
34-
35-
## Getting Started
25+
Try out the sample recipes for [Go](https://github.com/cadence-workflow/cadence-samples) or [Java](https://github.com/cadence-workflow/cadence-java-samples).
3626

37-
### Start the cadence-server
27+
3. Visit UI
3828

39-
To run Cadence services locally, we highly recommend that you use [Cadence service docker](docker/README.md) to run the service.
40-
You can also follow the [instructions](./CONTRIBUTING.md) to build and run it.
29+
Visit http://localhost:8080 to check workflow histories and detailed traces.
4130

42-
Please visit our [documentation](https://cadenceworkflow.io/docs/operation-guide/) site for production/cluster setup.
4331

44-
### Run the Samples
32+
### Client Libraries
33+
You can implement your workflows with one of our client libraries:
34+
- [Official Cadence Go SDK](https://github.com/cadence-workflow/cadence-go-client)
35+
- [Official Cadence Java SDK](https://github.com/cadence-workflow/cadence-java-client)
36+
There are also unofficial [Python](https://github.com/firdaus/cadence-python) and [Ruby](https://github.com/coinbase/cadence-ruby) SDKs developed by the community.
4537

46-
Try out the sample recipes for [Go](https://github.com/cadence-workflow/cadence-samples) or [Java](https://github.com/cadence-workflow/cadence-java-samples) to get started.
38+
You can also use [iWF](https://github.com/indeedeng/iwf) as a DSL framework on top of Cadence.
4739

48-
### Use [Cadence CLI](https://cadenceworkflow.io/docs/cli/)
40+
### CLI
4941

5042
Cadence CLI can be used to operate workflows, tasklist, domain and even the clusters.
5143

@@ -56,23 +48,17 @@ You can use the following ways to install Cadence CLI:
5648
* Build the CLI binary yourself, check out the repo and run `make cadence` to build all tools. See [CONTRIBUTING](CONTRIBUTING.md) for prerequisite of make command.
5749
* Build the CLI image yourself, see [instructions](docker/README.md#diy-building-an-image-for-any-tag-or-branch)
5850

59-
Cadence CLI is a powerful tool. The commands are organized by **tabs**. E.g. `workflow`->`batch`->`start`, or `admin`->`workflow`->`describe`.
51+
Cadence CLI is a powerful tool. The commands are organized by tabs. E.g. `workflow`->`batch`->`start`, or `admin`->`workflow`->`describe`.
6052

6153
Please read the [documentation](https://cadenceworkflow.io/docs/cli/#documentation) and always try out `--help` on any tab to learn & explore.
6254

63-
### Use Cadence Web
55+
### UI
6456

6557
Try out [Cadence Web UI](https://github.com/cadence-workflow/cadence-web) to view your workflows on Cadence.
6658
(This is already available at localhost:8088 if you run Cadence with docker compose)
6759

6860

69-
## Contributing
70-
71-
We'd love your help in making Cadence great. Please review our [contribution guide](CONTRIBUTING.md).
72-
73-
If you'd like to propose a new feature, first join the [Slack channel](http://t.uber.com/cadence-slack) to start a discussion and check if there are existing design discussions. Also peruse our [design docs](docs/design/index.md) in case a feature has been designed but not yet implemented. Once you're sure the proposal is not covered elsewhere, please follow our [proposal instructions](PROPOSALS.md).
74-
75-
## Other binaries in this repo
61+
### Other binaries in this repo
7662

7763
#### Bench/stress test workflow tools
7864
See [bench documentation](./bench/README.md).
@@ -96,7 +82,32 @@ The easiest way to get the schema tool is via homebrew.
9682
All you need is to check out the older version of schemas from this repo. Run `git checkout v0.21.3` to get the v0.21.3 schemas in [the schema folder](/schema).
9783

9884

99-
## Stargazers over time
85+
## Contributing
86+
87+
We'd love your help in making Cadence great. Please review our [contribution guide](CONTRIBUTING.md).
88+
89+
If you'd like to propose a new feature, first join the [Slack channel](http://t.uber.com/cadence-slack) to start a discussion.
90+
91+
Please visit our [documentation](https://cadenceworkflow.io/docs/operation-guide/) site for production/cluster setup.
92+
93+
94+
### Learning Resources
95+
See Maxim's talk at [Data@Scale Conference](https://atscaleconference.com/videos/cadence-microservice-architecture-beyond-requestreply) for an architectural overview of Cadence.
96+
97+
Visit [cadenceworkflow.io](https://cadenceworkflow.io) to learn more about Cadence. Join us in [Cadence Documentation](https://github.com/cadence-workflow/Cadence-Docs) project. Feel free to raise an Issue or Pull Request there.
98+
99+
### Community
100+
* [Github Discussion](https://github.com/cadence-workflow/cadence/discussions)
101+
* Best for Q&A, support/help, general discusion, and annoucement
102+
* [Github Issues](https://github.com/cadence-workflow/cadence/issues)
103+
* Best for reporting bugs and feature requests
104+
* [StackOverflow](https://stackoverflow.com/questions/tagged/cadence-workflow)
105+
* Best for Q&A and general discusion
106+
* [Slack](http://t.uber.com/cadence-slack)
107+
* Best for contributing/development discussion
108+
109+
110+
## Stars over time
100111
[![Stargazers over time](https://starchart.cc/uber/cadence.svg?variant=adaptive)](https://starchart.cc/uber/cadence)
101112

102113

0 commit comments

Comments
 (0)