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.
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.
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.
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.
🏗 The easiest way to start is to run make
command:
$ make
The workspace for SDK development and integration (tests, benchmarks, example app).
Datadog
and DatadogObjC
source files
DatadogTests
(unit tests), IntegrationTests
, and DatadogBenchmarkTests
(benchmarks) source files
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
Isolated example apps using cocoapods
, carthage
and spm
to ensure SDK is well integrated with all supported dependency managers.