Commit graph

29 commits

Author SHA1 Message Date
Delan Azabani
acb6515837
CI: disable self-hosted runners for nightly.yml (#34982)
Signed-off-by: Delan Azabani <dazabani@igalia.com>
2025-01-14 04:23:50 +00:00
Delan Azabani
2322b22a6b
CI: temporarily disable self-hosted runners for nightly.yml (#33834)
Signed-off-by: Delan Azabani <dazabani@igalia.com>
2024-10-14 13:13:10 +00:00
Mukilan Thiyagarajan
febe7de0bf
ohos: publish nightly builds (#33801)
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-10-11 10:11:51 +00:00
Mukilan Thiyagarajan
ea109d5490
android: publish nightly builds for aarch64 (#33435)
* android: publish nightly builds for aarch64

Publish the aarch64 apk and aar packages to both Github Releases
and S3 so that it can be linked from servo.org.

The focus is on getting a working version of the APK on the homepage,
so few issues are resolved with temporary solutions:
1) We publish the "release" profile instead of "production" since the
   latter will need changes in the gradle configuration (the changes
   required was previously blocked on #32720 which is now closed).
2) The scheme for the version code is simple and doesn't consider
   other factors such as API level and product variants discussed in the
   Android docs (https://developer.android.com/google/play/publishing/multiple-apks#VersionCodes)
   This should be fine for now as we don't publish to any store yet.

The change also makes it so that the 'Release nightly' workflow will
endup building all 4 variants for the Android target, but only aarch64
is uploaded. This is because GH Actions doesn't have a good way to skip
a specific job in a matrix and the additionally code complexity needed
to acheive it (either generating a JSON dynamically in a new job and using
`fromJSON` in the matrix definition or skipping each individual step
based on matrix.target and `inputs.upload`) didn't seem worth the cost
saved (this is executed only once a day).

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* android: add attestation for nightly build artifacts

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

---------

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-09-16 11:45:04 +00:00
Mukilan Thiyagarajan
0a8b69879a
ci: Fix nightly release action (#31420)
* ci: check result of dependent jobs explicitly

Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>

* ci: use ubuntu latest image in more jobs

Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>

---------

Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
2024-02-23 14:55:00 +00:00
Delan Azabani
d00312eb08
Bury failed nightly releases as prereleases (#31348) 2024-02-14 08:05:09 +00:00
Samson
96d37d3785
Add --production option to mach (#30707)
* --prod(uction) mach argument

* Use profile in workflows instead of production

* Use profiles in unit tests

* ups

* Build (${{ inputs.profile }})
2023-11-10 10:38:33 +00:00
Delan Azabani
a3d2f0c586
Enable debug assertions for all builds other than official releases (#30509)
* Run main and try jobs with debug assertions

* use single quotes in workflow expressions

* set force-debug-assertions in main.yml

* set force-debug-assertions as part of decision job

* fix typo in MachCommands.build

* fix more hardcoded profile names

* fix tidy

* split cargo_profile_option on windows

* Fix running servoshell and unit tests through a symlink

* rename steps to make them less confusing

* fix more hardcoded cargo profile options

* fix missing inputs in linux-wpt and mac-wpt

* make filename an inherent method of Resource

* rework release-with-debug-assertions profile to production profile

* rework resource logic to eliminate std_test_override

* set production flag in nightly release builds

* clean up servobuild.example and windows.yml

* oops forgot to check in embedder_traits/build.rs

* fix mach test-unit behaviour through symlink

* unit tests only need current_dir and ancestors

* fix macOS package smoketest breakage

* expect css/css-color/currentcolor-003 to crash under layout 2013

* fix more references to {force,release-with}-debug-assertions

* fix local build failures under --profile production
2023-10-26 08:22:14 +00:00
Martin Robinson
d31cdb682f
Make the choice of layout runtime setting
Co-authored-by: Samson <16504129+sagudev@users.noreply.github.com>
2023-07-06 14:49:24 +02:00
Mukilan Thiyagarajan
bca529da92 Default nightly builds to layout 2020
Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
2023-06-21 16:14:02 +05:30
Mukilan Thiyagarajan
a5238ed7a5 Upload nightly builds for layout2020 variant
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.
2023-05-24 21:54:43 +05:30
Mukilan Thiyagarajan
f1ba708cf7 Upload nightly builds to Github Releases
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>
2023-04-12 21:02:07 +05:30
Mukilan Thiyagarajan
757666fd4b Pass S3 secrets for nightly builds and fix windows build
Secrets need to be passed to reusable workflows either
by name or by `secrets: inherit` from the caller workflow.
The latter allows accessing all secrets in scope.

Windows build has a bug where the upload-nightly command is
not run from the correct working directory.

Closes #29614

Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
2023-04-11 14:02:41 +05:30
sagudev
76e9c68ac7 Nightly workflow using platform workflows 2023-04-06 18:43:33 +02:00
Mukilan Thiyagarajan
1b310224a5 Package and upload linux w/ layout-2020 engine.
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>
2023-03-10 15:21:02 +05:30
sagudev
4a7075b0db Do not run specialized workflow on forks 2023-02-24 17:46:21 +01:00
Mukilan Thiyagarajan
8f60df4fdc Remove UWP/HoloLens CI & Nightly jobs.
Servo [TSC has decided][1] to halt support for UWP
platform. This PR only removes the CI & Nightly jobs
and doesn't modify any code related to UWP support.

[1]: https://github.com/servo/project/blob/master/governance/tsc/tsc-2023-01-23.md#supported-platforms

Signed-off-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>
2023-01-25 22:04:57 +05:30
Delan Azabani
764dd87633 CI: clean up workflow names 2023-01-18 14:53:55 +08:00
Dirk Stolle
bc151643cf Update actions/checkout in GitHub Actions workflows to v3
Signed-off-by: Dirk Stolle <striezel-dev@web.de>
2022-12-17 22:30:39 +01:00
Josh Matthews
969e022901 Build CI on macos-12 image. 2022-11-20 05:21:49 -05:00
yvt
f47a53f3b1 chore(ci): relink python3 to python3.9 on Homebrew
Implements a work-around for the compatibility issue between mozjs and
Homebrew's Python 3.10 formula.
2022-09-23 21:17:09 -04:00
Josh Matthews
9d51255799
Enable codesigning on Windows. 2021-06-06 14:00:39 -04:00
Josh Matthews
172274d484 Add UWP builds to github actions. 2021-05-29 16:05:02 -04:00
Josh Matthews
1effa3a909 Use different download/unpacking mechanism. 2021-05-25 23:18:12 -04:00
Josh Matthews
e8e31e8011 Download wix binaries for packaging. 2021-05-25 17:54:30 -04:00
Josh Matthews
b61f992592 Hardcode Windows working directory. 2021-05-25 17:46:38 -04:00
Josh Matthews
d75150b162 Split nightly rustc into separate workflow. 2021-05-25 11:08:55 -04:00
Josh Matthews
0294838d73 Fix windows nightly working directory. 2021-05-24 20:09:00 -04:00
Josh Matthews
a82b268be0 Convert more taskcluster jobs to Github Actions. 2021-05-23 11:16:09 -04:00