Skip to content
This repository has been archived by the owner on Jan 31, 2024. It is now read-only.

Latest commit

 

History

History
124 lines (81 loc) · 3.96 KB

CONTRIBUTING.md

File metadata and controls

124 lines (81 loc) · 3.96 KB

Contributing

We welcome your contributions to this project!

Please read the OpenTelemetry Contributor Guide for general information on how to contribute including signing the Contributor License Agreement, the Code of Conduct, and Community Expectations.

Before you begin

Specifications / Guidelines

As with other OpenTelemetry clients, opentelemetry-swift follows the opentelemetry-specification and the library guidelines.

Focus on Capabilities, Not Structure Compliance

OpenTelemetry is an evolving specification, one where the desires and use cases are clear, but the method to satisfy those uses cases are not.

As such, Contributions should provide functionality and behavior that conforms to the specification, but the interface and structure are flexible.

It is preferable to have contributions follow the idioms of the language rather than conform to specific API names or argument patterns in the spec.

For a deeper discussion, see: open-telemetry/opentelemetry-specification#165

Getting started

Everyone is welcome to contribute code via GitHub Pull Requests (PRs).

Fork the repo

Fork the project on GitHub by clicking the Fork button at the top of the repository and clone your fork locally:

git clone git@github.com:YOUR_GITHUB_NAME/opentelemetry-swift.git

or

git clone https://github.com/YOUR_GITHUB_NAME/opentelemetry-swift.git

It can be helpful to add the open-telemetry/opentelemetry-swift repo as a remote so you can track changes (we're adding as upstream here):

git remote add upstream git@github.com:open-telemetry/opentelemetry-swift.git

or

git remote add upstream https://github.com/open-telemetry/opentelemetry-swift.git

For more detailed information on this workflow read the GitHub Workflow.

Build

Open Package.swift in Xcode and follow normal development process.

To build from the command line you need swift version 5.0+.

swift build

Test

Open Package.swift in Xcode and follow normal testing process.

To test from the command line you need swift version 5.0+.

swift test

Make your modifications

Always work in a branch from your fork:

git checkout -b my-feature-branch

Create a Pull Request

You'll need to create a Pull Request once you've finished your work. The Kubernetes GitHub Workflow document has a significant section on PRs.

Open the PR against the `open-telemetry/opentelemetry-swift repository.

Please put [WIP] in the title, or create it as a Draft PR if the PR is not ready for review.

Sign the Contributor License Agreement (CLA)

All PRs are automatically checked for a signed CLA. Your first PR fails this check if you haven't signed the CNCF CLA.

The failed check displays a link to details which walks you through the process. Don't worry it's painless!

Review and feedback

PRs require a review from one or more of the code owners before merge. You'll probably get some feedback from these fine folks which helps to make the project that much better. Respond to the feedback and work with your reviewer(s) to resolve any issues.