Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merging missing upstream change into demo #49

Closed
wants to merge 81 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
f25b46f
[ffs] - Allow setting initial feature flag values (#1319)
puckpuck Jan 8, 2024
6a142a7
Update affiliation (#1323)
julianocosta89 Jan 8, 2024
47d9f5d
[cartservice] Bump OTel .NET SDK to 1.7.0 together with other depende…
Kielek Jan 16, 2024
494808a
Re-generate protobuf to fix deprecated go modules (#1321)
tranngoclam Jan 16, 2024
bfc18c7
[loadgenerator and recommendationservice] Update python base image (#…
julianocosta89 Jan 16, 2024
9e624d7
update version numbers (#1331)
austinlparker Jan 16, 2024
ea3fbfd
[grafana] - update grafana to 10.2.3 (#1332)
puckpuck Jan 16, 2024
c5484eb
[currency] - fix rpc.service attribute (#1333)
puckpuck Jan 19, 2024
c1365ed
use GitHub markdown syntax (#1342)
puckpuck Jan 19, 2024
69a28d6
[frontendproxy] enable envoy environment resource detector (#1291)
rlankfo Jan 19, 2024
0051599
[currency] - fix metricreader export and temporality (#1335)
puckpuck Jan 19, 2024
0d9cf78
update to latest helm release (#1341)
puckpuck Jan 20, 2024
9ed7785
[postgres] Define and use image for postgres (#1338)
puckpuck Jan 22, 2024
c9224a9
Update wiki url (#1346)
pankdev Jan 25, 2024
120381a
Fix crashlooping for two services with insufficient privileges on ope…
LouisParkin Jan 29, 2024
022ba90
Add browser traffic in loadgenerator and export traces in frontend (#…
jordibisbal8 Jan 30, 2024
ee7907f
Major version update (version 2.0.0) for OTel Java instrumentation (#…
mviitane Feb 1, 2024
cbea332
Align env variables for OTLP ports (#1353)
mviitane Feb 1, 2024
26b1710
Update dependent services - Collector, Grafana, Jaeger, Prometheus, e…
mviitane Feb 1, 2024
e15affc
[opensearch] - Use opensearch exporter & remove dataprepper (#1356)
puckpuck Feb 2, 2024
b0c1d27
[chore] update Go SDKs, & fix metrics filters and transforms (#1357)
puckpuck Feb 2, 2024
d2eae5f
build(go): upgrade golang:1.21.6 (#1360)
tranngoclam Feb 2, 2024
14bc74a
[chore] update SDKs and remove metric transforms (#1358)
puckpuck Feb 5, 2024
23094bf
always run cleanup job (#1366)
austinlparker Feb 5, 2024
d1575de
[loadgenerator] fix browser traffic enabled flag (#1359)
puckpuck Feb 7, 2024
3a9e507
Bump gradle/wrapper-validation-action from 1.1.0 to 2.0.1 (#1370)
dependabot[bot] Feb 7, 2024
059dfb9
chore(go): update go 1.22 (#1367)
tranngoclam Feb 7, 2024
b8cc894
Bump gradle/wrapper-validation-action from 2.0.1 to 2.1.0 (#1373)
dependabot[bot] Feb 8, 2024
ab6c1a7
[productcatalog] - allow products to be extended (#1363)
puckpuck Feb 9, 2024
1c6b68b
Bump gradle/wrapper-validation-action from 2.1.0 to 2.1.1 (#1376)
dependabot[bot] Feb 13, 2024
1b2214e
build(deps): upgrade go.opentelemetry.io/otel and go.opentelemetry.io…
tranngoclam Feb 14, 2024
2d16971
[chore] fix trace tests (#1377)
puckpuck Feb 14, 2024
e37e626
[cartservice] Bump .NET to 8.0.2 (#1380)
Kielek Feb 14, 2024
371b36f
Add Google Cloud fork to demos list (#1381)
damemi Feb 15, 2024
816ee5a
[currencyservice] Add OTLP logs (#1378)
julianocosta89 Feb 16, 2024
9d77fdf
prep for release (#1379)
austinlparker Feb 16, 2024
e8e3553
refactor(checkoutservice): reuse grpc service client (#1387)
tranngoclam Feb 19, 2024
6eab783
chore: use semantic convention v1.24.0 (#1385)
tranngoclam Feb 19, 2024
59e0528
bump dependencies (#1390)
julianocosta89 Feb 19, 2024
64eb66e
Update trace test sem conv (#1394)
julianocosta89 Feb 20, 2024
6f38f5f
update to 1.8.0 release (#1395)
puckpuck Feb 21, 2024
f9053b7
[chore] make: fix restart, add redeploy targets (#1397)
puckpuck Feb 21, 2024
0d7e94b
[chore] - memory for collector and jaeger (#1396)
puckpuck Feb 21, 2024
1b9b117
[chore]: nightly build and publish (#1398)
puckpuck Feb 21, 2024
6bd2ede
use nightly releases (#1399)
puckpuck Feb 22, 2024
ef31bfd
[chore]: remove integration tests (#1406)
puckpuck Feb 22, 2024
cf7bac7
chore(checkoutservice): add producer interceptor for tracing (#1400)
tranngoclam Feb 24, 2024
e07f5b2
fix(accountingservice): fix graceful shutdown and log issues (#1401)
tranngoclam Feb 26, 2024
3f6958a
only run nightly for main repo (#1407)
puckpuck Feb 26, 2024
ca56690
fix(productcatalogservice): fix graceful shutdown issues (#1402)
tranngoclam Feb 26, 2024
940dfca
Test: Run integration tests on PR approval (#1414)
austinlparker Feb 26, 2024
b1e26c3
[CartService] - Add Host Detector (#1415)
julianocosta89 Feb 27, 2024
0a1ad08
docs(readme): add Dash0 to the list of forks (#1416)
basti1302 Feb 27, 2024
71f0e96
[frontend] update sharp to latest to avoid docker build issue on M1 (…
basti1302 Feb 27, 2024
06f020c
[frontend] fix typo in ShippingGateway (#1418)
basti1302 Mar 1, 2024
b7c7891
fix kafka producer spans (#1428)
puckpuck Mar 2, 2024
71e428b
chore: upgrade go.opentelemetry.io otel and contrib dependencies (#1408)
tranngoclam Mar 2, 2024
c8b8e08
refactor(checkoutservice): use exception.message key from semantic co…
tranngoclam Mar 6, 2024
ce4ad93
Remove Feature Flag Service in favor of OpenFeature + flagd (#1388)
austinlparker Mar 7, 2024
0ac4db7
refactor(checkoutservice): remove unused replace directive (#1431)
tranngoclam Mar 7, 2024
c076a66
[chore]: make stop target for all profiles (#1427)
puckpuck Mar 7, 2024
e82863b
Cache playwright browsers outside root home to allow container to run…
fvlankvelt Mar 7, 2024
0c80094
build protobuf in dockerfile for all services (#1386)
fsolleza Mar 7, 2024
c6f4471
[chore] add Liatrio to list of vendor demos (#1442)
adrielp Mar 9, 2024
78a5078
Update Telemetry Components (#1440)
julianocosta89 Mar 11, 2024
6775060
refactor(accountingservice): refactor accountingservice dockerfile (#…
tranngoclam Mar 12, 2024
87e051d
[Frontend-proxy] Add restart policy to compose files (#1448)
klucsik Mar 13, 2024
5a5eb25
Reset quantity in frontend when product changes (#1447)
austinlparker Mar 13, 2024
def3a4c
Emit load generator logs via OTLP (#1446)
austinlparker Mar 13, 2024
b25c807
refactor(checkoutservice): refactor checkoutservice dockerfile (#1450)
tranngoclam Mar 14, 2024
95f8f29
refactor(productcatalogservice): refactor productcatalogservice docke…
tranngoclam Mar 14, 2024
8605f61
remove axoflow link (#1457)
austinlparker Mar 14, 2024
4862828
[chore] jsonlint (#1454)
julianocosta89 Mar 14, 2024
8de7041
[paymentservice] [checkoutservice] introduce new featureflags (#1449)
EislM0203 Mar 14, 2024
45feab5
Adjust FeatureFlags (#1458)
julianocosta89 Mar 14, 2024
dfa2858
[cartservice] update .NET to .NET 8.0.3 (#1460)
Kielek Mar 15, 2024
5a0f85f
remove reference of featureflag endpoint (#1461)
julianocosta89 Mar 15, 2024
b50be5d
[chore] Add depends_on flagd to all services using it (#1464)
julianocosta89 Mar 15, 2024
c50245e
restrict workflows to otel repo (#1466)
puckpuck Mar 19, 2024
1f538a1
build(deps): upgrade google.golang.org/protobuf v1.33.0 (#1452)
tranngoclam Mar 19, 2024
4b093f7
fix failed_spans typo in grafana dashboards (#1465)
edhjer Mar 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 19 additions & 3 deletions .env
Original file line number Diff line number Diff line change
@@ -1,9 +1,21 @@


# Images
IMAGE_VERSION=1.7.1
# Demo App version
IMAGE_VERSION=1.8.0
IMAGE_NAME=ghcr.io/open-telemetry/demo
TRACETEST_IMAGE_VERSION=v0.14.5
DEMO_VERSION=latest

# Dependent images
COLLECTOR_CONTRIB_IMAGE=otel/opentelemetry-collector-contrib:0.96.0
GRAFANA_IMAGE=grafana/grafana:10.4.0
JAEGERTRACING_IMAGE=jaegertracing/all-in-one:1.55
# must also update version field in /src/grafana/provisioning/datasources/opensearch.yml
OPENSEARCH_IMAGE=opensearchproject/opensearch:2.12.0
POSTGRES_IMAGE=postgres:16.2
PROMETHEUS_IMAGE=quay.io/prometheus/prometheus:v2.50.1
REDIS_IMAGE=redis:7.2-alpine
TRACETEST_IMAGE_VERSION=v0.16.0
TRACETEST_IMAGE=kubeshop/tracetest:${TRACETEST_IMAGE_VERSION}

# Demo Platform
ENV_PLATFORM=local
Expand Down Expand Up @@ -51,6 +63,10 @@ FEATURE_FLAG_SERVICE_HOST=feature-flag-service
FEATURE_FLAG_GRPC_SERVICE_PORT=50053
FEATURE_FLAG_GRPC_SERVICE_ADDR=featureflagservice:${FEATURE_FLAG_GRPC_SERVICE_PORT}

# flagd
FLAGD_HOST=flagd
FLAGD_PORT=8013

# Frontend
FRONTEND_PORT=8080
FRONTEND_ADDR=frontend:${FRONTEND_PORT}
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/assign-reviewers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ on:

jobs:
assign-reviewers:
if: github.repository == 'open-telemetry/opentelemetry-demo'
runs-on: ubuntu-latest
steps:
- uses: dyladan/component-owners@main
Expand Down
17 changes: 4 additions & 13 deletions .github/workflows/build-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ on:

jobs:
build_and_push_images:
if: github.repository == 'open-telemetry/opentelemetry-demo'
runs-on: ubuntu-latest
permissions:
contents: read
Expand Down Expand Up @@ -49,20 +50,12 @@ jobs:
setup-qemu: true
- file: ./src/currencyservice/Dockerfile
tag_suffix: currencyservice
context: ./src/currencyservice
context: ./
setup-qemu: true
- file: ./src/emailservice/Dockerfile
tag_suffix: emailservice
context: ./src/emailservice
setup-qemu: true
# NOTE:
# https://github.com/open-telemetry/opentelemetry-demo/issues/956
# Until dedicated ARM runners are available for GHA we cannot upgrade
# OTP/Elixir versions. Please do not change the OTP/Elixir versions.
- file: ./src/featureflagservice/Dockerfile
tag_suffix: featureflagservice
context: ./
setup-qemu: true
- file: ./src/frontend/Dockerfile
tag_suffix: frontend
context: ./
Expand Down Expand Up @@ -111,10 +104,6 @@ jobs:
tag_suffix: frontend-tests
context: ./
setup-qemu: true
- file: ./test/Dockerfile
tag_suffix: integrationTests
context: ./
setup-qemu: true

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -170,6 +159,8 @@ jobs:
push: ${{ inputs.push }}
tags: |
${{ env.DOCKERHUB_REPO }}:${{ inputs.version }}-${{matrix.file_tag.tag_suffix }}
${{ env.DOCKERHUB_REPO }}:latest-${{matrix.file_tag.tag_suffix }}
${{ env.GHCR_REPO }}:${{ inputs.version }}-${{ matrix.file_tag.tag_suffix }}
${{ env.GHCR_REPO }}:latest-${{ matrix.file_tag.tag_suffix }}
cache-from: type=gha
cache-to: type=gha
2 changes: 1 addition & 1 deletion .github/workflows/gradle-wrapper-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ jobs:
steps:
- uses: actions/checkout@v4

- uses: gradle/wrapper-validation-action@v1.1.0
- uses: gradle/wrapper-validation-action@v2.1.1
17 changes: 17 additions & 0 deletions .github/workflows/nightly-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright The OpenTelemetry Authors
# SPDX-License-Identifier: Apache-2.0
name: Nightly Release

on:
schedule:
# Runs at 00:00 UTC every day
- cron: '0 0 * * *'

jobs:
build_and_push_images:
uses: ./.github/workflows/build-images.yml
if: github.repository == 'open-telemetry/opentelemetry-demo'
with:
push: true
version: nightly-${{ github.run_id }}
secrets: inherit
1 change: 1 addition & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ on:
jobs:
build_and_push_images:
uses: ./.github/workflows/build-images.yml
if: github.repository == 'open-telemetry/opentelemetry-demo'
with:
push: true
version: ${{ github.event.release.tag_name }}
Expand Down
42 changes: 6 additions & 36 deletions .github/workflows/run-integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,48 +3,18 @@
name: Integration Tests

on:
pull_request_target:
branches:
- main
types: [closed]
pull_request_review:
types:
- submitted

jobs:
build_runner:
runs-on: ubuntu-latest
name: "Build Runner"
if: github.event.pull_request.merged == true
steps:
- name: metal-runner-action
uses: equinix-labs/metal-action-runner@v0.1.1
with:
github_token: ${{ secrets.GH_CI_SECRET }}
metal_auth_token: ${{ secrets.METAL_AUTH_TOKEN }}
metal_project_id: ${{ secrets.METAL_PROJECT_ID }}
metro: "da"
plan: "c3.small.x86"
os: "ubuntu_20_04"
run_tests:
needs: build_runner
runs-on: self-hosted
runs-on: ubuntu-latest
name: "Run CI"
if: github.event.review.state == 'APPROVED'
steps:
- name: check out code
uses: actions/checkout@v3
- name: install docker
run: |
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
uses: actions/checkout@v4
- name: run tracetesting
run: |
make build && make run-tracetesting
destroy:
needs: [build_runner, run_tests]
runs-on: ubuntu-latest
name: "Cleanup"
steps:
- name: metal-sweeper-action
uses: equinix-labs/metal-sweeper-action@v0.6.1
with:
authToken: ${{ secrets.METAL_AUTH_TOKEN }}
projectID: ${{ secrets.METAL_PROJECT_ID }}
keepProject: true
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
.DS_Store
\#*\#

docker-compose.override.yml

# Eclipse
.classpath
.project
Expand Down Expand Up @@ -38,6 +40,7 @@ composer.lock
src/frontend/cypress/videos
src/frontend/cypress/screenshots
src/shippingservice/target/
test/tracetesting/tracetesting-vars.yaml

# Ignore copied/generated protobuf files
/src/cartservice/src/protos/
Expand All @@ -51,3 +54,7 @@ src/shippingservice/target/
/src/paymentservice/demo.proto
/src/recommendationservice/demo_pb2*.py
/src/shippingservice/proto/
/src/productcatalogservice/genproto
/src/currencyservice/proto
/src/checkoutservice/genproto
/src/accountingservice/genproto
4 changes: 4 additions & 0 deletions .licenserc.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@
"# Copyright The OpenTelemetry Authors",
"# SPDX-License-Identifier: Apache-2.0"
],
"**/*.sql": [
"-- Copyright The OpenTelemetry Authors",
"-- SPDX-License-Identifier: Apache-2.0"
],
"**/{Dockerfile,Makefile}": [
"# Copyright The OpenTelemetry Authors",
"# SPDX-License-Identifier: Apache-2.0"
Expand Down
104 changes: 101 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,108 @@
# Changelog

Please update changelog as part of any significant pull request. Place short
description of your change into "Unreleased" section. As part of release process
content of "Unreleased" section content will generate release notes for the
release.
description of your change into "Unreleased" section. As part of release
process content of "Unreleased" section content will generate release notes for
the release.

## Unreleased

* [loadgenerator] emit logs via OTLP
([#1446](https://github.com/open-telemetry/opentelemetry-demo/pull/1446))
* [frontend] reset quantity when new product selected
([#1447](https://github.com/open-telemetry/opentelemetry-demo/pull/1447))
* [featureflag] deprecate in favor of flagd
([#1338](https://github.com/open-telemetry/opentelemetry-demo/pull/1388))
* [checkoutservice] add producer interceptor for tracing
([#1400](https://github.com/open-telemetry/opentelemetry-demo/pull/1400))
* [chore] increase memory for Collector and Jaeger
([#1396](https://github.com/open-telemetry/opentelemetry-demo/pull/1396))
* [chore] fix Make targets for restart and redeploy
([#1397](https://github.com/open-telemetry/opentelemetry-demo/pull/1397))
* [chore] add nightly releases
([#1398](https://github.com/open-telemetry/opentelemetry-demo/pull/1398))
* [checkoutservice] add producer interceptor for tracing
([#1400](https://github.com/open-telemetry/opentelemetry-demo/pull/1400))
* [productcatalogservice] fix graceful shutdown issues
([#1402](https://github.com/open-telemetry/opentelemetry-demo/pull/1402))
* [chore] remove unused integration test
([#1406](https://github.com/open-telemetry/opentelemetry-demo/pull/1406))
* [CartService] - Add Host Detector
([#1415](https://github.com/open-telemetry/opentelemetry-demo/pull/1415))
* [chore] - add tests and odd profiles to make stop
([#1427](https://github.com/open-telemetry/opentelemetry-demo/pull/1427))
* [chore] - Update Telemetry Components
([#1440](https://github.com/open-telemetry/opentelemetry-demo/pull/1440))
* [paymentservice] add paymentServiceFailure feature flag
([#1449](https://github.com/open-telemetry/opentelemetry-demo/pull/1449))
* [checkoutservice] add paymentServiceUnreachable feature flag
([#1449](https://github.com/open-telemetry/opentelemetry-demo/pull/1449))
* [Frontend-proxy] Add restart policy to compose file
([#1448](https://github.com/open-telemetry/opentelemetry-demo/pull/1448))
* [cartservice] update .NET to .NET 8.0.3
([#1460](https://github.com/open-telemetry/opentelemetry-demo/pull/1460))

## 1.8.0

* [grafana] update grafana to 10.2.3
([#1332](https://github.com/open-telemetry/opentelemetry-demo/pull/1332))
* [frontendproxy] Enable envoy environment resource detector
([#1291](https://github.com/open-telemetry/opentelemetry-demo/pull/1291))
* [currencyservice] - add package name prefix to `rpc.service` attribute
([#1333](https://github.com/open-telemetry/opentelemetry-demo/pull/1333))
* [currency] fix metric exporter options
([#1335](https://github.com/open-telemetry/opentelemetry-demo/pull/1335))
* [ffspostgres] define and use demo specific postgres image
([#1338](https://github.com/open-telemetry/opentelemetry-demo/pull/1338))
* [loadgenerator, frontend] enable browser traffic in loadgenerator using playwright
([#1345](https://github.com/open-telemetry/opentelemetry-demo/pull/1345))
* [accountingservice] update wiki link
([#1346](https://github.com/open-telemetry/opentelemetry-demo/pull/1346))
* [checkoutservice] update wiki link
([#1346](https://github.com/open-telemetry/opentelemetry-demo/pull/1346))
* [productcatalogservice] update wiki link
([#1346](https://github.com/open-telemetry/opentelemetry-demo/pull/1346))
* [adservice] added group and anonymous read permission to
opentelemetry-javaagent.jar
([#1348](https://github.com/open-telemetry/opentelemetry-demo/pull/1348))
* [frauddetectionservice] added group and anonymous read permission to
opentelemetry-javaagent.jar
([#1348](https://github.com/open-telemetry/opentelemetry-demo/pull/1348))
* [adservice] Major version update for Java instrumentation, version 2.0.0
([#1352](https://github.com/open-telemetry/opentelemetry-demo/pull/1352))
* [frauddetectionservice] Major version update for Java instrumentation,
version 2.0.0
([#1352](https://github.com/open-telemetry/opentelemetry-demo/pull/1352))
* [kafka] Major version update for Java instrumentation, version 2.0.0
([#1352](https://github.com/open-telemetry/opentelemetry-demo/pull/1352))
* Align env variables for OTLP ports
([#1353](https://github.com/open-telemetry/opentelemetry-demo/pull/1353))
* Update dependent services - Collector, Grafana, Jaeger, Prometheus, etc.
([#1354](https://github.com/open-telemetry/opentelemetry-demo/pull/1354))
* [OpenSearch] Use native OpenSearch exporter from Collector
([#1356](https://github.com/open-telemetry/opentelemetry-demo/pull/1356))
* Update GO SDKs & fix metrics config
([#1357](https://github.com/open-telemetry/opentelemetry-demo/pull/1357))
* Update Python SDKs
([#1358](https://github.com/open-telemetry/opentelemetry-demo/pull/1358))
* [loadgenerator] fix browser traffic enabled flag
([#1359](https://github.com/open-telemetry/opentelemetry-demo/pull/1359))
* [productcatalog] allow products to be extended
([#1363](https://github.com/open-telemetry/opentelemetry-demo/pull/1363))
* [tests] update trace based tests for semantic conventions
([#1377](https://github.com/open-telemetry/opentelemetry-demo/pull/1377))
* [currencyservice] Add OTLP logs
([#1378](https://github.com/open-telemetry/opentelemetry-demo/pull/1378))
* [cartservice] update .NET to .NET 8.0.2
([#1380](https://github.com/open-telemetry/opentelemetry-demo/pull/1380))

## 1.7.2

* [cartservice] update .NET package to 1.7.0 release
([#1326](https://github.com/open-telemetry/opentelemetry-demo/pull/1326))
* [loadgenerator and recommendationservice] Update python base image
([#1329](https://github.com/open-telemetry/opentelemetry-demo/pull/1329))

## 1.7.1

* [grafana] revert to 10.2.0
Expand All @@ -16,6 +112,8 @@ release.
([#1313](https://github.com/open-telemetry/opentelemetry-demo/pull/1313))
* [accountingservice] Update dependencies and semconv
* ([#1316](https://github.com/open-telemetry/opentelemetry-demo/pull/1316))
* [featureflagservice] Allow setting initial feature flag values
([#1319](https://github.com/open-telemetry/opentelemetry-demo/pull/1319))

## 1.7.0

Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ GitHub pull requests (PRs).

To create a new PR, fork the project in GitHub and clone the upstream repo:

> **Note**
> [!NOTE]
> Please fork to a personal GitHub account rather than a corporate/enterprise
> one so maintainers can push commits to your branch.
> **Pull requests from protected forks will not be accepted.**
Expand Down
Loading
Loading