-
Notifications
You must be signed in to change notification settings - Fork 95
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: Update README, add CONTRIBUTING and cla docs
- Loading branch information
Jonathan Thurman
committed
Dec 20, 2019
1 parent
6e7d2a9
commit 7a57fa9
Showing
3 changed files
with
97 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# Contributing | ||
|
||
Contributions are always welcome. Before contributing please read the | ||
[code of conduct](blog/master/CODE_OF_CONDUCT.md) and [search the issue tracker](issues); your issue may have already been discussed or fixed in `master`. To contribute, | ||
[fork](https://help.github.com/articles/fork-a-repo/) this repository, commit your changes, and [send a Pull Request](https://help.github.com/articles/using-pull-requests/). | ||
|
||
Note that our [code of conduct](blog/master/CODE_OF_CONDUCT.md) applies to all platforms and venues related to this project; please follow it in all your interactions with the project and its participants. | ||
|
||
## Feature Requests | ||
|
||
Feature requests should be submitted in the [Issue tracker](issues), with a description of the expected behavior & use case, where they’ll remain closed until sufficient interest, [e.g. :+1: reactions](https://help.github.com/articles/about-discussions-in-issues-and-pull-requests/), has been [shown by the community](issues?q=label%3A%22votes+needed%22+sort%3Areactions-%2B1-desc). | ||
Before submitting an Issue, please search for similar ones in the | ||
[closed issues](issues?q=is%3Aissue+is%3Aclosed+label%3Aenhancement). | ||
|
||
## Pull Requests | ||
|
||
1. Ensure any install or build dependencies are removed before the end of the layer when doing a build. | ||
2. Increase the version numbers in any examples files and the README.md to the new version that this Pull Request would represent. The versioning scheme we use is [SemVer](http://semver.org/). | ||
3. You may merge the Pull Request in once you have the sign-off of two other developers, or if you do not have permission to do that, you may request the second reviewer to merge it for you. | ||
|
||
## Contributor License Agreement | ||
|
||
Keep in mind that when you submit your Pull Request, you'll need to sign the CLA via the click-through using CLA-Assistant. If you'd like to execute our corporate CLA, or if you have any questions, please drop us an email at [email protected]. | ||
|
||
For more information about CLAs, please check out Alex Russell’s excellent post, | ||
[“Why Do I Need to Sign This?”](https://infrequently.org/2008/06/why-do-i-need-to-sign-this/). | ||
|
||
# Slack | ||
|
||
For contributors and maintainers of open source projects hosted by New Relic, we host a public Slack with a channel dedicated to this project. If you are contributing to this project, you're welcome to request access to that community space. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,58 +1,77 @@ | ||
# newrelic-client-go | ||
|
||
[![CircleCI](https://circleci.com/gh/newrelic/newrelic-client-go.svg?style=svg)](https://circleci.com/gh/newrelic/newrelic-client-go) | ||
[![Go Report Card](https://goreportcard.com/badge/github.com/newrelic/newrelic-client-go?style=flat-square)](https://goreportcard.com/report/github.com/newrelic/newrelic-client-go) | ||
[![Go Doc](https://img.shields.io/badge/godoc-reference-blue.svg?style=flat-square)](http://godoc.org/github.com/newrelic/newrelic-client-go) | ||
[![Release](https://img.shields.io/github/release/newrelic/newrelic-client-go?style=flat-square)](https://github.com/newrelic/newrelic-client-go/releases/latest) | ||
|
||
## Auto-versioning | ||
|
||
The `Makefile` will automatically pull the version from the latest `git tag` and pass that through to the linker. To use this feature, do the following: | ||
The New Relic Client provides the building blocks for tools in the [Developer Toolkit](https://newrelic.github.io/developer-toolkit/), enabling quick access to the suite of New Relic APIs. As a library, it can also be leveraged within your own custom applications. | ||
|
||
### Add a 'Version' to your main package | ||
|
||
``` | ||
package main | ||
## Community | ||
|
||
import "fmt" | ||
New Relic hosts and moderates an online forum where customers can interact with New Relic employees as well as other customers to get help and share best practices. | ||
|
||
var ( | ||
// Version is your app version (updated by Makefile, don't forget to TAG YOUR RELEASE) | ||
Version = "undefined" | ||
) | ||
* [Roadmap](https://newrelic.github.io/developer-toolkit/roadmap/) - As part of the Developer Toolkit, the roadmap for this project follows the same RFC process | ||
* [Issues or Enhancement Requests](https://github.com/newrelic/newrelic-client-go/issues) - Issues and enhancement requests can be submitted in the Issues tab of this repository. Please search for and review the existing open issues before submitting a new issue. | ||
* [Contributors Guide](CONTRIBUTING.md) - Contributions are welcome (and if you submit a Enhancement Request, expect to be invited to contribute it yourself :grin:). | ||
* [Community discussion board](https://discuss.newrelic.com/c/build-on-new-relic/developer-toolkit) - Like all official New Relic open source projects, there's a related Community topic in the New Relic Explorers Hub. | ||
|
||
func main() { | ||
fmt.Printf("Example App version: %s\n", Version) | ||
} | ||
``` | ||
Keep in mind that when you submit your pull request, you'll need to sign the CLA via the click-through using CLA-Assistant. If you'd like to execute our corporate CLA, or if you have any questions, please drop us an email at [email protected]. | ||
|
||
|
||
## Development | ||
|
||
### Requirements | ||
|
||
### Create a tag before you build your release | ||
* Go 1.13.0+ | ||
* GNU Make | ||
* git | ||
|
||
For example, to make a version 0.0.1: | ||
|
||
### Building | ||
|
||
This package does not generate any direct usable assets (it's a library). You can still run the build scripts to validate you code, and generate coverage information. | ||
|
||
``` | ||
git tag v0.0.1 | ||
# Default target is 'build' | ||
$ make | ||
# Explicitly run build | ||
$ make build | ||
# Locally test the CI build scripts | ||
# make build-ci | ||
``` | ||
|
||
### Example Version Strings | ||
|
||
### Testing | ||
|
||
Before contributing, all linting and tests must pass. Tests can be run directly via: | ||
|
||
``` | ||
# Tests and Linting | ||
$ make test | ||
``` | ||
# No Tags (latest sha): | ||
Example App version: g1de6b99 | ||
|
||
# Clean tag: | ||
Example App version: v0.0.3 | ||
### Documentation | ||
|
||
# Latest tag: v0.0.3 | ||
# One commit has passed since that tag | ||
# SHA of current commit | ||
Example App version: v0.0.3-1-g1de6b99 | ||
**Note:** This requires the repo to be in your GOPATH [(godoc issue)](https://github.com/golang/go/issues/26827) | ||
|
||
# Local changes, uncommited | ||
Example App version: v0.0.3-1-g1de6b99-dirty | ||
``` | ||
$ make docs | ||
``` | ||
|
||
|
||
## Support | ||
|
||
New Relic has open-sourced this project. This project is provided AS-IS WITHOUT WARRANTY OR SUPPORT, although you can report issues and contribute to the project here on GitHub. | ||
|
||
_Please do not report issues with this software to New Relic Global Technical Support._ | ||
|
||
|
||
### Notes | ||
## Open Source License | ||
|
||
* If you have NO commits, make will fail... Solve this with an initial commit in the repo: `git commit -m 'Initial commit'` | ||
* If you do not create a tag, you will get the sha as the version | ||
* If you have uncommitted changes, your version will end with `-dirty` (i.e. `v1.2.3-dirty`) | ||
This project is distributed under the [Apache 2 license](LICENSE). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# NEW RELIC, INC. | ||
## INDIVIDUAL CONTRIBUTOR LICENSE AGREEMENT | ||
Thank you for your interest in contributing to the open source projects of New Relic, Inc. (“New Relic”). In order to clarify the intellectual property license granted with Contributions from any person or entity, New Relic must have a Contributor License Agreement ("Agreement") on file that has been signed by each Contributor, indicating agreement to the license terms below. This Agreement is for your protection as a Contributor as well as the protection of New Relic; it does not change your rights to use your own Contributions for any other purpose. | ||
|
||
You accept and agree to the following terms and conditions for Your present and future Contributions submitted to New Relic. Except for the licenses granted herein to New Relic and recipients of software distributed by New Relic, You reserve all right, title, and interest in and to Your Contributions. | ||
|
||
## Definitions. | ||
1. "You" (or "Your") shall mean the copyright owner or legal entity authorized by the copyright owner that is entering into this Agreement with New Relic. For legal entities, the entity making a Contribution and all other entities that control, are controlled by, or are under common control with that entity are considered to be a single Contributor. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. | ||
2. "Contribution" shall mean any original work of authorship, including any modifications or additions to an existing work, that is intentionally submitted by You to New Relic for inclusion in, or documentation of, any of the products managed or maintained by New Relic (the "Work"). For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to New Relic or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, New Relic for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by You as "Not a Contribution." | ||
3. Grant of Copyright License. Subject to the terms and conditions of this Agreement, You hereby grant to New Relic and to recipients of software distributed by New Relic a perpetual, worldwide, non-exclusive, no-charge, royalty-free, transferable, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works. | ||
4. Grant of Patent License. Subject to the terms and conditions of this Agreement, You hereby grant to New Relic and to recipients of software distributed by New Relic a perpetual, worldwide, non-exclusive, no-charge, royalty-free, transferable, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by You that are necessarily infringed by Your Contributions alone or by combination of Your Contribution(s) with the Work to which such Contribution(s) was submitted. If any entity institutes patent litigation against You or any other entity (including a cross-claim or counterclaim in a lawsuit) alleging that Your Contribution, or the Work to which You have contributed, constitutes direct or contributory patent infringement, then any patent licenses granted to that entity under this Agreement for that Contribution or Work shall terminate as of the date such litigation is filed. | ||
5. You represent that You are legally entitled to grant the above licenses. If Your employer(s) has rights to intellectual property that You create that includes Your Contributions, You represent that You have received permission to make Contributions on behalf of that employer, that Your employer has waived such rights for Your Contributions to New Relic, or that Your employer has executed a separate Agreement with New Relic. | ||
6. You represent that each of Your Contributions is Your original creation (see section 7 for submissions on behalf of others). You represent that Your Contribution submissions include complete details of any third-party license or other restriction (including, but not limited to, related patents and trademarks) of which You are personally aware and which are associated with any part of Your Contributions. | ||
7. You are not expected to provide support for Your Contributions, except to the extent You desire to provide support. You may provide support for free, for a fee, or not at all. Unless required by applicable law or agreed to in writing, You provide Your Contributions on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON- INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. | ||
8. Should You wish to submit work that is not Your original creation, You may submit it to New Relic separately from any Contribution, identifying the complete details of its source and of any license or other restriction (including, but not limited to, related patents, trademarks, and license agreements) of which You are personally aware, and conspicuously marking the work as "Submitted on behalf of a third-party: [named here]". | ||
9. You agree to notify New Relic of any facts or circumstances of which You become aware that would make these representations inaccurate in any respect. |