Commit graph

907 commits

Author SHA1 Message Date
bors-servo
44af5ea2e4 Auto merge of #14601 - Wafflespeanut:osmesa, r=emilio
Raise warning when OSMesa path is not set

In Ubuntu 14.04, I still get crashes due to non-existence of OsMesa library (#13515). It turned out that sometimes I have paths like `osmesa-src-<hash>` without `out/lib/gallium`. Now, we raise a warning whenever we don't find a proper path.

---
<!-- 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

<!-- Either: -->
- [x] These changes do not require tests because it's related to mach.

<!-- 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/14601)
<!-- Reviewable:end -->
2016-12-15 07:42:30 -08:00
Ravi Shankar
000d46490e Warn when OSMesa library path cannot be set 2016-12-15 18:53:14 +05:30
bors-servo
d6788a5048 Auto merge of #13650 - UK992:win32, r=larsbergstrom
Define NATIVE_WIN32_PYTHON environment variable

r? @Wafflespeanut or @larsbergstrom

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

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

<!-- Reviewable:end -->
2016-12-15 05:14:16 -08:00
Xidorn Quan
af487f5730 Auto-update in-tree bindings 2016-12-15 21:33:14 +11:00
bors-servo
75c869d508 Auto merge of #14251 - vvuk:servobuild-rustflags, r=ConnorGBrewster
Support build.rustflags in .servobuild

Add ability to specify rustflags in .servobuild.

<!-- 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/14251)
<!-- Reviewable:end -->
2016-12-13 16:55:12 -08:00
bors-servo
ced1199c61 Auto merge of #14531 - UK992:win32-installer, r=larsbergstrom
Various Windows installer fixes and improvements

r? @metajack or @larsbergstrom

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

<!-- 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/14531)
<!-- Reviewable:end -->
2016-12-12 13:07:25 -08:00
Xidorn Quan
1cefd1bef0 Do build-time bindgen
Majority of build_gecko.rs is just the straightforward conversion from
regen.py. There are two differences that:
1. Side in whitelist is changed to mozilla::Side
2. std::atomic__My_base is added to opaque types for Windows
2016-12-10 00:33:41 -10:00
UK992
10cf2e1f39 Add Windows support for mach install 2016-12-10 02:04:41 +01:00
bors-servo
4cb3404c09 Auto merge of #13845 - birryree:package-under-target-profile-dirs, r=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 -->
2016-12-09 14:46:14 -08:00
William Lee
6a7fb6cd2b Package macos/Linux builds under release/debug dirs
This commit updates the 'mach package' command to generate output
under the target/release and target/debug directories when run on
macOS and Linux.

etc/ci/upload_nightly.sh has also been updated to upload packages from
the release/debug directories.
2016-12-09 15:28:39 -05:00
William Lee
d4e986023a Cleanup path manipulations under macOS/Linux
Path manipulation has been changed from using '/' to using
os.path functions for packaging code for macOS and Linux targets.
2016-12-09 15:28:29 -05:00
bors-servo
21ad1c2109 Auto merge of #14051 - birryree:tidy-check-buildbot-steps, r=aneeshusa
Adding linting checks for buildbot_steps.yml

This pull request adds some tidy checks around YAML files, and specifically `buildbot_steps.yml`.

Tidy checks added:

* YAML files are checked for well-formedness/parse-ability
* Whether a YAML file has duplicate keys
* Whether a `buildbot_steps.yml` file contains only mappings to list-of-strings.

---
<!-- 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 #13838 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR

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

…ing checking for correct mappings and duplicate YAML keys. Added unit tests to test_tidy.py.

<!-- 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/14051)
<!-- Reviewable:end -->
2016-12-08 17:39:44 -08:00
William Lee
aceb60ec1d Add tidy linting checks for buildbot_steps.yml
This commit adds tidy checks for buildbot_steps.yml, as well as unit
tests. These checks include:

* Checking buildbot_steps.yml can be parsed by a YAML loader
* buildbot_steps.yml does not contain duplicate keys
* buildbot_steps.yml keys map to a list of strings
2016-12-08 20:36:13 -05:00
mati865
02b2b9ccbc use MSVC toolchain if PLATFORM is defined 2016-12-07 19:10:13 +01:00
Simon Sapin
f5af40d694 Upgrade to cargo 0.16.0-nightly (built 2016-12-06)
Instead of once per day (or night) with a date in the URL,
Cargo binaries are now built and published for every merge to master
(with the merge commit hash in the URL).
2016-12-06 12:40:40 -10:00
bors-servo
ea59e7bb68 Auto merge of #14452 - PeterZhizhin:upgrade-pip-with-new-virtualenv, r=frewsxcv
Commit that fixes the issue #11074 by upgrading pip whenever virtuale…

<!-- Please describe your changes on the following line: -->
I have kind of resolved the issue #11074 by adding bool variable which is set to `True` if we had created the virtualenv and `False` otherwise.

Then it updates pip by executing `pip install --upgrade pip` in the same way as packages are updated. I am a little bit worried that I have almost duplicated the installation routine from the `for` loop but I am not sure whether I should add a function or not.

I think it is the best way of doing this because it does not need any Internet access for regular work (only for the first time you execute mach) as @larsbergstrom worried [here](https://github.com/servo/servo/pull/11149). It also doesn't add any extra latency on a no-op build.

I have checked the solution inside a docker container based on debian wheezy. Before the patch `./mach` failed to run because it wasn't able to install some packages. Now it runs successfully.

---
<!-- 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 #11074 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it changes only mach_bootstrap.py

<!-- 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/14452)
<!-- Reviewable:end -->
2016-12-03 21:11:48 -08:00
bors-servo
da15790e41 Auto merge of #14450 - SijmenSchoon:master, r=Wafflespeanut
Implement tidy commit message test

<!-- Please describe your changes on the following line: -->
Makes tidy check commit messages since the latest merge, failing if one of them contains the string "WIP".

I have written a test for my changes, although it is a bit hacky.

---
<!-- 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 #14388.

<!-- Either: -->
- [x] These changes do not require tests because this would require playing with a new/existing git repo

<!-- 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/14450)
<!-- Reviewable:end -->
2016-12-03 14:15:22 -08:00
Sijmen Schoon
42e675942c Implement tidy commit message test
Tests for work in progress commits.
2016-12-03 19:52:59 +01:00
Peter
044b5ff26b Commit that fixes the issue #11074 by upgrading pip whenever virtualenv is created. 2016-12-03 20:07:11 +03:00
bors-servo
bd5eef58a2 Auto merge of #14379 - kimsnj:run-headless, r=jdm
Use software rendering when running servo in headless mode

<!-- Please describe your changes on the following line: -->
Properly setting environment to use OsMesa in headless mode.

---
<!-- 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 #13515

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because I manually ran: `./mach run -d tests/html/about-mozilla.html -z`

<!-- 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/14379)
<!-- Reviewable:end -->
2016-12-03 07:55:24 -08:00
Shing Lyu
ddd03229e0 Add an option to submit test-perf result to perfherder 2016-12-01 10:23:27 +08:00
Manish Goregaokar
38474f8671 Use intermittents tracker on build.s.o 2016-11-30 14:03:31 -08:00
Manish Goregaokar
c23ea67af7 Add a log of only intermittents 2016-11-28 16:46:33 -08:00
bors-servo
4021d057c9 Auto merge of #14331 - Manishearth:filter-intermittents, r=larsbergstrom,jdm
Add ./mach filter-intermittents for catching intermittents on CI

cc @metajack

The plan here is to run this on the error summary of the logs after each WPT/CSS run, as `./mach filter-intermittents wpt-errorsummary.log --output filtered-errorsummary.log --auth /path/to/authfile`

The `filtered-errorsummary.log` file will be a buildbot artifact for this run, and can be used for updating test results.

We change WPT/CSS runs to not cause test failures on Buildbot; instead; the test failure will be caused by this job.

We should at some point add a separate highfive task which ccs the appropriate bugs and tracks consistent failures. (We can change mach filter-intermittents to output a second file of intermittents matched to bug numbers to make this easy)

A small issue with this is that this simple task might mask failures of the WPT harness itself. We have a separate test that tests if the test harness works though. (This test will fail if the log files it requires don't exist, perhaps that's enough to solve the problem)

r? @larsbergstrom

<!-- 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/14331)
<!-- Reviewable:end -->
2016-11-28 15:18:04 -08:00
Manish Goregaokar
f42ce6de92 Use log- prefix for filtered log arg so that buildbot picks it up and uploads as an artefact 2016-11-28 14:28:30 -08:00
Manish Goregaokar
c0c65ea637 Use jdm's tracker 2016-11-28 13:29:10 -08:00
Manish Goregaokar
4f021d3c53 Run filter-intermittents on buildbot 2016-11-28 10:15:19 -08:00
bors-servo
eb7032f6dd Auto merge of #14381 - servo:workspaces, r=SimonSapin
Move to Cargo workspaces

<!-- 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/14381)
<!-- Reviewable:end -->
2016-11-28 01:44:40 -08:00
Anthony Ramine
dfb35db6d3 Move to Cargo workspaces 2016-11-28 09:44:20 +01:00
Anthony Ramine
4d98e88073 Revert temporary commit used to debug something in #14225
This reverts commit a3f1267d70.
2016-11-27 22:59:55 +01:00
KimSnj
b5b76e8053 Use software rendering when running servo in headless mode 2016-11-27 18:15:51 +01:00
Anthony Ramine
a3f1267d70 WIP 2016-11-27 12:19:48 +01:00
Manish Goregaokar
4b4421c365 Add ./mach filter-intermittents for catching intermittents on CI 2016-11-22 17:14:11 -08:00
Vladimir Vukicevic
a82be9ffb4 Support build.rustflags in .servobuild 2016-11-21 09:25:31 -05:00
Xidorn Quan
63ec96a57d Use msvc toolchain when in Visual Studio env 2016-11-21 17:47:21 +11:00
bors-servo
73cbe61d56 Auto merge of #14281 - mbrubeck:mach-doc-fix, r=Manishearth
Run cargo doc in the ports/servo directory

Running it in components/servo isn't guaranteed to work because there's no Cargo.lock checked in there.  Followup to #14254.

<!-- 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/14281)
<!-- Reviewable:end -->
2016-11-19 15:01:40 -06:00
Matt Brubeck
02f189060c Run cargo doc in the ports/servo directory
Running it in components/servo isn't guaranteed to work because there's
no Cargo.lock checked in there.  Followup to #14254.
2016-11-18 11:07:38 -08:00
Dzmitry Malyshau
f43c28535b Updated cargo paths for the python script
Related to #14172

Needed this for `./mach cargo-update -p webrender` to work properly when replacing with a local copy
2016-11-17 15:18:23 -05:00
UK992
6832e9266b Define NATIVE_WIN32_PYTHON environment variable 2016-11-17 20:09:43 +01:00
Matt Brubeck
39a221ae5d Run cargo doc on libservo crate
Fixes `./mach doc` regression caused by #14172.
2016-11-16 16:54:34 -08:00
bors-servo
f14e7339b5 Auto merge of #14172 - servo:ports, r=jdm
Move the servo binary to ports.

<!-- 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/14172)
<!-- Reviewable:end -->
2016-11-16 16:40:18 -06:00
bors-servo
afc60bee28 Auto merge of #14190 - Manishearth:cssom, r=SimonSapin
Immutable CSSOM

This PR is intended to add basic support for all CSSOM interfaces, with the ability to index `document.styleSheets` and css rule lists, and serializing individual css rules. Handling individual interface methods for CSSRule subclasses can probably be done with easy/medium bugs.

Mutation safety isn't dealt with here; if the css rule list is mutated the CSSOM will be in an inconsistent state. I intend to deal with this via zero sized tokens, see https://groups.google.com/forum/#!topic/mozilla.dev.servo/AnxJoVmtMXQ .  I'll handle that when I start making the CSSOM mutable. (Getting the immutable bit landed first opens this up for easy bugs)

This doesn't really change style aside from adding an extra arc in the CSS rule list as discussed in the linked thread. So far this same design can be used by stylo as well when the time comes.

f? @SimonSapin @emilio

cc @upsuper

part of #11420
Todo:

 - [x] Stubs for rest of the CSSRule subclasses
 - [x] <s>ToCSS impls for CSSRules.</s> May make into easy bugs and stub out in this PR https://github.com/servo/servo/issues/14195
 - [x] Cache CSSStyleSheet on the relevant node

<!-- 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/14190)
<!-- Reviewable:end -->
2016-11-16 15:05:59 -06:00
bors-servo
17bf6aed21 Auto merge of #14039 - metajack:windows-wpt, r=jgraham
Fix test-wpt and test-css for Windows.

<!-- Please describe your changes on the following line: -->
In addition to minor changes for Windows, this forces Windows Python to
be used for all Windows builds (instead of using Windows Python only for
pc-windows-msvc builds).

---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because testing the tests is too meta for me

<!-- 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/14039)
<!-- Reviewable:end -->
2016-11-16 13:41:27 -06:00
Jack Moffitt
8e8519d038 Fix test-wpt and test-css for Windows.
In addition to minor changes for Windows, this forces Windows Python to
be used for all Windows builds (instead of using Windows Python only for
pc-windows-msvc builds).
2016-11-16 10:38:15 -07:00
Ms2ger
9a5abab442 Move the servo binary to ports. 2016-11-16 13:31:21 +01:00
Manish Goregaokar
177d6fa4ee Support basic immutable CSSOM 2016-11-15 06:56:18 -08:00
Emilio Cobos Álvarez
157c1674ed
python: Make --debugger imply --debug 2016-11-12 23:25:37 +01:00
bors-servo
290a1696dc Auto merge of #14166 - Wafflespeanut:tidy, r=frewsxcv
Allow tidy to run custom project-specific lints

<!-- Please describe your changes on the following line: -->

Since tidy is a package, it shouldn't contain our WPT lint. This PR changes the file list generator (we already have) into an object, and allows tidy to run custom python lint scripts (specified in the config file) under the context of `LintRunner`. The errors are then chained into our mechanism.

r? @frewsxcv (cc @jdm @edunham @aneeshusa and anyone else interested in reviewing it)

---
<!-- 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

<!-- Either: -->
- [x] There are tests for these changes

<!-- 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/14166)
<!-- Reviewable:end -->
2016-11-12 11:06:27 -06:00
Ravi Shankar
34955e0bf8 Add tests for the new LintRunner 2016-11-11 19:54:34 +05:30
Ravi Shankar
8385c9ae79 Isolate the WPT lint and make use of the LintRunner 2016-11-11 19:54:32 +05:30