Commit Graph

37 Commits

Author SHA1 Message Date
Utku
173fb421e6 bump pnpm (#798)
* bump pnpm

* bump ci pnpm version

* almost forgot a pnpm ci lol

* Update pnpm version installed during windows setup-script

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2023-05-05 22:14:49 +00:00
jake
947d912dab revert back to official ffmpeg package (fast ci) (#778) 2023-05-02 11:39:39 +00:00
Vítor Vasconcellos
164fcc34d3 Fix Windows CI + format (#767)
* Attempt to fix Windows CI:
- Ensure version 15 of LLVM is installed in Windows CI (due to` ffmpeg-sys-next`)
- Use `GITHUB_TOKEN` in setup-system.ps1 to avoid rate-limiting by github api in Windows CI
- Add `yaml` settings to `.editorconfig`
- Create a symbolic link from `.prettierignore` to `.eslintignore`
- Move `eslint` root to package root config
- Enable `fileNesting` to reduce dotfile clutter in vscode
- Pass `--strict` to apps/releases `lint` command to avoid making interactive queries and hanging `pnpm lint`
- Format with `prettier` and `eslint`
- Remove empty interface/hooks/useMediaQuery.ts

* Replace unmaintained `actions-rs/toolchain` with `dtolnay/rust-toolchain`
 - Change setup-system.ps1 to avoid installing pnpm in CI
 - Change `pnpm/action-setup` to lock only o major versions of the action
2023-04-27 07:32:15 +00:00
Vítor Vasconcellos
34f4f7d25a Fix for Windows setup script not working in non-Latin systems (#718)
Fix Windows setup script not working in non-Latin systems
 - Replace the system architecture check to use a method with a stable output
2023-04-18 18:36:04 +00:00
jake
d8ea2c172c update to ffmpeg 6.0.0 (#697) 2023-04-13 14:10:23 +00:00
Vítor Vasconcellos
3c83dca2fd Improve Windows setup script (#673)
* Improve Windows setup script
 - Change LLVM install logic to use version 15 instead of the latest, due to incompatibilities of new LLVM (16) with `ffmpeg-sys-next` build script
 - Add check to ensure script is executed as administrator, due to chocolatey requiring admin privileges to install `protoc`
 - Update ffmpeg to 5.1.1 to match used `ffmpeg-sys-next` version
 - Don't attempt to reinstall LLVM when it is already installed

* Wait for key press before closing script

* Fix typo

* Choco install auto accept

* Specify PNPM version when installing on windows

* More logs

* Fix windows setup script not copying ffmpeg dlls to the correct location

* Better installation logic for llvm, protobuf, ffmpeg
 - Remove dependency in Chocolatey
 - Download ffmpeg version based on ffmpeg-sys-next version
 - Improve version checks
 - Install protobuf directly from github
 - Update rimraf so globbing works in Windows
 - Avoid dist/.gitignore being deleted by rimraf

* Fix bugs and handle errors in Windows setup script
- Check for connectivity with GitHub before proceeding with setup.
- Implement a workaround for pnpm bootstrap problems on Windows.
- Check if Cargo packages are up to date before parsing the metadata.
- Ensure that the FFMPEG_DIR environment variable is set.
- Use double quotes for rimraf arguments on Windows.

* Auto-install VisualBuildTools (C++) and Rust in Windows setup
 - Fix protoc envvars not being set in CI
 - Improve logs

* Install LLVM automatically
 - Remove sleeps
 - Uninstall any imcompatible LLVM version present
 - Ensure path is fresh after installing rust and cargo

* Fix system path not being set correctly in windows setup script
 - Install node with winget and pnpm with npm
 - Rewrite initial script message
 - Don't wait for user interaction when running in CI

* Improve environment check to ensure we are on Windows x64
 - Warn users if they have already installed incompatible versions of LLVM and pnpm instead of silently removing them

* Ensure Path and Env are correctly set and available in the windows setup script
 - Improve error handling
 - Improve logs

* Fix FFmpeg version parsing getting multiple version sometimes
- Fix some typos
2023-04-10 13:38:20 +00:00
Utku
abeebcfd88 Mobile CI with Tests (#631)
* stuff

* stuff (but for android)

* test mobile ci

* move pnpm up

* install ndk

* add ios & cleanup

* onboarding flow test

* test ci

* fixes, cleanup, caches

* why you do this cargo

* fix pnpm-lock

* add path to build rust script?

* ci is fun

* yolo

* fix broken flow..

* fix pnpm

* probably not gonna work

* test x2

* use real branch of pcr

* android emulator and try ios x2

* Use react native architectures, instead of all.

* override architecture to speed up android build

* protoc & build android on macos too

* fix java ndk

* android gradle

* disable ios for now

* use simulator sdk & debug configuration on ios build

* cleanup

* avd test

* fix avd settings.

* only build for x86_64 on ci

* Fix ios build

* Add IOS testing

* maestro script

* ios release build & wait for library creation

* clean up and disable android for now

* fix pnpm-lock

* Add concurrency to cancel previous runs

* fix pnpm-lock

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-04-03 08:12:28 +00:00
Vítor Vasconcellos
804740af13 Fix thumbnails and file previews on Linux (#635)
* Fix thumbnails and file previews on Linux
 - Restructure auth_middleware to use axum's primitives to handle the auth tokens
 - Fix incorrect token loading in App.tsx
 - Add required dependencies for video playback to the Linux setup script
 - Minor improvements to the Linux setup script, make it less error prone
 - Fix a minor bug in the script_failure function in the Linux setup script

* Use a more idiomatic rust syntax in auth_middleware
2023-03-28 21:19:11 +00:00
Vítor Vasconcellos
d4f3fdc186 Fix pnpm format command failing with some files (#622)
* Fix `pnpm format` command failure
 - Update prettier and plugins dependencies
 - Add auto-install-peers to .npmrc
 - Fix formating of previously failing files
 - Some basic security mitigations (`pnpm audit --fix`)

* setup-system.sh: Don't do a full system update on ArchLinux

* Revert "Some basic security mitigations (`pnpm audit --fix`)"
2023-03-19 16:47:10 +00:00
jake
1e86d24c96 [ENG-430] *Nix setup script improvements (#602)
* add `protobuf` deps to arch and fedora

* update webkit2gtk package name for fedora >= 37

* revert last change as fedora 37/38 can still use the old name

This reverts commit cc9b2d7053.

* shfmt

* re-introduce webkit changes (and fix my bad bash)

* remove duplicate webkit dep

* update mac setup logic

* remove ffmpeg versioning (we don't use it on any other system)

* check that RPMFusion is enabled

* more verbose protobuf variable names

* add comments/todos and remove unnecessary 64 bit declaration

* fix incorrect command & use latest ffmpeg on macos

* update deps & remove comments
2023-03-15 16:11:15 +00:00
Oscar Beaumont
2518e98ad5 [ENG-407] Spacedrop backend (#598)
* format Rust

* Spacedrop a string

* Praise thee Clippy, lord of the Rust

* add protobuf to Mac and Linux CI

* plz GH Actions have Chocolatey
2023-03-09 11:27:45 +08:00
Brendan Allan
828ea8c498 CI Cache Factory (#593)
* introduce cache factory

run cache factory on all branches

add names

use single quotes

add setup and prisma generation

add pnpm install

don't install cargo-watch in ci

make composite setup script

use env var for windows ci

undo all powershell stuff

* better windows ci

* don't install cargo-watch in ci

* only run cache factory on main

* i'm silly

* debug only ci

* check runner instead of matrix in setup action

* don't save cache output most of the time

* no more os-specific features

* cache entire workspace

* only cache on main again

* test instead of buidl in cache factory

* smaller ci + testing

* don't individually test each crate

* remove unnecessary needs

* smaller formatting and more clippy

* undo rustfmt changes

* disable tests
2023-03-06 06:10:55 -08:00
Oscar Beaumont
6ddc88f9e1 Add Cargo Watch to install scripts (#584) 2023-02-27 13:54:26 +08:00
maxichrome
aa5d43efff Improve setup script (#436)
* Improve bash setup script (less silent!)

* use proper FFmpeg capitalization in relevant docs

* Fix typo in Homebrew error message

Co-authored-by: maxichrome <maxichrome@users.noreply.github.com>
2022-10-25 18:08:50 -07:00
Oscar Beaumont
c5c01a1317 PR #416
Co-authored-by: PyRo1121 <o.latham@me.com>
2022-10-18 02:23:23 +08:00
Brendan Allan
49d4dbb0dd Improve CI Speed (#398)
* use different cache

* cache prisma client in rustfmt

* cleanup prettier config

* build server image in sub-action

* server image + prisma client custom actions

* remove lefthoook checks that are in ci

* fix build-server-image

* rename Clippy job

* rename build core job

* use custom rust caching action

* fix rust cache shared key

* cleanup custom action job names

* remove platform check in clippy ci

* setup pnpm in clippy ci

* update mobile package name

* make ios compiling conditional

* use pnpm cache

* run clippy in release

* force use release for all jobs
2022-10-04 18:45:54 -07:00
Oscar Beaumont
1bcbf782c5 new invalidate_query + add IOS sim to setup script 2022-08-31 18:42:06 +08:00
ned-park
5112185c75 Adds trap for error handling from set -e, updates error handling conditionals for set -e compatibility, updates debian tauri dependencies 2022-08-23 12:03:56 -04:00
ned-park
810bf35565 Fixes Tauri dependencies for Debian Buster (stable), fixes warning for users without cargo or pnpm installed 2022-08-12 19:23:15 -04:00
Utku
8a79b07293 Mobile app (#352)
* Mobile app: Initial Commit!

* Fix monorepo issues and add tailwind.

Fix & Test tailwind.

working ball app

Fix workspace module import

* Mobile app cleanup and structure

* App Icons, Splash screen and eslint config

* More cleanup

* Use SVGs directly in React Native

* Add placeholder files for project structrate

* Cleanup all svg icons and modify metro config to use icons from interface package (temporary)

* Potentially fix types for react & update some packages.

* Onboarding screen + add reanimated & moti

* Finishing touches on Onboarding screen

* Persist onboarding, Button comp and Nav. flow.

* Add mobile info to Contributing.md

* Add .prettierignore for disabling auto import ordering for some files.

* Introducing the new navigation flow

* Change package name

* use the new @sd/assets package

* Add a temp. folder for @sd/assets organization

* Drawer nav bar looks good now.

* Hacky method to get the active route on drawer

* Fix react native types & update few packages.

* Drawer animation

* Add counter

* Collapsible Tags / Locations

* rename Counter and add saveState prop

* Sync counter with desktop version

* Move some screens to BottomTab Nav.

* Add Overview Stats

* [WIP] - Device component

* Upgrade to Expo 46 and fix types.

* Add @sd/core to mobile

* Fix eslint stuff

* placeholder and some notes

* Show folder icons on overview screen

* Fixed android build, style and some screen tweaks

* Add bottom sheet package

* Fix bundler issues and rename landing package.json

* Rename landing package.json

* update all packages to latest React

* Eject expo app

* fix pnpm & expo & monorepo

* monorepo debugging

* cleanup dependencies & static link to shared packages

* cleanup, switch to hermes, pollyfill intl for ios

* Cleanup monorepo

* Fix: Style for FileItem

* Above average app icons

* cleanup ios

* update msrv

* update codeowners for mobile

* fix typecheck

* update lockfile

* fix ffmpeg install

* rename UI to 'SpacedriveInterface' for clarity

* Update codeowners

* Fix eslint config mobile.

* Refactor navigation flow, move types to navigators

Co-authored-by: Utku <74243531+utkubkr@users.noreply.github.com>
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2022-08-08 20:29:14 -07:00
Oscar Beaumont
c97cdeaf8a fix macos ffmpeg install command 2022-08-04 13:17:19 +08:00
Oscar Beaumont
4db78f9927 Merge pull request #351 from spacedriveapp/brew-lock-ffmpeg
install custom ffmpeg version
2022-08-04 13:08:50 +08:00
Oscar Beaumont
3804f034f1 Move Rust backend to rspc (#345)
* move Rust backend to rspc

* move server to Axum + remove parts of old bridge

* move frontend over to @rspc/client

* move core to rspc + update deps

* fix Typescript errors + upgrade deps

* document invalidate_query! macro

* general cleanup + upgrade to PCR 0.6.0

* prisma error handling

* upgrade to rspc 0.0.4

* update vite-plugin-ssr

* fix typescript

* fix builds

* put landing page app name back

* hardcode ffmpeg version on Windows

* rename 'command' to 'mutation' to line up with react-query terminology

* upgrade rspc to v0.0.5 + fix types

* use shared ffmpeg binaries

* general Typescript cleanup

* fix clippy workflow failing due to tauri proc-macro

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2022-08-03 08:36:03 -07:00
Brendan Allan
df1405d665 install custom ffmpeg version 2022-08-01 11:09:29 +08:00
Oscar Beaumont
632705f1ce Merge pull request #321 from voletro/main
Rewrite of setup-system.ps1 for Windows development setup
2022-07-11 11:41:28 +08:00
Oscar Beaumont
d2de698764 fix Linux setup script for PopOS 2022-07-07 12:53:41 +08:00
voletro
c14da1c00c Add a close bracket (i'm dumb) 2022-07-06 12:33:23 +10:00
voletro
afd33b2d4c Remove Action for LLVM, use action that is already built in. Set GH env variables. 2022-07-06 12:28:28 +10:00
voletro
b783c32a04 Added headless mode, added LLVM installer to ci. 2022-07-05 11:21:42 +10:00
voletro
65ad2bab7e Remove user input so it works with ci. 2022-07-01 10:38:41 +10:00
voletro
b692426db4 Rewrite of setup-system.ps1
This is a full rewrite of setup-system.ps1 that sets up a users machine for Spacedrive development. The CONTRIBUTING.md also includes info on this file.
2022-06-30 11:44:14 +10:00
Oscar Beaumont
825fd8ecf5 fix clippy workflow (hopefully) 2022-06-20 11:27:37 +08:00
Oscar Beaumont
461c7b20d8 Fix CI (#242) 2022-06-14 22:27:03 +08:00
Ramprakash C
92cfc9e7a4 add Arch Linux commands to setup script (#77) 2022-05-09 12:28:28 +05:30
maxichrome
0192e2aff2 add execute permissions to setup-system script 2022-05-01 21:48:16 +08:00
Oscar Beaumont
ea7133489e Update Setup Script for Fedora (#87)
* added contributing guide + setup script

* fix README typo

Co-authored-by: matt <30363562+mmattbtw@users.noreply.github.com>

* Added ffmpeg dependencies for fedora (#86)

* Added ffmpeg dependencies for fedora

Added ffmpeg dependencies for fedora as requested.
Fedora still requires nodejs to be installed seperately.

* remove missing ffmpeg warning from Fedora

Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>

Co-authored-by: matt <30363562+mmattbtw@users.noreply.github.com>
Co-authored-by: 사무엘 <84483873+kor-pixel@users.noreply.github.com>
2022-05-01 16:47:44 +08:00
Oscar Beaumont
56d20b57ba added contributing guide + setup script (#47)
Co-authored-by: matt <30363562+mmattbtw@users.noreply.github.com>
2022-04-28 21:31:57 +08:00