Commit graph

1414 commits

Author SHA1 Message Date
Simon Hausmann
45e1289c02 Speed up test-driver-rust 2025-11-11 17:52:16 +01:00
Simon Hausmann
5cee5779d3 WIP: comment out unrelated jobs 2025-11-11 09:35:14 +01:00
Simon Hausmann
60a5e14331 CI: Build with --all-features only in the nightly
While important to build with all features, it's also a waste of time to rebuild skia from sources every time for every PR.
2025-11-11 09:33:57 +01:00
Nigel Breslaw
2c5b402909
Tweak to reduce total number of rust-cache (#10017)
50GB of caches in branches is still being created. This doesn't 
eliminate them all but makes a decent dent. This stops the more useful 
master branch cache being evicted.
2025-11-10 14:46:27 +02:00
dependabot[bot]
23993ed5ce
build(deps): bump streetsidesoftware/cspell-action (#10013)
Bumps the github-actions group with 1 update: [streetsidesoftware/cspell-action](https://github.com/streetsidesoftware/cspell-action).


Updates `streetsidesoftware/cspell-action` from 7 to 8
- [Release notes](https://github.com/streetsidesoftware/cspell-action/releases)
- [Changelog](https://github.com/streetsidesoftware/cspell-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/streetsidesoftware/cspell-action/compare/v7...v8)

---
updated-dependencies:
- dependency-name: streetsidesoftware/cspell-action
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-10 14:01:53 +02:00
Simon Hausmann
e8096774cf CI: Don't build the material gallery for every CI build
It's just built in the nightly. On macOS in the CI it's built twice, once as bin and once as lib, with a total of 600seconds according to cargo-timings.
2025-11-10 11:55:54 +01:00
Nigel Breslaw
1f95d84977 Group dependabot updates by semver 2025-11-07 12:25:08 +00:00
Nigel Breslaw
aced732a2f Combine rust and warnings check jobs
Means ones less job.
Warnings does not need to do a full compile.
Still comes in under 20 mins.
Enable the cache too.
2025-11-07 10:32:42 +00:00
Simon Hausmann
e3406994f4 CI: Attempt to run Node.js tests only on Linux when doing Slint internal changes 2025-11-07 10:29:03 +00:00
Simon Hausmann
9795a8ce4d CI: Attempt to run python tests only on Linux when doing Slint internal changes 2025-11-07 10:29:03 +00:00
Nigel Breslaw
202381294b Run check warnings in parallel 2025-11-07 10:11:08 +00:00
Simon Hausmann
3ededec824
CI: Fix docs output path in nightly
Some checks are pending
autofix.ci / format_fix (push) Waiting to run
autofix.ci / lint_typecheck (push) Waiting to run
autofix.ci / ci (push) Blocked by required conditions
2025-11-07 06:06:17 +01:00
Simon Hausmann
a58b5e5581
CI: Test PRs in the merge queue before the merge into the master branch 2025-11-07 05:45:34 +01:00
Simon Hausmann
fcc6364bd1 CI: Fix docs publishing
Some checks are pending
autofix.ci / format_fix (push) Waiting to run
autofix.ci / lint_typecheck (push) Waiting to run
autofix.ci / ci (push) Blocked by required conditions
There's no more a need to fix up the docs structure, when build_docs already produces the correct directory structure.
2025-11-06 21:56:55 +01:00
Simon Hausmann
1278a6aeaf CI: Fix version subsitution in docs/slint/index.html 2025-11-06 21:54:49 +01:00
Simon Hausmann
62ba30dd1d CI: prospective fix for failing publish_artifacts step 2025-11-06 21:07:48 +01:00
Simon Hausmann
34b92ed39e CI: attempt to fix app token generation for website repo access within nightly publish artifacts job 2025-11-06 19:17:13 +01:00
Simon Hausmann
baf85ae224 CI: Attempt to simplify docs generation
In each C++/Rust/etc. docs step, attempt to generate an artifact that
has the directory structure suitable for the website right away, so
docs/$lang.

That way, eliminate the combine-deploy step and move the 404.html and
index.html generation to the publish_artifacts step, eliminating the
need to clone the website repo and running the generator for each build
in the master branch.
2025-11-06 16:30:01 +00:00
Nigel Breslaw
20403cd597
Split up the daily (ci.yaml) and nightly tests (#9969)
Some checks are pending
autofix.ci / format_fix (push) Waiting to run
autofix.ci / lint_typecheck (push) Waiting to run
autofix.ci / ci (push) Blocked by required conditions
1. Removed the cron job that ran autofix.ci every morning to warm the cache.
2. A new reusable 'build_and_test_reusable.yaml' can be used by both ci.yaml and nightly snapshots.
3. Reduce ci.yaml build_and_test to macos-14 rust stable, ubuntu 22.04 rust 1.88 and windows 2022 rust beta.
4. With the nightly run on the free CI macos-14 rust nightly, ubuntu 22.04 nightly and windows 2022 rust 1.18.
2025-11-06 12:27:20 +02:00
Nigel Breslaw
43f24171b3
Make nightly tests wait till other snapshot binaries are built (#9967) 2025-11-05 10:24:29 +02:00
Nigel Breslaw
c8212d19fe
Test possible fix for cause of long macos builds (#9966)
Some checks are pending
autofix.ci / format_fix (push) Waiting to run
autofix.ci / lint_typecheck (push) Waiting to run
autofix.ci / ci (push) Blocked by required conditions
The headerless setup isn't needed for MacOS and might be taking away resources from the build leading to those occasional abnormal long compile runs.
2025-11-05 00:40:36 +02:00
Nigel Breslaw
98b12fc18e
Try and resolve issue with multiple simulators (#9965)
This PR does 3 things.
1. The iOS simulator which is only needed after the build was booted before the build. 
It is so resource heavy it causes the build to take 20-30 minutes. The simulator is now
booted after the build and the build itself now only takes 5 minutes.
2. There are multiple versions of the same named simulator for the multiple versions of
Xcode. It seemed somehow the wrong simulator could be selected for booting/installing/etc.
We now get the UUID of simulator and use that to launch it. That seems to have made the 
job work. But as it fails randomly we don't know for sure yet.
3. The simulator would then be killed by the clean up process as the end of the run and it took
~40 seconds. There is now a step that tells the simulator to shutdown and that only takes 
~7 seconds.
2025-11-05 00:02:36 +02:00
Nigel Breslaw
3650162134
Add more logging for nightly tests issue (#9964)
Some checks are pending
autofix.ci / format_fix (push) Waiting to run
autofix.ci / lint_typecheck (push) Waiting to run
autofix.ci / ci (push) Blocked by required conditions
2025-11-04 21:30:47 +02:00
Nigel Breslaw
3cea8771ee
Another attempt to fix the iOS simulator issues (#9963) 2025-11-04 21:12:27 +02:00
Nigel Breslaw
bf748023e0
Fix Frontboard issue in nightly tests (#9962)
FrontBoard is a system that detects what app are on an iOS device or 
simulator so they can then be launched. It can be slow to detect a newly
installed app leading to a race condition in CI where the action tries 
to launch a successfully installed app before it's been registered. It 
fails to launch and the CI fails with it. Now loop for a few seconds 
retrying to launch before failing after 30 seconds.
2025-11-04 20:21:35 +02:00
Nigel Breslaw
ac4b1f24a3
Tweak iOS simulator builds for success (#9960)
Instead of using 'sleep' the system now waits for the simulators to boot
using 'xcrun simctl bootstatus booted -b'

Also added a timeout so if the job fails it won't hang forever.
2025-11-04 18:15:18 +02:00
Nigel Breslaw
ddbc961c39
Install gettext on MacOS instead of compiling from source (#9944)
* Install gettext on MacOS instead of compiling from source

1. Removes the attempt to install Ninja as it's included in the github 
   runner macos-xx images.
2. Brew install gettext and sets the env so it can be used during 
   compilation. This makes no difference on cached runs, but speeds up 
   uncached and initial runs.

* No need to install gettext
2025-11-04 14:26:04 +02:00
Nigel Breslaw
f22f2da098
Warm the github cache in the morning (#9945)
Overnight github evicts nearly all the useful cache as it's over 10GB in
size. This job re-runs the last 'successful' run in master and 
repopulates the cache ready for the start of the work day.
2025-11-04 14:25:37 +02:00
Nigel Breslaw
4f1fd47991
Fix the astro docs in nightly snapshot (#9957) 2025-11-04 13:58:04 +02:00
Nigel Breslaw
da038e7d32
Verify why astro docs are not uploading in snapshot (#9953) 2025-11-04 12:24:05 +02:00
Nigel Breslaw
f9688a5d0d
Potential nightly snapshot fix (#9950) 2025-11-04 11:39:51 +02:00
Nigel Breslaw
4030185d9e
Add debug to see why nightly docs fails (#9948) 2025-11-04 10:44:58 +02:00
Nigel Breslaw
41cbf6e9e3
Remove unnecessary concurrency trial from CI (#9939)
Some checks are pending
autofix.ci / format_fix (push) Waiting to run
autofix.ci / lint_typecheck (push) Waiting to run
autofix.ci / ci (push) Blocked by required conditions
2025-11-03 23:37:39 +02:00
Nigel Breslaw
918bf0b09a
Try to speed up docs build by splitting it up (#9934)
Some checks are pending
autofix.ci / format_fix (push) Waiting to run
autofix.ci / lint_typecheck (push) Waiting to run
autofix.ci / ci (push) Blocked by required conditions
Previously the single job took 30 minutes. This new one completes in around 15-20 minutes.
2025-11-03 21:21:11 +02:00
dependabot[bot]
ae51044083
build(deps): bump the github-actions group with 2 updates (#9854)
Bumps the github-actions group with 2 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact).


Updates `actions/upload-artifact` from 4 to 5
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

Updates `actions/download-artifact` from 5 to 6
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: actions/download-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-03 13:07:01 +02:00
Nigel Breslaw
0472356b60
Use cargo --timings to create a report about compile time for the largest CI jobs (#9906)
Some checks are pending
autofix.ci / format_fix (push) Waiting to run
autofix.ci / lint_typecheck (push) Waiting to run
autofix.ci / ci (push) Blocked by required conditions
This uses cargo --timings to create an HTML report attached to the workflow showing all the different items in the job and how long they take to compile. For now this is only used on the build_and_test matrix.
2025-11-02 22:40:55 +02:00
Nigel Breslaw
72e4ae532a
Clean up more of the docs cache (#9910)
No need to cache the docs run. It was creating a 2GB cache file which uses up 20% of the 10GB allotment we have. It could be reduced to 1GB, how it's not really needed as without a cache this job only takes around 20 mins and could be split up to complete even faster.
2025-11-02 22:38:53 +02:00
Nigel Breslaw
3d770ba379
Tweak how the Rust cache works in CI (#9902)
This adds an option so any job can opt out of using the cache. It defaults to using the cache so right now everything that was using the cache will continue to do so.

The second change is that as we are well over the 10GB cache limit. So we will no longer save the cache created in a PR branch. As only the master branch cache is shared this PR branch cache could only benefit subsequent runs of the same PR. If this turns out to slow PR's down it can be easily turned off later.
2025-10-31 14:51:30 +02:00
Nigel Breslaw
ce46c5b444
Fix concurrency issue with autofix and ci (#9901)
A previous PR removed the concurrency group from autofix.ci as it 
conflicted with the one in ci.yaml. 

A side effect of this is that a new PR won't cancel a previous versions 
run until the autofix part had completed. This only takes a couple of 
mins, but it's still keeping many runners busy on a task that should be 
cancelled.
2025-10-31 11:07:36 +02:00
Nigel Breslaw
9287b93530
Docs in master build fix part 2 (#9900)
The docs secret needed to be passed in by autofix.
2025-10-31 10:37:30 +02:00
Nigel Breslaw
17e23607b1
Fix docs build failing in CI master run (#9899)
The READ_WRITE_PRIVATE_KEY was not being passed to the doc job
2025-10-31 10:20:15 +02:00
Nigel Breslaw
e25a93ef09
Run Autofix and then the CI one after the other. (#9893)
Some checks are pending
autofix.ci / format_fix (push) Waiting to run
autofix.ci / lint_typecheck (push) Waiting to run
autofix.ci / ci (push) Blocked by required conditions
Previously they ran in parallel which meant any commit by autofix would 
cancel the CI jobs. This ensures the CI only runs afterwards and is 
helped by autofix now only taking ~2 mins to run.

It should make a small difference to the amount of free runners.
2025-10-30 18:50:40 +02:00
Simon Hausmann
5cee39b19a home-automation: Add Android support 2025-10-30 21:15:17 +08:00
Simon Hausmann
9ab7184df1 Python: Use maturin-action for building slint compiler wheels
pypa/cibuildwheel seems to have issues with the linux builds and we use maturin-action also for our main python packages.
2025-10-30 14:47:02 +08:00
Elaina
d4a1850182 chore: remove uvx_slint_compiler job from nightly tests; manually version (compat with sed) 2025-10-30 10:13:32 +08:00
Elaina
2ae1abc772 fix(ci/upload-pypi): windows-latest -> windows-2022 2025-10-30 10:13:32 +08:00
Elaina
1bb3a6a8bb ci: remove all related to api/python/compiler 2025-10-30 10:13:32 +08:00
Elaina
4c4689d692 chore: update workflow to use specific Ubuntu versions and add project URLs in pyproject.toml 2025-10-30 10:13:32 +08:00
GreyElaina
b15f6e85e8 refactor: restructure slint-compiler workflow 2025-10-30 10:13:32 +08:00
Simon Hausmann
ad607c564f
Prospective fix for iOS iPad builds
Some checks are pending
CI / node_test (windows-2022) (push) Blocked by required conditions
CI / build_and_test (ubuntu-22.04, 1.88) (push) Blocked by required conditions
CI / build_and_test (ubuntu-22.04, nightly) (push) Blocked by required conditions
CI / node_test (macos-14) (push) Blocked by required conditions
CI / node_test (ubuntu-22.04) (push) Blocked by required conditions
CI / python_test (macos-14) (push) Blocked by required conditions
CI / cpp_test_driver (ubuntu-22.04) (push) Blocked by required conditions
CI / wasm_demo (push) Blocked by required conditions
CI / tree-sitter (push) Blocked by required conditions
CI / cpp_cmake (macos-14, 1.88) (push) Blocked by required conditions
CI / cpp_cmake (windows-2022, nightly) (push) Blocked by required conditions
CI / slintpad (push) Blocked by required conditions
CI / python_test (ubuntu-22.04) (push) Blocked by required conditions
CI / python_test (windows-2022) (push) Blocked by required conditions
CI / cpp_test_driver (macos-14) (push) Blocked by required conditions
CI / cpp_test_driver (windows-2022) (push) Blocked by required conditions
CI / cpp_cmake (ubuntu-22.04, stable) (push) Blocked by required conditions
CI / cpp_package_test (push) Blocked by required conditions
CI / vsce_build_test (push) Blocked by required conditions
CI / mcu (pico-st7789, thumbv6m-none-eabi) (push) Blocked by required conditions
CI / mcu (pico2-st7789, thumbv8m.main-none-eabihf) (push) Blocked by required conditions
CI / mcu (stm32h735g, thumbv7em-none-eabihf) (push) Blocked by required conditions
CI / mcu-embassy (push) Blocked by required conditions
CI / updater_test (0.3.0) (push) Blocked by required conditions
CI / fmt_test (push) Blocked by required conditions
CI / esp-idf-quick (push) Blocked by required conditions
CI / android (push) Blocked by required conditions
CI / miri (push) Blocked by required conditions
CI / test-figma-inspector (push) Blocked by required conditions
CI / material-components (push) Blocked by required conditions
As the GH images are updated with new iOS SDKs, not all combinations of device and iOS versions are always available due to limited disk space. The latest iOS sdks seem now only installed for the latest 13-inch iPad.
2025-10-26 13:19:01 +09:00