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

chore(ci): use unified Gitlab pipeline for APM libraries #9930

Merged
merged 40 commits into from
Jul 26, 2024

Conversation

randomanderson
Copy link
Contributor

@randomanderson randomanderson commented Jul 24, 2024

What does this PR do?
Converts the Gitlab workflow to use the unified pipeline.

By using the unified pipeline across all APM libraries, there is less maintenance hassle, fewer mistakes, and a more uniform creation of artifacts.

Additionally, this change creates OCI packages and lib inject images for every dd-trace-py build. Previously, only released versions to pypi were built and tested.

The changes can be summarized as follows:

  • Removing github actions that are now taken over by the unified pipeline
  • Removing Gitlab jobs taken over by the unified pipeline
  • Adding a job to download artifacts from the github build
  • Merging the download artifacts with dependencies from pypi

.gitlab-ci.yml is best reviewed in its final form rather than as a diff.

How to test the change?
The changes were tested manually. CI/CD workflows are notoriously hard to test. Final products the final lib-init image was run through automated onboarding tests. dd-trace-py doesn't have automated tests for OCI images

Checklist

  • PR author has checked that all the criteria below are met
  • The PR description includes an overview of the change
  • The PR description articulates the motivation for the change
  • The change includes tests OR the PR description describes a testing strategy
  • The PR description notes risks associated with the change, if any
  • Newly-added code is easy to change
  • The change follows the library release note guidelines
  • The change includes or references documentation updates if necessary
  • Backport labels are set (if applicable)

Reviewer Checklist

  • Reviewer has checked that all the criteria below are met
  • Title is accurate
  • All changes are related to the pull request's stated goal
  • Avoids breaking API changes
  • Testing strategy adequately addresses listed risks
  • Newly-added code is easy to change
  • Release note makes sense to a user of the library
  • If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment
  • Backport labels are set in a manner that is consistent with the release branch maintenance policy

Copy link
Contributor

CODEOWNERS have been resolved as:

.gitlab/download-dependency-wheels.sh                                   @DataDog/python-guild @DataDog/apm-core-python
.gitlab/download-wheels-from-gh-actions.sh                              @DataDog/python-guild @DataDog/apm-core-python
.gitlab/prepare-oci-package.sh                                          @DataDog/python-guild @DataDog/apm-core-python
.github/workflows/build_deploy.yml                                      @DataDog/python-guild @DataDog/apm-core-python
.gitlab-ci.yml                                                          @DataDog/apm-core-python
lib-injection/dl_wheels.py                                              @DataDog/apm-core-python

@pr-commenter
Copy link

pr-commenter bot commented Jul 24, 2024

Benchmarks

Benchmark execution time: 2024-07-25 16:09:51

Comparing candidate commit 0553e25 in PR branch landerson/one-pipeline with baseline commit 2de06b2 in branch main.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 214 metrics, 2 unstable metrics.

Copy link
Member

@brettlangdon brettlangdon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

very minor, non-blocking, nits, but otherwise lgtm

thanks!

.gitlab/prepare-oci-package.sh Outdated Show resolved Hide resolved
lib-injection/dl_wheels.py Outdated Show resolved Hide resolved
@brettlangdon brettlangdon changed the title CI: Use unified Gitlab pipeline for APM libraries chore(ci): use unified Gitlab pipeline for APM libraries Jul 25, 2024
@brettlangdon
Copy link
Member

you'll need to run hatch run lint:fmt, seems lib-injection/dl_wheels.py is failing linting.

@brettlangdon brettlangdon changed the title chore(ci): use unified Gitlab pipeline for APM libraries chore(ci): use unified Gitlab pipeline for APM libraries Jul 25, 2024
@randomanderson randomanderson enabled auto-merge (squash) July 25, 2024 15:36
@randomanderson randomanderson merged commit 879a733 into main Jul 26, 2024
94 of 95 checks passed
@randomanderson randomanderson deleted the landerson/one-pipeline branch July 26, 2024 07:37
gnufede pushed a commit that referenced this pull request Jul 26, 2024
**What does this PR do?**
Converts the Gitlab workflow to use the unified pipeline.

By using the unified pipeline across all APM libraries, there is less
maintenance hassle, fewer mistakes, and a more uniform creation of
artifacts.

Additionally, this change creates OCI packages and lib inject images for
every `dd-trace-py` build. Previously, only released versions to pypi
were built and tested.

The changes can be summarized as follows:
* Removing github actions that are now taken over by the unified
pipeline
* Removing Gitlab jobs taken over by the unified pipeline
* Adding a job to download artifacts from the github build
* Merging the download artifacts with dependencies from pypi

`.gitlab-ci.yml` is best reviewed in its final form rather than as a
diff.

**How to test the change?**
The changes were tested manually. CI/CD workflows are notoriously hard
to test. Final products the final lib-init image was run through
automated onboarding tests. `dd-trace-py` doesn't have automated tests
for OCI images

## Checklist
- [x] PR author has checked that all the criteria below are met
- The PR description includes an overview of the change
- The PR description articulates the motivation for the change
- The change includes tests OR the PR description describes a testing
strategy
- The PR description notes risks associated with the change, if any
- Newly-added code is easy to change
- The change follows the [library release note
guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html)
- The change includes or references documentation updates if necessary
- Backport labels are set (if
[applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting))

## Reviewer Checklist
- [x] Reviewer has checked that all the criteria below are met 
- Title is accurate
- All changes are related to the pull request's stated goal
- Avoids breaking
[API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces)
changes
- Testing strategy adequately addresses listed risks
- Newly-added code is easy to change
- Release note makes sense to a user of the library
- If necessary, author has acknowledged and discussed the performance
implications of this PR as reported in the benchmarks PR comment
- Backport labels are set in a manner that is consistent with the
[release branch maintenance
policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
@emmettbutler emmettbutler restored the landerson/one-pipeline branch September 5, 2024 15:00
emmettbutler pushed a commit that referenced this pull request Sep 5, 2024
**What does this PR do?**
Converts the Gitlab workflow to use the unified pipeline.

By using the unified pipeline across all APM libraries, there is less
maintenance hassle, fewer mistakes, and a more uniform creation of
artifacts.

Additionally, this change creates OCI packages and lib inject images for
every `dd-trace-py` build. Previously, only released versions to pypi
were built and tested.

The changes can be summarized as follows:
* Removing github actions that are now taken over by the unified
pipeline
* Removing Gitlab jobs taken over by the unified pipeline
* Adding a job to download artifacts from the github build
* Merging the download artifacts with dependencies from pypi

`.gitlab-ci.yml` is best reviewed in its final form rather than as a
diff.

**How to test the change?**
The changes were tested manually. CI/CD workflows are notoriously hard
to test. Final products the final lib-init image was run through
automated onboarding tests. `dd-trace-py` doesn't have automated tests
for OCI images

- [x] PR author has checked that all the criteria below are met
- The PR description includes an overview of the change
- The PR description articulates the motivation for the change
- The change includes tests OR the PR description describes a testing
strategy
- The PR description notes risks associated with the change, if any
- Newly-added code is easy to change
- The change follows the [library release note
guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html)
- The change includes or references documentation updates if necessary
- Backport labels are set (if
[applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting))

- [x] Reviewer has checked that all the criteria below are met
- Title is accurate
- All changes are related to the pull request's stated goal
- Avoids breaking
[API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces)
changes
- Testing strategy adequately addresses listed risks
- Newly-added code is easy to change
- Release note makes sense to a user of the library
- If necessary, author has acknowledged and discussed the performance
implications of this PR as reported in the benchmarks PR comment
- Backport labels are set in a manner that is consistent with the
[release branch maintenance
policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
emmettbutler pushed a commit that referenced this pull request Sep 5, 2024
**What does this PR do?**
Converts the Gitlab workflow to use the unified pipeline.

By using the unified pipeline across all APM libraries, there is less
maintenance hassle, fewer mistakes, and a more uniform creation of
artifacts.

Additionally, this change creates OCI packages and lib inject images for
every `dd-trace-py` build. Previously, only released versions to pypi
were built and tested.

The changes can be summarized as follows:
* Removing github actions that are now taken over by the unified
pipeline
* Removing Gitlab jobs taken over by the unified pipeline
* Adding a job to download artifacts from the github build
* Merging the download artifacts with dependencies from pypi

`.gitlab-ci.yml` is best reviewed in its final form rather than as a
diff.

**How to test the change?**
The changes were tested manually. CI/CD workflows are notoriously hard
to test. Final products the final lib-init image was run through
automated onboarding tests. `dd-trace-py` doesn't have automated tests
for OCI images

- [x] PR author has checked that all the criteria below are met
- The PR description includes an overview of the change
- The PR description articulates the motivation for the change
- The change includes tests OR the PR description describes a testing
strategy
- The PR description notes risks associated with the change, if any
- Newly-added code is easy to change
- The change follows the [library release note
guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html)
- The change includes or references documentation updates if necessary
- Backport labels are set (if
[applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting))

- [x] Reviewer has checked that all the criteria below are met
- Title is accurate
- All changes are related to the pull request's stated goal
- Avoids breaking
[API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces)
changes
- Testing strategy adequately addresses listed risks
- Newly-added code is easy to change
- Release note makes sense to a user of the library
- If necessary, author has acknowledged and discussed the performance
implications of this PR as reported in the benchmarks PR comment
- Backport labels are set in a manner that is consistent with the
[release branch maintenance
policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
emmettbutler pushed a commit that referenced this pull request Sep 5, 2024
**What does this PR do?**
Converts the Gitlab workflow to use the unified pipeline.

By using the unified pipeline across all APM libraries, there is less
maintenance hassle, fewer mistakes, and a more uniform creation of
artifacts.

Additionally, this change creates OCI packages and lib inject images for
every `dd-trace-py` build. Previously, only released versions to pypi
were built and tested.

The changes can be summarized as follows:
* Removing github actions that are now taken over by the unified
pipeline
* Removing Gitlab jobs taken over by the unified pipeline
* Adding a job to download artifacts from the github build
* Merging the download artifacts with dependencies from pypi

`.gitlab-ci.yml` is best reviewed in its final form rather than as a
diff.

**How to test the change?**
The changes were tested manually. CI/CD workflows are notoriously hard
to test. Final products the final lib-init image was run through
automated onboarding tests. `dd-trace-py` doesn't have automated tests
for OCI images

- [x] PR author has checked that all the criteria below are met
- The PR description includes an overview of the change
- The PR description articulates the motivation for the change
- The change includes tests OR the PR description describes a testing
strategy
- The PR description notes risks associated with the change, if any
- Newly-added code is easy to change
- The change follows the [library release note
guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html)
- The change includes or references documentation updates if necessary
- Backport labels are set (if
[applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting))

- [x] Reviewer has checked that all the criteria below are met
- Title is accurate
- All changes are related to the pull request's stated goal
- Avoids breaking
[API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces)
changes
- Testing strategy adequately addresses listed risks
- Newly-added code is easy to change
- Release note makes sense to a user of the library
- If necessary, author has acknowledged and discussed the performance
implications of this PR as reported in the benchmarks PR comment
- Backport labels are set in a manner that is consistent with the
[release branch maintenance
policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
emmettbutler pushed a commit that referenced this pull request Sep 5, 2024
**What does this PR do?**
Converts the Gitlab workflow to use the unified pipeline.

By using the unified pipeline across all APM libraries, there is less
maintenance hassle, fewer mistakes, and a more uniform creation of
artifacts.

Additionally, this change creates OCI packages and lib inject images for
every `dd-trace-py` build. Previously, only released versions to pypi
were built and tested.

The changes can be summarized as follows:
* Removing github actions that are now taken over by the unified
pipeline
* Removing Gitlab jobs taken over by the unified pipeline
* Adding a job to download artifacts from the github build
* Merging the download artifacts with dependencies from pypi

`.gitlab-ci.yml` is best reviewed in its final form rather than as a
diff.

**How to test the change?**
The changes were tested manually. CI/CD workflows are notoriously hard
to test. Final products the final lib-init image was run through
automated onboarding tests. `dd-trace-py` doesn't have automated tests
for OCI images

- [x] PR author has checked that all the criteria below are met
- The PR description includes an overview of the change
- The PR description articulates the motivation for the change
- The change includes tests OR the PR description describes a testing
strategy
- The PR description notes risks associated with the change, if any
- Newly-added code is easy to change
- The change follows the [library release note
guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html)
- The change includes or references documentation updates if necessary
- Backport labels are set (if
[applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting))

- [x] Reviewer has checked that all the criteria below are met
- Title is accurate
- All changes are related to the pull request's stated goal
- Avoids breaking
[API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces)
changes
- Testing strategy adequately addresses listed risks
- Newly-added code is easy to change
- Release note makes sense to a user of the library
- If necessary, author has acknowledged and discussed the performance
implications of this PR as reported in the benchmarks PR comment
- Backport labels are set in a manner that is consistent with the
[release branch maintenance
policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants