Skip to content

Crater

Crater #59

Workflow file for this run

# Copyright © SixtyFPS GmbH <[email protected]>
# 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
# sub_path: "."
- git_url: "https://github.com/planet0104/USB-Screen/"
extra_args: "--no-default-features --features=editor"
sub_path: "."
runs-on: "ubuntu-latest"
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