Skip to content

Crater

Crater #57

Workflow file for this run

# Copyright © SixtyFPS GmbH <info@slint.dev>
# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
# This workflow checks out and build a bunch of crates that uses Slint,
# with the current branch
name: Crater
on:
workflow_dispatch:
jobs:
crater:
env:
SLINT_NO_QT: 1
CARGO_INCREMENTAL: false
RUST_BACKTRACE: 1
strategy:
fail-fast: false
matrix:
git_url:
# from madewithslint
- "https://github.com/slint-ui/cargo-ui"
- "https://github.com/jturcotte/chiptrack"
- "https://github.com/GaspardCulis/slint-tetris"
- "https://github.com/Futsch1/image-sieve"
#- "https://github.com/dngulin/gpcl" # depends on the winit backend
- "https://codeberg.org/flovansl/co_sl"
- "https://seed.radicle.garden/z3oxAZSLcyXgpa7fcvgtueF49jHpH.git" #vivi
#- "https://github.com/ElevenJune/mastermind_Rust" # Not upgraded to Slint 1.0
#- "https://github.com/Project-Trains/launcher" # Not upgraded to Slint 1.0
- "https://github.com/Vinegret43/dispute"
- "https://github.com/bjorn/raccoin"
- "https://gitlab.com/floers/ordinary"
- "https://github.com/parchlinux/parch-welcome/"
#- "https://github.com/boclair/fractal-explorer" # RE-ENABLE WHEN https://github.com/arturoc/color-rs/pull/2 is released
- "https://github.com/arunpkio/tymoz"
- "https://github.com/Surrealism-All/surrealism-ui-template"
- "https://github.com/Decodetalkers/launchre"
- "https://github.com/Decodetalkers/haruhishot"
- "https://github.com/smalltext/trace-slint/"
- "https://github.com/danrauch/thermocam"
- "https://github.com/saturn77/magnet"
- "https://github.com/Heng30/chatbox"
- "https://github.com/zzq0097/mmm_rs"
- "https://github.com/aka-deVOID/blog"
- "https://github.com/CMahaff/lasim" # many stars
#- "https://github.com/spades9/image-tools" # compile error
- "https://github.com/studylessshape/calculator-by-rs"
- "https://github.com/gleb-skobinsky/system-metrics"
- "https://github.com/AccAutomaton/ECJTU-CAN-Helper"
- "https://github.com/Vadoola/pv-unlocker"
#- "https://github.com/zzoe/liando" # compile error in zstd-safe https://github.com/gyscos/zstd-rs/issues/270
- "https://github.com/Knowit-Objectnet/infoskjerm-trondheim"
- "https://github.com/CaleGlisson/Zelda_pattern_rust"
- "https://github.com/dweiss96/rf2_league_mod_tool"
- "https://github.com/Badless/slint-editor"
- "https://github.com/IvanB101/hamming-huffman"
- "https://github.com/izuku0550/Custom-Note-Builder"
- "https://github.com/mrquantumoff/quadrant_lite"
- "https://github.com/lechos22/p2ptun"
- "https://github.com/ChronosWS/asma"
- "https://github.com/jpnurmi/jpos-weather"
#- "https://github.com/osp-project/RizPackageTools" 404
- "https://github.com/xenein/CountMeDown-rs"
- "https://github.com/vicanso/image-converter"
- "https://github.com/JeremiasMeister/rust-heightmap-generator"
- "https://github.com/leonardosalsi/rustop"
- "https://github.com/joaofl/any-serve"
- "https://github.com/Heng30/rssbox"
- "https://github.com/Heng30/rssbox-android"
- "https://github.com/Heng30/uibox"
#- "https://github.com/Heng30/bitbox" #pinned slint-build version
- "https://github.com/Heng30/solana-wallet-sollet"
- "https://github.com/Heng30/vtbox"
- "https://github.com/ilmai/plugin-things"
- "https://github.com/Risuleia/Tranquilo"
- "https://github.com/hambooooo/hamboo-rs"
- "https://github.com/hambooooo/hamboo-embassy"
#- "https://github.com/Kllngii/Wetterstation" # can't check submodules
- "https://github.com/tredeneo/simple-inventary-management"
# - "https://github.com/xcodes2cn/Xviewer" #copies slint
- "https://github.com/olishmollie/radix"
- "https://github.com/zivit/watchlist"
- "https://github.com/FelgoSDK/RustyWeather"
- "https://github.com/Siiir/k_means-interactive/"
- "https://github.com/ThilinaTLM/docker_ui"
- "https://github.com/PlanetTeamSpeakk/Thermostat"
- "https://github.com/develcooking/Reelix"
- "https://github.com/Albino-Client/AlbinoLauncher"
- "https://github.com/radev1924/profit-first-income-calculator-desktop"
- "https://github.com/JarrodDoyle/slint-fmeditor"
- "https://github.com/planet0104/slint-noframe-window"
- "https://github.com/Obscurely/falion"
- "https://github.com/Dusk-Labs/kira"
- "https://github.com/arihant2math/prontus"
- "https://github.com/TuEmb/can-viewer"
- "https://github.com/limitcool/xm"
- "https://github.com/sloganking/quick-assistant"
- "https://github.com/clay-6/baze64"
- "https://github.com/zilongyang/rust_slint_todos"
- "https://github.com/qhua948/anubis"
- "https://github.com/Surrealism-All/slimk"
# Missing images
# - "https://github.com/rurishigeo/Probe-Downloader"
# - "https://github.com/Tricked-dev/stardew-mod-manager"
# Use our private API (eg: backend winit)
# - "https://github.com/Davide255/LVIE"
# - "https://github.com/Vadoola/Tomotroid"
# - "https://github.com/Horbin-Magician/rotor-rs"
# - "https://codeberg.org/moire/moire" # Broken because of other dependencies.
# Needs extra dependencies
# - "https://github.com/nununoisy/gb-presenter-rs"
# - "https://github.com/nununoisy/nsf-presenter-rs"
# - "https://github.com/bombless/slint-tree"
#- "https://github.com/link9c/media_backup" #(windows only (failed to resolve: use of undeclared crate or module `winres`))
#- "https://github.com/Vadoola/ignition_npp_tools" #windows only
# Not updated to Slint 1.0
#- "https://github.com/jannes/han-cihui"
#- "https://github.com/leofidus/ntfs-explorer"
#- "https://github.com/gsuyemoto/rust-bombfield"
#- "https://github.com/kizeevov/l5"
#- "https://github.com/SergioGasquez/espup-slint"
sub_path: ["."]
os: ["ubuntu-latest"]
include:
- git_url: "https://github.com/griccardos/rusl"
sub_path: "slint"
- git_url: "https://github.com/Berrysoft/tunet-rust"
sub_path: "tunet-gui"
#- git_url: "https://github.com/DanielMadmon/tasker" # needs "themis dep"
# sub_path: "bin/tasker_gui"
- git_url: "https://github.com/matthiasbeyer/distrox"
sub_path: "distrox-gui"
- git_url: "https://github.com/Kllngii/Wetterstation"
sub_path: "wetterstation-ui"
- git_url: "https://github.com/plule/theremotion"
sub_path: "theremotion-ui"
- git_url: "https://github.com/matthiasbeyer/deskodon"
sub_path: "frontend"
- git_url: "https://github.com/malwaredb/malwaredb-rs"
extra_args: "--features=admin,admin-gui"
sub_path: "."
#- git_url: "https://github.com/Martoni/QRNote" # Pins slint version
# sub_path: "qr-note"
- git_url: "https://github.com/planet0104/satellite_wallpaper"
sub_path: "."
os: windows-latest
- git_url: "https://github.com/colelawrence/here-now"
sub_path: "hn-desktop-ui"
- git_url: "https://github.com/MunyaradziMagura/Pomodoro"
sub_path: "pomodoro"
- git_url: "https://github.com/flukejones/asusctl"
sub_path: "rog-control-center"
- git_url: "https://github.com/ellenhp/openlmr"
sub_path: "openlmr-core"
- git_url: "https://github.com/jenkinsmichpa/coconut_crab"
sub_path: "coconut_crab_client"
os: windows-latest
- git_url: "https://github.com/ivabus/lonelyradio"
sub_path: "monoclient-s"
- git_url: "https://github.com/ahqsoftwares/tauri-ahq-store"
sub_path: "src-setup"
- git_url: "https://github.com/qarmin/czkawka"
sub_path: krokiet
- git_url: "https://github.com/Vjze/Rust_demo" # this is using SurrealismUI
sub_path: Rust_Slint
- git_url: "https://github.com/LeeeSe/MessAuto"
os: macos-latest
- git_url: "https://github.com/planet0104/USB-Screen/"
extra_args: "--no-default-features --features=editor"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/install-linux-dependencies
if: runner.os == 'Linux'
with:
extra-packages: libpango1.0-dev libatk1.0-dev libgtk-3-dev alsa-utils libasound2-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libjack-jackd2-dev autoconf libxcb-xrm0 libxcb-xrm-dev automake libxcb-keysyms1-dev libxcb-util0-dev libxcb-icccm4-dev libyajl-dev libstartup-notification0-dev libxcb-randr0-dev libev-dev libxcb-cursor-dev libxcb-xinerama0-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev libudev-dev clang libavcodec-dev libavformat-dev libavutil-dev libavfilter-dev libavdevice-dev libasound2-dev pkg-config nasm libsoup2.4-dev libfuse3-dev libx11-xcb-dev
# Don't use the cache because we don't run this job often, and it would cache the .cargo/config.toml with extra keys
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- name: setup patch
run: |
echo "" >> ~/.cargo/config.toml
echo [patch.crates-io] >> ~/.cargo/config.toml
echo slint = { path = \"$GITHUB_WORKSPACE/api/rs/slint\" } >> ~/.cargo/config.toml
echo slint-build = { path = \"$GITHUB_WORKSPACE/api/rs/build\" } >> ~/.cargo/config.toml
echo slint-interpreter = { path = \"$GITHUB_WORKSPACE/internal/interpreter\" } >> ~/.cargo/config.toml
echo i-slint-backend-winit = { path = \"$GITHUB_WORKSPACE/internal/backends/winit\" } >> ~/.cargo/config.toml
- name: Checkout the repo
run: |
cd $HOME
git clone ${{ matrix.git_url }} the_repo --depth 1
cd the_repo
git submodule update --init --recursive
- name: build
run: |
cd $HOME/the_repo
rm -r rust-toolchain.toml .cargo/config.toml || true
cd ${{ matrix.sub_path }}
sed -i "s/{{project-name}}/the-project/" Cargo.toml
cargo update
cargo check ${{ matrix.extra_args }}
# Slint only: how can we test them?
# https://github.com/Surrealism-All/SurrealismUI
# https://github.com/8yteDance/SlintSubMenu
# C++
# https://github.com/LeVietXuanKG/TodoApp_Slint
# https://github.com/NatnaelTaddese/slint_cpp_bilinear_interpolation
# https://github.com/vudinhkhoa0/DEMO_DOAN_CTDL-GT
# https://github.com/progzone122/micropad