aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo/package_commands.py
Commit message (Collapse)AuthorAgeFilesLines
* fix winfix-windows-nightlyMukilan Thiyagarajan2023-06-161-20/+28
|
* Clean up cross-compilation and featuresMartin Robinson2023-05-251-6/+8
| | | | | | | | | | | | Integrate cross-compilation and media-stack handling into the `build_like_command_arguments` decorator. This removes a lot of repetition in the code and standardizes how targets are selected for all similar commands. Now cross compilation targets, feature flags, and helper variables are stored in the CommandBase instance. This also avoids having to continuously pass these arguments down to functions called by the commands.
* Upload nightly builds for layout2020 variantMukilan Thiyagarajan2023-05-241-0/+7
| | | | | | | | We'd like to start offering servo nightly builds with layout 2020 engine so that users can test the new layout without building servo. These new builds will be offered in addition to the current 2013 builds until we switch over to 2020 as the default.
* Remove unused importmichaelgrigoryan252023-05-221-1/+0
|
* Patched a bugmichaelgrigoryan252023-05-221-1/+1
|
* Removed MagicLeap occurrences from Python filesmichaelgrigoryan252023-05-221-73/+9
|
* Remove some unused python codeMartin Robinson2023-05-201-19/+1
| | | | | | | | | This change removes: - The custom `--dry-run` support for `cargo-update`. The real cargo command now has `--dry-run` support and this code was broken for Python 3. - The Python 2 version of TemporaryDirectory. This is no longer needed as we require Python 3.
* Consume official GStreamer binaries on MacOSMukilan Thiyagarajan2023-05-121-65/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR re-enables support for the gstreamer mediastack in macOS by consuming the official binary '.pkg' files from gstreamer.freedesktop.org To maintain symmetry with other platforms, the '.pkg' files are uploaded to servo-build-deps and fetched from there using the new script 'etc/install_macos_gstreamer.sh'. Unlike the Homebrew version, the official GStreamer is distributed as a 'relocatable' framework i.e the dylibs all have @rpath-relative install names and also link to other dylibs using @rpath relative path. To address this difference the 'servo' binary needs to be patched with 'install_name_tool' to add an LC_RPATH command that sets the relative paths that the dynamic linker should search when trying to satify dependencies. In Servo's case, this will be a path relative to the 'servo' binary itself i.e '@executable_path/lib/' The additional 'lib' is due to a flaw in the gstreamer packaging where the install names of some of the dylibs have the prefix '@rpath/lib' and some of them just have '@rpath'. This PR also fixes a couple of issues present in the `mach build` process on MacOS: 1. `mach build` process was not copying transitive dependencies of servo binary but only the first level dylibs 2. `mach build` process didn't patch the links to dylibs in servo binary (and dependencies). This meant though (some) dylibs were copied to local path, the binary still loaded the dylibs from system GStreamer installation i.e homebrew instead of the copieds dylibs The build and runtime dependencies in etc/homebrew/Brewfile and etc/homebrew/Brewfile-build have also been removed in This PR. Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
* Build on Mac with the dummy media stackMartin Robinson2023-04-231-2/+6
| | | | | | This is a temporary fix for broken GStreamer homebrew packages. Fixes 29653.
* Fix nightly upload to GH release logic.Mukilan Thiyagarajan2023-04-131-5/+9
| | | | | | | | | | | | | The boto3 S3 client automatically closes the given fileobj after the transfer is complete. This prevents us from reusing the package_hash_fileobj between s3 and github upload methods. This PR changes fixes the issue by creating fresh instances of io.BytesIO within the upload_to_* methods. Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
* Upload nightly builds to Github ReleasesMukilan Thiyagarajan2023-04-121-14/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | This change extends the `mach upload-nightly` command to publish the nightly builds for all platforms as GH Release assets. The GH releases are made on a separate repository so that we can persist older nightly builds without having to accumulate git tags for them. Some design tradeoffs in this approach are: 1. To allow the 'latest' link from servo.org to remain stable, the release assets are named 'servo-latest.{ext}' instead of containing the release tag/date. 2. The release is created as draft and published atomically when all platforms have been built successfully. This allows us to link to the 'latest' alias from servo.org while gauranteeing that it contains builds for all platforms. The other option here would be to have code in servo.org UI that uses GH API to find the most recent release with a successful build for a given platform. 3. The tags in the nightly repo are all based on the same commit that has no relation to servo code base. Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
* Remove more Taskcluster and Treeherder integrationMartin Robinson2023-04-101-33/+5
| | | | | Servo no longer uses Taskcluster and Treeherder, so this change removes script references to those services and support files.
* Replace usage of six.moves.urllib with urllibMartin Robinson2023-04-101-1/+1
| | | | | | Also organize some of the imports. Now that Servo only uses Python 3, this module is unnecessary. This is part of the gradual migration to using only Python 3.
* Package and upload linux w/ layout-2020 engine.Mukilan Thiyagarajan2023-03-101-0/+3
| | | | | | | | | | | | | The layout-2020 variant will be consumed by the internal WPT trend [dashboard][1] only and won't be made available on servo.org. This change will be removed once the layout engine we will use going forward is finalized. [1]: https://servo.github.io/internal-wpt-dashboard/ Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
* Invalidate latest nightly files in CloudFront.Mukilan Thiyagarajan2023-01-261-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | After a new nightly build is uploaded to S3, bust the cache in CloudFront Edge servers with the CreateInvalidation AWS API. For each platform we use the `/nightly/<platform>/servo-latest.<ext>*` pattern to invalidate both package and sha256 files. As part of this change, a new policy has been attached to the "download.servo.org-uploads-from-travis" IAM user to allow the "cloudfront:CreateInvalidation" action. Since CloudFront [invalidates every version][1] of the cached file, regardless of the headers used for that version, this change should invalidate the different caches for 'Accept-Encoding' header. [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html#invalidation-specifying-objects Closes #29034 Signed-off-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>
* Load codesigning secret without JSON.Josh Matthews2021-07-021-2/+2
|
* Add UWP builds to github actions.Josh Matthews2021-05-291-0/+5
|
* Convert more taskcluster jobs to Github Actions.Josh Matthews2021-05-231-1/+8
|
* Fix bytes/string py3 confusion.Josh Matthews2021-05-031-1/+1
|
* Fix encoding call.Josh Matthews2021-02-241-1/+1
|
* Fix str/bytes confusion when uploading to s3.Josh Matthews2021-02-191-1/+1
|
* Port some code to Python3Vincent Ricard2021-02-181-1/+6
|
* Use new S3 bucketsSimon Sapin2020-11-111-2/+2
| | | | CC https://github.com/servo/project/issues/25
* Add gstreamer plugins to nightly package.Josh Matthews2020-07-201-1/+2
|
* Load explicit set of gstreamer plugins on macos, and include them in the ↵Josh Matthews2020-07-161-0/+2
| | | | nightly package.
* Fix remaining flake8 warningsKagami Sascha Rosylight2020-06-211-11/+11
|
* Set Content-Type for sha256 uploads.Josh Matthews2020-06-191-1/+3
|
* Fix file extension for Linux nightlycamelid2020-05-141-3/+3
|
* Only upload latest hashcamelid2020-05-131-7/+1
|
* Add integrity hash for nightly buildscamelid2020-05-131-0/+22
|
* Only create UWP archive if the app packages are signed.Josh Matthews2020-04-171-7/+9
|
* Remove version number from generated UWP archive.Josh Matthews2020-04-171-10/+13
|
* Find upload package extension correctly.Josh Matthews2020-04-161-2/+2
|
* python: Use updated mako path in package_commands.py.Emilio Cobos Álvarez2020-04-161-1/+1
|
* Properly sign UWP packagePaul Rouget2020-03-091-12/+69
|
* Always construct TC API URLs from $TASKCLUSTER_PROXY_URL or ↵Simon Sapin2019-11-051-1/+1
| | | | $TASKCLUSTER_ROOT_URL
* Use urllib from six module in order to be compatible with Python3marmeladema2019-10-161-2/+2
|
* Create a zip of all UWP packaging artifacts.Josh Matthews2019-10-101-1/+9
|
* Make APPX build part of package command. Add nightly build for UWP.Josh Matthews2019-09-121-3/+45
|
* Add --magicleap option to mach installAlan Jeffrey2019-08-191-7/+27
|
* Package both Servo2D and Servo3D in one magicleap mpkAlan Jeffrey2019-08-151-4/+3
|
* Added gstreamer support to the magicleap portAlan Jeffrey2019-08-081-0/+6
|
* Add Servo3D immersive demo for magicleapAlan Jeffrey2019-06-131-12/+17
|
* Package DLLs correctly for Windows cross builds.Josh Matthews2019-06-031-1/+1
|
* Fallback to docker-worker’s URL when $TASKCLUSTER_PROXY_URL is missingSimon Sapin2019-05-061-1/+5
|
* Fix missing concatenation operatorPete Moore2019-05-031-1/+1
| | | Co-Authored-By: SimonSapin <simon.sapin@exyr.org>
* Use the Taskcluster proxy URL provided by the workerSimon Sapin2019-05-031-1/+1
|
* Move taskcluster secrets into appropriate mach commands.Josh Matthews2019-05-021-4/+36
|
* Move debuggable flag setting for magicleap package to package fileAlan Jeffrey2019-04-251-3/+0
|
* Set the target when packaging for magicleapAlan Jeffrey2019-03-271-0/+5
|