Commit graph

59 commits

Author SHA1 Message Date
Simon Hausmann
71ec64e3ee Build the lsp and tools for macOS with Xcode 26
For corner radius with the live-preview window when running on 26
2025-09-20 10:04:21 +02:00
Simon Hausmann
cc538ba874 Remove support for x86-64 macOS binaries
GitHub is going to remove the free x86-64 macos runners, as per https://github.blog/changelog/2025-07-11-upcoming-changes-to-macos-hosted-runners-macos-latest-migration-and-xcode-support-policy-updates/
2025-09-19 14:04:11 +02:00
dependabot[bot]
37adf4b616
build(deps): bump the github-actions group across 1 directory with 2 updates (#9245)
Bumps the github-actions group with 2 updates in the / directory: [actions/checkout](https://github.com/actions/checkout) and [jdx/mise-action](https://github.com/jdx/mise-action).


Updates `actions/checkout` from 4 to 5
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

Updates `jdx/mise-action` from 2 to 3
- [Release notes](https://github.com/jdx/mise-action/releases)
- [Changelog](https://github.com/jdx/mise-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jdx/mise-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: jdx/mise-action
  dependency-version: '3'
  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-08-25 09:20:01 +03:00
Simon Hausmann
c3bbf373c4 CI: Improve ZIP archive structure of viewer/lsp windows binaries
Some checks are pending
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, --exclude bevy-example, windows-2022, 1.85) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, macos-14, stable) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, beta) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, stable) (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 / node_test (windows-2022) (push) Blocked by required conditions
CI / tree-sitter (push) Blocked by required conditions
CI / cpp_test_driver (macos-13) (push) Blocked by required conditions
CI / cpp_test_driver (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (windows-2022) (push) Blocked by required conditions
CI / cpp_cmake (macos-14, 1.85) (push) Blocked by required conditions
CI / cpp_cmake (ubuntu-22.04, stable) (push) Blocked by required conditions
CI / cpp_cmake (windows-2022, nightly) (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 / ffi_32bit_build (push) Blocked by required conditions
CI / docs (push) Blocked by required conditions
CI / wasm (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
After commit 063950217f, the structure looks like this:

slint-lsp-windows-arm64
 |-- slint-lsp
      |-- bin
      |      |-- slint-lsp.exe
      |-- licenses\*

This patch changes it to

slint-lsp-windows-arm64
 |-- bin
 |      |-- slint-lsp.exe
 |-- licenses\*
2025-08-15 09:28:34 +02:00
Simon Hausmann
063950217f CI: Streamline and fix windows tool binary artifact creation
Some checks are pending
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, stable) (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 / node_test (windows-2022) (push) Blocked by required conditions
CI / python_test (macos-14) (push) Blocked by required conditions
CI / cpp_test_driver (macos-13) (push) Blocked by required conditions
CI / docs (push) Blocked by required conditions
CI / cpp_package_test (push) Blocked by required conditions
CI / wasm (push) Blocked by required conditions
CI / wasm_demo (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 / tree-sitter (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 (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (windows-2022) (push) Blocked by required conditions
CI / cpp_cmake (macos-14, 1.85) (push) Blocked by required conditions
CI / cpp_cmake (ubuntu-22.04, stable) (push) Blocked by required conditions
CI / cpp_cmake (windows-2022, nightly) (push) Blocked by required conditions
CI / fmt_test (push) Blocked by required conditions
CI / updater_test (0.3.0) (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
Instead of wrongly fixing up the .zip archive name in the prepare_release phase (and missing a space as per #9050), let the slint_tool_binary workflow create the correct .zip archive, then let upload-artifact archive the zip (instead of the directory), so that unpacking on the release job side will retain the zip file.

This way it's handled the same as for .tar.gz (where download-artifact doesn't unarchive) and the file name is decided in one place (slint_tool_binary).

Fixes #9050
2025-08-14 21:26:02 +02:00
Simon Hausmann
86befbe769 Python: Make space for additional python modules
Move Slint module into sub-directory under api/python
2025-06-25 20:43:09 +02:00
Simon Hausmann
54bb2d39ad Packaging: Fix up windows artifact names
For the slint-compiler, we use ${CMAKE_SYSTEM_PROCESSOR}, which on Windows is - unfortunately - derived from the PROCESSOR_ARCHITECTURE environment variable, and
thus AMD64 or ARM64. Fix the package suffix on the CI side.

We could try to make the cmake variable to known values and then arm64/x86_64, but I'd rather stick with less exceptions when these names are not really visible in the documentation or our users.

The same applies to the C++ packages, where the CMake/Windows suffix (AMD64/ARM64) works better with FindSlint.cmake's use of the corresponding variable.

Similarly, the tool binaries were called
slint-viewer-windows-aarch64-pc-windows-msvc, but neither the compiler, nor the rest of the triplet is needed, merely the architecture. So rename it to slint-viewer-windows-arm64 and x86_64. Here we don't need cmake and can use the "correct" suffixes.
2025-06-17 11:50:17 +02:00
Simon Hausmann
4cb6d12119 Initial support for Windows ARM64 binaries
Python is missing, otherwise this builds windows arm64 binaries for the
tools, C++ packages, slint-compiler, npm binaries, and lsp binaries for
the VS code extension.
2025-06-17 09:59:50 +02:00
Simon Hausmann
09db98f9ca Fix cargo-about version to a version that hopefully understands the SPDX ids we're using 2025-02-27 08:01:40 +01:00
Simon Hausmann
03b3aa883a Pin cargo-about to build with our MSRV 2025-02-27 07:46:39 +01:00
Simon Hausmann
ec88305867 Update Skia Bindings
This allows reverting 18db3210d6 and

Fixes #6615
2025-02-23 17:11:52 +01:00
Olivier Goffart
9921a68678 CI: Update ubuntu version
Ubuntu 20.04 container is being discontinued, so use the 22.04 instead.
This is mostly used to generate binary packages
2025-02-11 19:34:12 +01:00
Olivier Goffart
59b42fd3d0 Tool packages: Don't enable the Qt backend
Don't link against Qt in our binary because it might not be binary
compatible with all distributions.
Eg, archlinux shows this error:
`error due to GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS`

We also don't enable the Qt backend in our vscode extension

Fixes #7174
2025-01-02 18:07:03 +01:00
Olivier Goffart
dfefe9968a CI: update Qt, defaults to Qt6 for the linux binaries
Closes #6586
2024-11-04 20:45:04 +01:00
Simon Hausmann
512fcedf9c Fix python setup also on macOS-13 machines
Looks like python was upgraded there, too.

Amends 18db3210d6
2024-10-24 17:52:27 +02:00
Simon Hausmann
734ac1bb06 CI: switch from macOS-12 runners to macOS-13
macOS 12 will be phased out later this year and start failing randomly:

https://github.com/actions/runner-images/issues/10721

macOS-13 runners are still on x86-64, so this should be a no-op.
2024-10-15 13:49:40 +02:00
Simon Hausmann
41d7f76425 Add support for building armv7 and aarch64 viewer/lsp binaries
Fixes #5707
2024-07-29 13:47:27 +02:00
Simon Hausmann
3be6e641c6 Python: Attempt to build python packages with the same features as the nodejs/tool/etc. binaries 2024-06-18 09:43:37 -07:00
Aurindam Jana
3523e86359
Simplify commercial license (#3063)
Base the commercial license on the Royalty-free license adding clauses pertaining to the fees.
2024-05-31 14:06:17 +02:00
Aurindam Jana
9a3aa265d5
Update Royalty-free license (#5257)
Add clarification that Application may not expose Slint APIs.
2024-05-31 10:53:19 +02:00
Simon Hausmann
2f2cb9324c CI: Fix tool binary build
macos-latest is being transitioned to an arm machine by default. Select -12 for now, which is x86-64.
2024-04-26 16:05:43 +02:00
Aurindam Jana
0cfeec1a31
Update Slint Community License (#4994)
Updated the version from 1.1 to 1.2 
Renamed the header to "Slint Royalty-free Desktop, Mobile, and Web Applications License"
Added definition of "Mobile Application" and grant of right
Moved "Limitations" to 3rd section and "License Conditions - Attributions" to 2nd section
Added flexibility to choose between showing "MadeWithSlint" as a dialog/splash screen or on a public webpage
Moved the para on copyright notices to section under "Limitations"
2024-04-15 15:18:55 +02:00
Tobias Hunger
8eea2851b7 ci: Format all yaml files with our prettier configuration
No code change, just prettier doing its thing in this change!
2024-02-16 19:10:56 +01:00
Olivier Goffart
236f03b96e CI: update github action dependencies
Looked at warning of actions that still uses old node version and update
the onces that had a new release
2024-02-02 12:09:07 +01:00
Simon Hausmann
0abcf45e82 Remove hacks in the CI for selecting backend-linuxkms-noseat
The feature flag should be safe to enable on all platforms, it'll just be a no-op backend.
2024-01-27 12:47:40 +01:00
Simon Hausmann
c10f0c7f13 Node.js: Refine features for binary npm packages
Use the same features as for the the lsp.
2024-01-26 11:23:07 +01:00
Simon Hausmann
138443fa8d Add code signing for macOS tool binaries
This signs the slint-lsp/slint-viewer binaries as well
as the lipo'ed binary for the VS code extension.

cc #4240
2024-01-08 15:12:40 +01:00
Simon Hausmann
692a8bc6b3 Synchronize features among different binary packages
Enable software renderer explicitly also for the tool binaries.
2024-01-02 17:42:23 +01:00
Simon Hausmann
ebaecbcb7e Add support for running the tests in the CI
This is relatively straight-forward using nox.

One little change required was the change to the MACOSX_DEPLOYMENT_TARGET.
maturin requires it to be a full version, and GitHub actions requires it to
be quoted consequently, otherwise it interprets 11.0 as 11 and stores that
instead.
2023-12-21 12:57:35 +01:00
Simon Hausmann
768084b68e Remove Qt license files from windows tool binary packages
Since they don't ship with Qt anymore,
we can remove LICENSE.Qt and QtThirdPartSoftware_Listing.txt.
2023-12-01 10:49:47 +01:00
Simon Hausmann
34d3309f00 Select macOS 11 as deployment target in central place
... for all workflos that run macOS jobs.

Latest GH images somehow seem to have "lost" the minimum deployment
target (either setting or maybe the sysroot), so set it explicitly.
That is a good idea for us to do anymore for a more deterministic
deployment.
2023-11-13 22:22:37 +08:00
Simon Hausmann
26c9e3ea96
Build tool binaries on current macOS 2023-10-31 16:11:54 +01:00
Simon Hausmann
79b70782b4 Enable the winit backend and skia renderer in the tool and lsp binaries
This makes it possible to fall back to software rendering.

This change also removes the use of the Qt backend on Windows and macOS, since
the native style on those platforms
resolves to fluent/cupertino and doesn't require Qt anymore.
2023-10-31 14:28:05 +01:00
Aurindam Jana
5a4a7fee63
Update royalty free license to 1.1 (#2994) 2023-07-10 10:12:11 +02:00
Olivier Goffart
11dea135f7 Domain: slint-ui.com -> slint.dev 2023-06-16 10:55:08 +02:00
Tobias Hunger
04d1229685 Fix licnese information using xtask 2023-06-16 09:14:20 +02:00
Olivier Goffart
1c033e7d72 CI: Cache Qt 2023-06-08 10:40:11 +02:00
Olivier Goffart
2627ad24ca CI: Prospective fix after 73162e0a69 2023-06-03 10:19:23 +02:00
Olivier Goffart
0cc861550a CI: Update Qt version 2023-06-02 17:48:34 +02:00
Olivier Goffart
73162e0a69 CI: Attempt to run cargo about only for the given package 2023-06-02 10:06:50 +02:00
Olivier Goffart
88b14a993e CI: Update cargo-install to supress warnings about outdated node 2023-04-25 15:47:23 +02:00
Olivier Goffart
41967e6d19 CI: update actions/upload-artifact 2022-11-15 13:20:02 +01:00
Olivier Goffart
e0fcf89e86 CI: update actions/checkout
Note: one action was not updated because the tests fails
2022-11-15 13:20:02 +01:00
Olivier Goffart
64c3372a59 CI: don't use unmainainted actions-rs/install 2022-11-15 13:20:02 +01:00
Olivier Goffart
5e0630876e CI: try to avoid the unmaintained actions-rs/cargo action
It's easy to just call cargo.
It still depends on deprecated actions that shows warnings

This doesn't change the actions that uses cross
2022-11-15 13:20:02 +01:00
Tobias Hunger
1155836bb4 github: Define and use a setup-rust action 2022-09-16 12:57:40 +02:00
Olivier Goffart
554c7403db CI: update to install-qt-action@v3 2022-08-29 12:13:27 +02:00
Simon Hausmann
7cb6b54d17 Prospective fix for failing install-qt-action in the CI on macOS
python3 -m pip install py7zr==0.16.1 failed with mysterious errors about package conflicts.
Upgrade to the version that the next version of the install-qt-action seems to
to going to use.
2022-08-19 09:08:24 +02:00
Simon Hausmann
72f98df2e9 Upgrade the CI to Github's windows-2022 image
This includes a newer version of Visual Studio.
2022-08-02 09:21:41 +02:00
Olivier Goffart
d641650cda CI: prospective fix for the current faillure
https://github.com/jurplel/install-qt-action/issues/142
2022-03-30 09:52:13 +02:00