Skip to content

Latest commit

 

History

History
73 lines (42 loc) · 3.08 KB

CONTRIBUTING.md

File metadata and controls

73 lines (42 loc) · 3.08 KB

Contributing

First of all, thanks for contributing!

This document provides some basic guidelines for contributing to this repository. To propose improvements, feel free to submit a PR or open an Issue.

Note: Datadog requires that all commits within this repository must be signed, including those within external contribution PRs. Please ensure you have followed GitHub's Signing Commits guide before proposing a contribution. PRs lacking signed commits will not be processed and may be rejected.

Have a feature request or idea?

Many great ideas for new features come from the community, and we'd be happy to consider yours 👍.

To share your idea or request, open a GitHub Issue using dedicated issue template.

Found a bug?

For any urgent matters (such as outages) or issues concerning the Datadog service or UI, contact our support team via https://docs.datadoghq.com/help/ for direct, faster assistance.

You may submit a bug report concerning the Datadog SDK for iOS by opening a GitHub Issue. Use appropriate template and provide all listed details to help us resolve the issue.

Have a patch?

We welcome all code contributions to the library. If you have a patch adding value to the SDK, let us know 💪! Before you submit a Pull Request, make sure that you first create an Issue to explain the bug or the feature your patch covers, then make sure similar Issue or PR doesn't already exist.

Your Pull Request will be run through our CI pipeline, and a project member will review the changes with you. At a minimum, to be accepted and merged, Pull Requests must:

  • have a stated goal and detailed description of the changes made;
  • include thorough test coverage and documentation, where applicable;
  • pass all tests and code quality checks on CI;
  • receive at least one approval from a project member with push permissions.

Make sure that your code is clean and readable, that your commits are small and atomic, with a proper commit message.

Shall we start?

🏗 The easiest way to start is to run make command:

$ make

Repo structure

Datadog.xcworkspace

The workspace for SDK development and integration (tests, benchmarks, example app).

Sources

Datadog and DatadogObjC source files

Tests

DatadogTests (unit tests), IntegrationTests, and DatadogBenchmarkTests (benchmarks) source files

Lint

We're using swiftlint to ensure our codebase follows Swift standard syntax. You can run the lint with our custom rules with the following command line:

$ ./tools/lint/run-linter.sh

In order to apply automatic correction of violations use --fix flag:

$ ./tools/lint/run-linter.sh --fix

Dependency manager tests

Isolated example apps using cocoapods, carthage and spm to ensure SDK is well integrated with all supported dependency managers.