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

Make etc/ci/upload_nightly.sh responsible for putting datetimes into filenames #12128

Closed
aneeshusa opened this issue Jul 1, 2016 · 9 comments
Closed

Comments

@aneeshusa
Copy link
Member

@aneeshusa aneeshusa commented Jul 1, 2016

Part of #11980.

Currently, our Linux and Mac (although not Android) ./mach package builders create files whose name include the date and time of building, which is a source of non-determinism. However, we do want to include the date and time for our nightly builds, so that multiple nightlies can coexist in a folder (e.g. $HOME/downloads) or S3 bucket (e.g. servo-builds). Two parts to this:

  • Make ./mach package output files that always use the same name (e.g. servo.tar.gz). File: python/servo/package_commands.py.
  • Make etc/ci/upload_nightly.sh insert the appropriate date and time when uploading the built nightly to S3. This depends on #12004 landing.

Bonus points (but not required for the E-easy): add a test that changing the date/time (e.g. with a date/time faking library) does not affect the filename or contents of the output.

@highfive
Copy link

@highfive highfive commented Jul 1, 2016

Please make a comment here if you intend to work on this issue. Thank you!

@highfive
Copy link

@highfive highfive commented Jul 1, 2016

@aneeshusa
Copy link
Member Author

@aneeshusa aneeshusa commented Jul 1, 2016

Note that this needs to be fixed at most a day after we start indexing our nightlies so that we don't lose old nightlies.

@imjacobclark
Copy link
Contributor

@imjacobclark imjacobclark commented Jul 1, 2016

Happy to pick this one up also.

@aneeshusa aneeshusa added the C-assigned label Jul 1, 2016
@imjacobclark
Copy link
Contributor

@imjacobclark imjacobclark commented Jul 1, 2016

To clarify, we no longer wish mach package to put date and times on files, rather this be deferred to etc/ci/upload_nightly.sh instead?

@aneeshusa

@aneeshusa
Copy link
Member Author

@aneeshusa aneeshusa commented Jul 1, 2016

Yes, ./mach package should not add a date or time; etc/ci/upload_nightly.sh should include a date and time in the location to which it uploads.

@aneeshusa
Copy link
Member Author

@aneeshusa aneeshusa commented Jul 1, 2016

The test I mentioned will essentially require us to package (twice!), so don't worry about that for now; we need to decide about #12103 first.

@imjacobclark
Copy link
Contributor

@imjacobclark imjacobclark commented Jul 2, 2016

Resolved in: #12163

@KiChjang
Copy link
Member

@KiChjang KiChjang commented Jul 4, 2016

This is not yet resolved until #12163 is merged to the master branch.

bors-servo added a commit that referenced this issue Nov 4, 2016
…es-12128, r=Wafflespeanut

moving datetimestamping responsibilities from mach package

to CI upload, swaps semicolons for dashes

<!-- Please describe your changes on the following line: -->
This fixes #12128 by moving the datetimestamping responsibility from the python packaging script to the CI build shell script.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #12128 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they are part of CI build

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14058)
<!-- Reviewable:end -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.