Skip to content

Add CI workflow using GitHub Actions #102

@alolita

Description

@alolita

Is your feature request related to a problem?

Currently the OpenTelemetry C++ client (https://github.com/open-telemetry/opentelemetry-cpp) uses CircleCI and a Docker container to automatically build and test the project when pull requests are issued against the master branch of the main repository. The goal of continuous integration is to quickly build and run tests to provide testing feedback and information in a transparent, concise way. CircleCI fails in this regard as it obscures test output and even prevents contributors from running certain tests if they are using a “Free plan” account.

Proposed solution I'd like to see

Using a GitHub actions workflow to run CI pipelines to provide more testing transparency, more control, and an easy-to-use pipeline compared to CircleCI. Additionally, more workflows could be added to GitHub actions to provide services such as code coverage, automatic deployment, and seamless integration with other GitHub services.

Transparency

CircleCI allows anyone to view the console output when building and running tests but the results are not shown anywhere on the GitHub repository. To see testing output: You must go to a different website, navigate a different user interface, then sift through thousands of lines of console output.

In contrast, using GitHub actions would mean that all testing output is located directly on the repository’s GitHub page, making it easier for contributors to find and read.

Control

GitHub Actions’ integration with other GitHub features means you can have finer control over the CI pipeline. For example, certain workflows can be set to only run on a new release. Workflows can even be used to close stale issues and pull requests.

Ease-of-Use

The current CI pipeline using CircleCI will automatically run when pull requests and commits are issued against the main repository. But if a contributor forks the repository, unless they set up a CircleCI account and link it to their repo, CI will not be activated and tests must be run manually by the contributor.

GitHub Actions works out of the box on a forked repository and can be easily configured to run a test workflow each time a commit is issued. This would help individual contributors test their code and ensure high quality before submitting a pull request against the main repository.

Alternatives considered

Currently the OpenTelemetry C++ client (https://github.com/open-telemetry/opentelemetry-cpp) uses CircleCI and a Docker container to automatically build and test the project when pull requests are issued against the master branch of the main repository. However, for the reasons stated above using GitHub Actions workflows for CI would provide a better user experience for all developers contributing to the code base.

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions