Skip to content

Commit

Permalink
Merge branch 'main' into chore/add-wasm-build
Browse files Browse the repository at this point in the history
  • Loading branch information
cijothomas committed May 18, 2024
2 parents 164809d + 2210d7b commit 1ebadbb
Show file tree
Hide file tree
Showing 242 changed files with 11,833 additions and 11,675 deletions.
3 changes: 3 additions & 0 deletions .cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
"appenders",
"Bhasin",
"Cijo",
"clippy",
"codecov",
"deque",
"Dirkjan",
Expand All @@ -40,6 +41,7 @@
"Kühle",
"Kumar",
"Lalit",
"LIBCLANG",
"msrv",
"Ochtman",
"opentelemetry",
Expand All @@ -48,6 +50,7 @@
"quantile",
"Redelmeier",
"reqwest",
"runtimes",
"rustc",
"Tescher",
"tracerprovider",
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ contact_links:
about: Please ask questions here.
- name: Slack
url: https://cloud-native.slack.com/archives/C03GDP0H023
about: Or the `#otel-rust` channel in the CNCF Slack instance. (Not terribly responsive.)
about: Or the `#otel-rust` channel in the CNCF Slack instance.
- name: "⚠️ Report a security vulnerability"
url: "https://github.com/open-telemetry/opentelemetry-rust/security/advisories/new"
about: "Report a security vulnerability."
Expand Down
3 changes: 0 additions & 3 deletions .github/codecov.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,10 @@ coverage:

ignore:
- "opentelemetry/src/testing" # test harnesses
- "opentelemetry-jaeger/src/testing" # test harness
- "opentelemetry-jaeger/src/exporter/thrift" # auto generated files
- "opentelemetry-otlp/src/proto" # auto generated files
- "opentelemetry-proto/src/proto" # auto generated files
# examples below
- "examples"
- "opentelemetry-jaeger/examples"
- "opentelemetry-zipkin/examples"
- "opentelemetry-otlp/examples"
- "opentelemetry-http/examples"
Expand Down
18 changes: 18 additions & 0 deletions .github/repository-settings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Log of local changes

Maintainers are expected to maintain this log. This is required as per
[OpenTelemetry Community
guidelines](https://github.com/open-telemetry/community/blob/main/docs/how-to-configure-new-repository.md#collaborators-and-teams).

## May 6th 2024

Modified branch protection for main branch to require the following CI checks as
we now added Windows to CI.
test (ubuntu-latest, stable)
test (stable, windows-latest)

## April 30th 2024

Modified branch protection for main branch to require the following CI checks:
docs
test (stable)
76 changes: 45 additions & 31 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,19 @@ jobs:
test:
strategy:
matrix:
# test both stable and beta versions of Rust on ubuntu-latest
os: [ubuntu-latest]
rust: [stable, beta]
runs-on: ubuntu-latest
# test only stable version of Rust on Windows and MacOS
include:
- rust: stable
os: windows-latest
- rust: stable
os: macos-latest
runs-on: ${{ matrix.os }}
steps:
- name: Free disk space
if: ${{ matrix.os == 'ubuntu-latest'}}
run: |
df -h
sudo rm -rf /usr/local/lib/android
Expand All @@ -24,44 +33,46 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions-rs/toolchain@v1
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
components: rustfmt
profile: minimal
- name: "Set rustup profile"
run: rustup set profile minimal
- uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Test
run: ./scripts/test.sh
run: bash ./scripts/test.sh
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions-rs/toolchain@v1
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: rustfmt
profile: minimal
- uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: Lint
run: ./scripts/lint.sh
run: bash ./scripts/lint.sh
external-types:
strategy:
matrix:
example: [opentelemetry, opentelemetry-sdk]
runs-on: ubuntu-latest
example: [opentelemetry, opentelemetry-sdk, opentelemetry-otlp, opentelemetry-zipkin]
runs-on: ubuntu-latest # TODO: Check if this could be covered for Windows. The step used currently fails on Windows.
steps:
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
- uses: dtolnay/rust-toolchain@nightly
with:
toolchain: nightly-2024-02-07
components: rustfmt
override: true
- name: external-type-check
run: |
cargo install cargo-check-external-types
Expand All @@ -70,42 +81,41 @@ jobs:
non-default-examples:
strategy:
matrix:
os: [ windows-latest, ubuntu-latest ]
example: [opentelemetry-otlp/examples/basic-otlp]
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions-rs/toolchain@v1
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: rustfmt
profile: minimal
- uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build
run: |
cd ${{ matrix.example }}
cargo build --verbose
msrv:
runs-on: ubuntu-latest
strategy:
matrix:
os: [ windows-latest, ubuntu-latest ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.65.0
override: true
- uses: dtolnay/rust-toolchain@1.65.0
- name: Patch dependencies versions # some dependencies bump MSRV without major version bump
run: ./scripts/patch_dependencies.sh
run: bash ./scripts/patch_dependencies.sh
- name: Run tests
run: cargo --version &&
cargo test --manifest-path=opentelemetry/Cargo.toml --features trace,metrics,testing &&
cargo test --manifest-path=opentelemetry-jaeger/Cargo.toml --features rt-tokio &&
cargo test --manifest-path=opentelemetry-zipkin/Cargo.toml
cargo-deny:
runs-on: ubuntu-latest
runs-on: ubuntu-latest # This uses the step `EmbarkStudios/cargo-deny-action@v1` which is only supported on Linux
continue-on-error: true # Prevent sudden announcement of a new advisory from failing ci
steps:
- uses: actions/checkout@v4
Expand All @@ -117,12 +127,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
- uses: dtolnay/rust-toolchain@nightly
with:
toolchain: nightly
components: rustfmt
override: true
- uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: doc
run: cargo doc --no-deps --all-features
env:
Expand All @@ -131,16 +141,18 @@ jobs:
coverage:
continue-on-error: true
runs-on: ubuntu-latest
if: ${{ ! contains(github.event.pull_request.labels.*.name, 'dependencies') }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions-rs/toolchain@v1
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: rustfmt,llvm-tools-preview
override: true
- uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: cargo install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
- name: cargo generate-lockfile
Expand All @@ -149,6 +161,8 @@ jobs:
- name: cargo llvm-cov
run: cargo llvm-cov --locked --all-features --workspace --lcov --output-path lcov.info
- name: Upload to codecov.io
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
fail_ci_if_error: true
4 changes: 1 addition & 3 deletions .github/workflows/integration_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,9 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions-rs/toolchain@v1
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: rustfmt
profile: minimal
- uses: arduino/setup-protoc@v3
- name: Run integration tests using docker compose
run: ./scripts/integration_tests.sh
2 changes: 1 addition & 1 deletion .github/workflows/markdown-link-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
- uses: actions/checkout@v4

- name: Install markdown-link-check
run: npm install -g markdown-link-check
run: npm install -g markdown-link-check@3.11.2

- name: Run markdown-link-check
run: |
Expand Down
50 changes: 14 additions & 36 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
The Rust special interest group (SIG) meets weekly on Tuesdays at 9 AM Pacific
Time. The meeting is subject to change depending on contributors'
availability. Check the [OpenTelemetry community
calendar](https://calendar.google.com/calendar/embed?src=google.com_b79e3e90j7bbsa2n2p5an5lf60%40group.calendar.google.com)
calendar](https://github.com/open-telemetry/community?tab=readme-ov-file#calendar)
for specific dates and for Zoom meeting links. "OTel Rust SIG" is the name of
meeting for this group.

Expand All @@ -17,6 +17,15 @@ regardless of your experience level. Whether you're a seasoned OpenTelemetry
developer, just starting your journey, or simply curious about the work we do,
you're more than welcome to participate!

Even though, anybody can contribute, there are benefits of being a member of our
community. See to the [community membership
document](https://github.com/open-telemetry/community/blob/main/community-membership.md)
on how to become a
[**Member**](https://github.com/open-telemetry/community/blob/main/community-membership.md#member),
[**Approver**](https://github.com/open-telemetry/community/blob/main/community-membership.md#approver)
and
[**Maintainer**](https://github.com/open-telemetry/community/blob/main/community-membership.md#maintainer).

## Pull Requests

### Prerequisites
Expand Down Expand Up @@ -65,7 +74,7 @@ Open a pull request against the main
repo.

> **Note**
> It is recommended to run [pre-commit script](precommit.sh) from the root of
> It is recommended to run [pre-commit script](scripts/precommit.sh) from the root of
the repo to catch any issues locally.

### How to Receive Comments
Expand Down Expand Up @@ -137,7 +146,7 @@ OpenTelemetry supports multiple ways to configure the API, SDK and other compone
- Environment variables
- Compiling time configurations provided in the source code

### Experimental/Unstable features:
### Experimental/Unstable features

Use `otel_unstable` feature flag for implementation of specification with [experimental](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.27.0/specification/document-status.md) status. This approach ensures clear demarcation and safe integration of new or evolving features. Utilize the following structure:

Expand All @@ -147,9 +156,10 @@ Use `otel_unstable` feature flag for implementation of specification with [exper
// Your feature implementation
}
```

It's important to regularly review and remove the `otel_unstable` flag from the code once the feature becomes stable. This cleanup process is crucial to maintain the overall code quality and to ensure that stable features are accurately reflected in the main build.

### Optional features:
### Optional features

The potential features include:

Expand All @@ -173,38 +183,6 @@ projects in this workspace.
- Run `cargo bench` - this will run benchmarks to show performance
regressions

## Approvers and Maintainers

For GitHub groups see the [code owners](CODEOWNERS) file.

### Maintainers

* [Cijo Thomas](https://github.com/cijothomas)
* [Harold Dost](https://github.com/hdost)
* [Julian Tescher](https://github.com/jtescher)
* [Zhongyang Wu](https://github.com/TommyCpp)

### Approvers

* [Lalit Kumar Bhasin](https://github.com/lalitb)
* [Shaun Cox](https://github.com/shaun-cox)

### Emeritus

- [Dirkjan Ochtman](https://github.com/djc)
- [Jan Kühle](https://github.com/frigus02)
- [Isobel Redelmeier](https://github.com/iredelmeier)
- [Mike Goldsmith](https://github.com/MikeGoldsmith)

### Become an Approver or a Maintainer

See the [community membership document in OpenTelemetry community
repo](https://github.com/open-telemetry/community/blob/master/community-membership.md).

### Thanks to all the people who have contributed

[![contributors](https://contributors-img.web.app/image?repo=open-telemetry/opentelemetry-rust)](https://github.com/open-telemetry/opentelemetry-rust/graphs/contributors)

## FAQ

### Where should I put third party propagators/exporters, contrib or standalone crates?
Expand Down
Loading

0 comments on commit 1ebadbb

Please sign in to comment.