-
Notifications
You must be signed in to change notification settings - Fork 26
Add nightly dependency bump workflow #479
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
base: main
Are you sure you want to change the base?
Add nightly dependency bump workflow #479
Conversation
I just realized: I updated main build so that it also triggers when pushes are made to the |
This reverts commit 076e529.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not a complete review, just some initial thoughts.
.github/workflows/nightly-build.yml
Outdated
fetch-depth: 0 | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Check if nightly branch already exists |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If there is a branch but there is also a new update (e.g. main is on 0.0.0, the branch is on 0.1.0, and the upstream is 0.2.0) we should overwrite the branch with the new update (0.2.0). OR why don't we create a new branch per version? updates/v<x.y.z>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated to overwrite the same branch. There probably wouldn't be huge utility to separate branches per version if we want to stay up to date with the latest.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only concern is if we are trying to make a release work and a new one comes out - it can overwrite our work.
.github/workflows/main-build.yml
Outdated
- main | ||
- "release/v*" | ||
- ci-workflow | ||
- nightly-dependency-updates |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove this, manually running it from nightly build is better.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's discuss how manual changes would be applied to resolve breaking changes. IMO we would need this to automatically retrigger main build once we push fixes to the nightly build branch.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO, nightly build runs nightly or on-demand, which is sufficient.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed. user workflow is now: open PR, refer to breaking changes if applicable, make/push fixes to branch, and re-run nightly build workflow to run main build again
dependencies = [ | ||
"opentelemetry-api == 1.33.1", | ||
"opentelemetry-sdk == 1.33.1", | ||
"opentelemetry-exporter-otlp == 1.33.1", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added during test run, out of scope. removed
|
||
import requests | ||
|
||
# Dependencies that use the first version number (opentelemetry-python) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't love the duplication.
] | ||
|
||
|
||
def get_latest_version(package_name): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm not sure I strictly agree with this. What if we checked out https://github.com/open-telemetry/opentelemetry-python-* at the latest aligned version and pulled data from package? Just a thought.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is only used for the two packages that don't follow the upstream python or python-contrib versioning. The version file in those packages is one minor version ahead of what's released. (i.e. opentelemetry-sdk-extension-aws latest version is 2.1.0, but its version file uses 2.2.0-dev0)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm ok - just trying to keep it simple & consistent. It would be easier to maintain if we just had one process for all of these dependencies, rather than a bunch of different processes that we have to untangle.
Issue #, if available:
Description of changes:
Add a workflow
nightly-build.yml
with following actions:nightly-dependency-updates
branchExample nightly build PR: #484
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.