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

Create packages (.tar.gz) under debug/release as appropriate #13551

Closed
aneeshusa opened this issue Oct 3, 2016 · 7 comments
Closed

Create packages (.tar.gz) under debug/release as appropriate #13551

aneeshusa opened this issue Oct 3, 2016 · 7 comments

Comments

@aneeshusa
Copy link
Member

@aneeshusa aneeshusa commented Oct 3, 2016

Currently, some of our packagers create the generated package (.tar.gz file) in the target/ directory. We should have all packages be created under target/release/ or target/debug/, depending on how servo was built.

Files:

  • python/servo/package_commands.py
  • etc/ci/upload_nightly.sh

No need to a write a test, but this should be manually tested by running ./mach package, ensuring that the package appears in the correct place, and running the upload_nightly.sh script to make sure it finds the right package. (Hint: you can prefix the s3cmd lines in the upload script with echo to see what will happen without actually trying to upload the package.)

@highfive
Copy link

@highfive highfive commented Oct 3, 2016

@highfive
Copy link

@highfive highfive commented Oct 3, 2016

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

@leikahing
Copy link
Contributor

@leikahing leikahing commented Oct 3, 2016

I'm new to the Servo project but have a lot of Python and build tooling experience, so I'd be happy with doing this ticket.

@aneeshusa aneeshusa added the C-assigned label Oct 3, 2016
@aneeshusa
Copy link
Member Author

@aneeshusa aneeshusa commented Oct 3, 2016

@birryree It's yours! Let us know if you have any questions.

@jdm
Copy link
Member

@jdm jdm commented Oct 18, 2016

@birryree Have you made any progress on this? Any questions?

@leikahing
Copy link
Contributor

@leikahing leikahing commented Oct 18, 2016

@jdm - Sorry, had been sick for part of the last couple weeks. I just got around to creating an environment for building servo on Linux and I know where my changes should go in.

I do have a question though - should there be a similar change for non-Linux systems? I mainly work on macos and the resulting dmg is packaged under /target as well. I can also probably make changes for Windows-based builds. Or should I just open separate tickets for those and file fixes against those?

@jdm
Copy link
Member

@jdm jdm commented Oct 18, 2016

@birryree It would be great to fix those at the same time!

@aneeshusa aneeshusa changed the title Create Linux packages (.tar.gz) under debug/release as appropriate Create packages (.tar.gz) under debug/release as appropriate Oct 19, 2016
leikahing pushed a commit to leikahing/servo that referenced this issue Oct 20, 2016
…der release/debug directory. Updated etc/ci/upload_nightly.sh to support uploading from either release/debug directory, depending on what was built
leikahing pushed a commit to leikahing/servo that referenced this issue Oct 20, 2016
…to release/debug as specified or detected
leikahing added a commit to leikahing/servo that referenced this issue Oct 20, 2016
leikahing added a commit to leikahing/servo that referenced this issue Oct 20, 2016
…to release/debug as specified or detected. Modify macos packaging to create all packages under release/debug directory. Updated etc/ci/upload_nightly.sh to support uploading from either release/debug directory, depending on what was built
leikahing added a commit to leikahing/servo that referenced this issue Oct 20, 2016
…to release/debug as specified or detected. Modify macos packaging to create all packages under release/debug directory. Updated etc/ci/upload_nightly.sh to support uploading from either release/debug directory, depending on what was built
leikahing pushed a commit to leikahing/servo that referenced this issue Oct 30, 2016
…ackages under release/debug directory. Updated etc/ci/upload_nightly.sh to support uploading from either release directory.
leikahing pushed a commit to leikahing/servo that referenced this issue Oct 30, 2016
…ackages under release/debug directory. Updated etc/ci/upload_nightly.sh to support uploading from either release directory.
leikahing pushed a commit to leikahing/servo that referenced this issue Oct 30, 2016
leikahing pushed a commit to leikahing/servo that referenced this issue Oct 30, 2016
…direct path manipulation using '/' for Mac and Linux platforms
leikahing pushed a commit to leikahing/servo that referenced this issue Nov 4, 2016
…ackages under release/debug directory. Updated etc/ci/upload_nightly.sh to support uploading from either release directory.
leikahing pushed a commit to leikahing/servo that referenced this issue Nov 4, 2016
leikahing pushed a commit to leikahing/servo that referenced this issue Nov 4, 2016
…direct path manipulation using '/' for Mac and Linux platforms
@jdm jdm added the C-has open PR label Nov 4, 2016
leikahing pushed a commit to leikahing/servo that referenced this issue Nov 9, 2016
…ackages under release/debug directory. Updated etc/ci/upload_nightly.sh to support uploading from either release directory.
leikahing pushed a commit to leikahing/servo that referenced this issue Nov 9, 2016
leikahing pushed a commit to leikahing/servo that referenced this issue Nov 9, 2016
…direct path manipulation using '/' for Mac and Linux platforms
bors-servo added a commit that referenced this issue Dec 9, 2016
…aneeshusa

Part of #13551 - Create packages under release/debug directories as appropriate

r? @aneeshusa

This change implements fixes for #13551 for Linux and MacOS targets.

`/python/servo/package_commands.py` was modified so that:
- On MacOS, it creates all intermediate packaging directories like `dmg`, `brew`, and `brew-tmp` under `target/(release|debug)`, rather than in `target` directly.
- On MacOS, all packaging artifacts (`.dmg`, brew `.tar.gz`) are packaged under `target/(release|debug)`, rather than in `target` directly.
- On Linux, the resulting `tar.gz` Servo package is placed under `target/(release|debug)`, rather than in `target`.
- Also did some extra cleanup around path parsing in the MacOS packaging code, to use `os.path` methods rather than straight `'/'` parsing with `split` and `join` where it was applicable.

`/etc/ci/upload_nightly.sh` was modified to:
- Look for artifacts in `target/release` for `mac`, `macbrew`, and `linux` platforms, rather than just `target/`.

---

<!-- 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 #13551
- [x] These changes do not require tests because it is based on CI and packaging tools. They were manually tested for correctness.

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

…lease/debug as specified or detected. Modify macos packaging to create all packages under release/debug directory. Updated etc/ci/upload_nightly.sh to support uploading from either release/debug directory, depending on what was built

<!-- 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/13845)

<!-- Reviewable:end -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

4 participants
You can’t perform that action at this time.