-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
ARROW-17353: [Release][R] Validate binaries version #14396
Conversation
|
This is the result of Revision: e17c09b Submitted crossbow builds: ursacomputing/crossbow @ build-685
|
This comment was marked as outdated.
This comment was marked as outdated.
This is the result of Revision: 6505489 Submitted crossbow builds: ursacomputing/crossbow @ build-687
|
@assignUser What do you think about this approach? A normal case #14396 (comment) still use A RC case #14396 (comment) doesn't use Output files are validated by Crossbow in both cases. |
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.
@kou thanks! Do I understand correctly you added the arrow.repo
option so binary verification from the staging area of the artifactory is possible?
The only issue I see is that for R packages the usual convention for dev versions is last.released.version.large_numeric_component
compared with the use of future.release.version.dev_int
in the other components. Changing that might cause confusion in the R nightly users (not sure how big that group is?). cc @nealrichardson
dev/tasks/macros.jinja
Outdated
profile_path <- file.path(getwd(), ".Rprofile") | ||
repo = paste0("file://", getwd(), "/repo") |
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.
nit
repo = paste0("file://", getwd(), "/repo") | |
repo <- paste0("file://", getwd(), "/repo") |
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.
Oh, sorry!
I've fixed.
Correct, I think we should stick with the |
This is the result of Revision: cd8bc0e Submitted crossbow builds: ursacomputing/crossbow @ build-691
|
This is the result of Revision: cd8bc0e Submitted crossbow builds: ursacomputing/crossbow @ build-692
|
No. I added it for using the artifacts (built in the current But we can use it to verify the artifacts at https://apache.jfrog.io/ui/native/arrow/r-rc/ in
OK. I've changed to use |
# version: 10.0.0.dev234 | ||
# r_version: 9.0.0.9000 | ||
# -> 9.0.0.100000234 | ||
r_version = re.sub(r"\.9000\Z", f".{r_version_dev}", r_version) |
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 version is only used for nightly builds (which are uploaded to nightlies.a.o) and for crossbow jobs triggered manually right? Is there a reason we need to move to the "dev version" numbering or could we just use datetime
to stick with the existing YYYYMMDD numbering?
r_version = re.sub(r"\.9000\Z", f".{r_version_dev}", r_version) | |
r_version = re.sub(r"\.9000\Z", f".{date.today().strftime('%Y%m%d')}", r_version) |
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 version is only used for nightly builds (which are uploaded to nightlies.a.o) and for crossbow jobs triggered manually right?
Right.
Is there a reason we need to move to the "dev version" numbering or could we just use
datetime
to stick with the existing YYYYMMDD numbering?
- Consistency:
- Other our nightly packages use the "dev version":
- PyArrow wheels: https://gemfury.com/arrow-nightlies/python:pyarrow
- Conda (Apache Arrow C++/R and PyArrow): https://anaconda.org/arrow-nightlies/repo
- Other our nightly packages use the "dev version":
- To identify the exact commit:
- If we have multiple Apache Arrow R related commits (including Apache Arrow C++ related commits) in a day, we need to extra work to identify the commit of a nightly package with
YYYYMMDD
version. - If we use the "dev version", we can identify the commit of a nightly package without extra work.
- If we have multiple Apache Arrow R related commits (including Apache Arrow C++ related commits) in a day, we need to extra work to identify the commit of a nightly package with
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.
OK I see, thanks for explaining. I have no strong opinion on this. @nealrichardson what do you think?
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.
As long as the x.y.z version number is the same as the current release and the "dev version" in the nightly is > 9000, I don't feel strongly. It's not clear to me how it's less work to turn 100000234 into a specific commit than it is to convert YYYYMMDD--still gotta look that up somewhere--in practice all that matters is that the nightly package version number is greater than last night's release and less than the next major release.
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.
Ah, sorry. "without extra work" is exaggerated...
We need to do the following to show the commit for 1000000234
:
$ git log "master~$[$(git describe --tags master | cut -d- -f4) - (1000000234 - 1000000000)]"
I'll resolve conflict and merge this for 10.0.0.
If we find any problem with this approach, we can try another approach for 11.0.0 or later.
Because R dev version needs previous R release version.
This is the result of Revision: 1c64902 Submitted crossbow builds: ursacomputing/crossbow @ build-693
|
This is the result of Revision: 1c64902 Submitted crossbow builds: ursacomputing/crossbow @ build-694
|
We generate version in Crossbow not CI job. We can use file name validation feature by using version generated by Crossbow. We use "X.Y.Z" version for RC version such as "10.0.0" for "10.0.0-rc1". Authored-by: Sutou Kouhei <[email protected]> Signed-off-by: Sutou Kouhei <[email protected]>
We generate version in Crossbow not CI job.
We can use file name validation feature by using version generated by Crossbow.
We use "X.Y.Z" version for RC version such as "10.0.0" for "10.0.0-rc1".