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

ci: automate package version updates #10264

Merged
merged 49 commits into from
Aug 23, 2024
Merged

Conversation

quinna-h
Copy link
Contributor

@quinna-h quinna-h commented Aug 16, 2024

  • Calls scripts/freshvenvs to generate a list of "outdated" packages (packages where we don't test the full range from MIN_SUPPORTED_VERSION to MAX_SUPPORTED_VERSION)
  • Automate regenerating riot requirements.txt files for each out-of-date packages
  • Gets called in GH workflow weekly cron job
    - Can adjust frequency / time - currently Sunday midnight
  • TODO: open a new PR for every venv with outdated versions - right now it stops at one.

Testing:

Github Actions workflows: https://github.com/DataDog/dd-trace-py/actions/workflows/generate-package-versions.yml
Example PR: #10333

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

github-actions bot commented Aug 16, 2024

CODEOWNERS have been resolved as:

.github/workflows/generate-package-versions.yml                         @DataDog/python-guild @DataDog/apm-core-python
scripts/freshvenvs.py                                                   @DataDog/apm-core-python
scripts/regenerate-riot-latest.sh                                       @DataDog/apm-core-python

@emmettbutler emmettbutler self-requested a review August 16, 2024 18:03
@pr-commenter
Copy link

pr-commenter bot commented Aug 16, 2024

Benchmarks

Benchmark execution time: 2024-08-23 17:32:13

Comparing candidate commit 0af3eb6 in PR branch quinna.halim/regenerate-riot-latests with baseline commit 05b2bbe in branch main.

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

@quinna-h quinna-h marked this pull request as ready for review August 19, 2024 17:38
@quinna-h quinna-h requested review from a team as code owners August 19, 2024 17:38
@quinna-h quinna-h requested a review from a team as a code owner August 19, 2024 18:10
@quinna-h quinna-h requested a review from wconti27 August 19, 2024 18:10
@quinna-h quinna-h marked this pull request as draft August 19, 2024 18:17
@quinna-h quinna-h changed the title ci: add script to update package latests ci: automate package version updates Aug 19, 2024
Copy link
Collaborator

@romainkomorndatadog romainkomorndatadog left a comment

Choose a reason for hiding this comment

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

Logic makes sense to me. I have a couple of non-blocking nits.

.github/workflows/generate-package-versions.yml Outdated Show resolved Hide resolved
scripts/update-latest.py Outdated Show resolved Hide resolved
scripts/update-latest.py Outdated Show resolved Hide resolved
Copy link
Contributor

@P403n1x87 P403n1x87 left a comment

Choose a reason for hiding this comment

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

just a few nits

scripts/freshvenvs.py Outdated Show resolved Hide resolved
scripts/freshvenvs.py Outdated Show resolved Hide resolved
scripts/freshvenvs.py Outdated Show resolved Hide resolved
scripts/freshvenvs.py Outdated Show resolved Hide resolved
scripts/freshvenvs.py Outdated Show resolved Hide resolved
@quinna-h quinna-h marked this pull request as ready for review August 22, 2024 15:49
Copy link
Collaborator

@emmettbutler emmettbutler left a comment

Choose a reason for hiding this comment

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

This is great progress. I mentioned a bit of complexity that will need to be addressed, but I don't think it needs to happen before this change is merged.

scripts/regenerate-riot-latest.sh Show resolved Hide resolved
@quinna-h quinna-h added the changelog/no-changelog A changelog entry is not required for this PR. label Aug 23, 2024
Copy link
Contributor

@bouwkast bouwkast left a comment

Choose a reason for hiding this comment

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

Great work!

(Defer to the python experts for python code review 😄)

I just had a few nitpicks on the generated PR title/body - real small stuff

@quinna-h quinna-h enabled auto-merge (squash) August 23, 2024 15:33
@quinna-h quinna-h merged commit 9ec7bfc into main Aug 23, 2024
159 checks passed
@quinna-h quinna-h deleted the quinna.halim/regenerate-riot-latests branch August 23, 2024 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog/no-changelog A changelog entry is not required for this PR.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants