-
Notifications
You must be signed in to change notification settings - Fork 149
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
Sync profiling version with tracer; append git sha1 to non-release builds #1992
Conversation
profiling/Cargo.toml
Outdated
@@ -1,9 +1,9 @@ | |||
[package] | |||
name = "datadog-php-profiling" | |||
version = "0.15.0" | |||
version = "0.87.0-alpha.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.
Is it necessary to keep master on a version number, which needs to regularly updated? I'd strongly prefer having something like 1.0.0-nightly
here on master, if possible.
It's not like we're distributing this via cargo anyway...
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.
Customers sometimes run builds from master. I would prefer them to have a real but pre-release version number than being 1.0.0-nightly
all the time.
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.
@morrisonlevi Would it be possible to instead insert the version in the circleci checkout step (for tracer as well then, replacing it in the 3 relevant files via sed
(last version plus 1 appended by the git hash, essentially, giving concrete information about the precise version installed)), or are we talking rather about manual builds from source?
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.
We discussed in person to change our release process so that the version on master is the latest feature release. We'll append +$gitsha
e.g. 0.86.0+a885854666d58b3e06792856f8d32f0a2459bafb
in CI when the branch doesn't start with ddtrace-
. For PECL we'll have to replace +
with -
or just strip it. These PECL builds aren't released anyway, so it doesn't exactly matter, but it will choke on +
.
Also bump rust version in the Cargo.toml file. We had previously already bumped the version in other places and just missed this one.
This is part of a change in our release process. Further changes will be made to append a '+' symbol followed by the build hash.
a885854
to
19dd778
Compare
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.
Generally looks nice to me now :-)
The package extension jobs for the faux-release branch |
d4ddf3e
to
70208f3
Compare
if [[ "$CIRCLE_BRANCH" =~ "ddtrace-" ]] ; then | ||
echo "Release branch detected; not adding git sha1 to version number." | ||
else | ||
sed -E -i "s/const\s+VERSION\s*=\s*'(.*)'/const VERSION = '\1+$githash'/g" "src/DDTrace/Tracer.php" |
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.
Considering this modifies sources, can we easily make it part of the build process ? Like a different makefile target ?
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.
we talked about potential improvements to unify the version management across languages (rust / php / C) which would involve having a make target to propagate version numbers.
Accepting PR for now as this won't change the result of the build.
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.
LTGM
Description
1.0.0-nightly
.Readiness checklist
Tests added for this feature/bug.Reviewer checklist