Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Iroh Integration Prototype #1

Merged
merged 45 commits into from
Sep 9, 2024
Merged
Show file tree
Hide file tree
Changes from 41 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
1496174
* Version bump
alvinosh May 28, 2024
6b82486
* Testing prototype
alvinosh May 29, 2024
72b1d55
fixed gitignore
alvinosh May 29, 2024
5eb7e1e
* Added Test version
alvinosh May 31, 2024
0d2d940
* Added camera QR scanner
alvinosh Jun 8, 2024
2e76cf6
added multifile and fixes
alvinosh Jun 11, 2024
5861541
Fixes to code quality
alvinosh Jun 18, 2024
b76cc68
Cargo Fix
alvinosh Jun 18, 2024
f17bcb3
Finished The refactor and polish
alvinosh Jun 18, 2024
167717d
Made fixes and changes proposed by Tarek
alvinosh Jul 1, 2024
5c68ec3
uniffi exmpaples
alvinosh Jul 1, 2024
1c69832
Initial version
alvinosh Jul 2, 2024
1daecf5
Added Sample Build
alvinosh Jul 2, 2024
4a0b636
Generated Bindings
alvinosh Jul 2, 2024
12021cf
Merge pull request #5 from ARK-Builders/alvinosh/uniffi
alvinosh Jul 4, 2024
71cc4a9
* PR Comment Fixes
alvinosh Jul 8, 2024
2f4477f
Chanage to github workflows
alvinosh Jul 10, 2024
6af1697
Fixed Check and Lint
alvinosh Jul 10, 2024
a1b8642
Fixed Deps
alvinosh Jul 10, 2024
14381d2
Fix
alvinosh Jul 10, 2024
9a0e13e
Adding Build
alvinosh Jul 10, 2024
89d0724
Cross Fix
alvinosh Jul 10, 2024
8ce9018
Added Rust Toolchain
alvinosh Jul 10, 2024
dd0f507
Changing to Windows to test
alvinosh Jul 10, 2024
a149c04
Installing Cross from Github
alvinosh Jul 10, 2024
9d25193
Adding Toolchains
alvinosh Jul 10, 2024
552bbbc
Adding Deps
alvinosh Jul 10, 2024
efbbf1c
Added Artifacts
alvinosh Jul 10, 2024
0b2a1fb
Seperated workflows so artifacts dont collide
alvinosh Jul 10, 2024
331ce4a
Minor refactoring
kirillt Aug 9, 2024
fabc568
Typo fix
kirillt Aug 10, 2024
83a4749
Added Debug mode for easier testing
alvinosh Aug 10, 2024
c9ea4de
Merge branch 'alvinosh/iroh-integration-prototype' of https://github.…
alvinosh Aug 10, 2024
3f3351d
Fixed Spelling mistakes
alvinosh Aug 10, 2024
0b2bb8d
Merge branch 'main' into alvinosh/iroh-integration-prototype
alvinosh Aug 10, 2024
cab0878
Updated Workflow to be more modern
alvinosh Aug 16, 2024
734f231
Added Missing Build Command
alvinosh Aug 16, 2024
9ea1768
Added Error Handling and Build Script
alvinosh Aug 16, 2024
b7efb78
Hopefully final fix to workflow
alvinosh Aug 16, 2024
716ca61
Fixed pushes branch logic
alvinosh Aug 16, 2024
9aabccc
Bug Fixes
alvinosh Aug 16, 2024
71cdcbb
Update Package-Lock.json
alvinosh Aug 16, 2024
36bfbd7
Lib Core Debug
alvinosh Aug 22, 2024
0eb836f
PR Tweaks
alvinosh Sep 9, 2024
eedc0d5
Fixed Debug File Log
alvinosh Sep 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions .github/workflows/build-library.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Build Library

env:
CARGO_TERM_COLOR: always

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
build-library:
name: Build Core Library and Kotlin Bindings
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Rust cache
uses: swatinem/rust-cache@v2
- name: install cargo ndk
run: cargo install cargo-ndk
- name: Add Rust Toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
- name: Build Library
run: cargo ndk -o ./target/release/jniLibs --target aarch64-linux-android --target armv7-linux-androideabi --target i686-linux-android --target x86_64-linux-android build -p drop_core --release
- name: Build Rust Library
run: cargo build -p drop_core
- name: Generate Bindings
run: cargo run -p uniffi-bingen generate --library ./target/debug/drop_core.dll --language=kotlin --out-dir ./target/release/bindings
- name: Upload Library
uses: actions/upload-artifact@v4
with:
name: ark-drop-core
path: ./target/release/jniLibs
- name: Upload Bindings
uses: actions/upload-artifact@v4
with:
name: ark-drop-bindings
path: ./target/release/bindings
27 changes: 16 additions & 11 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,33 @@ name: Build
env:
CARGO_TERM_COLOR: always

on: [push]
on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
build-tauri:
name: Build Tauri Application
permissions:
contents: write
strategy:
fail-fast: false
matrix:
settings:
- platform: 'macos-latest' # for Arm based macs (M1 and above).
- platform: 'macos-latest'
args: '--target universal-apple-darwin'
- platform: 'ubuntu-22.04' # for Tauri v1 you could replace this with ubuntu-20.04.
- platform: 'ubuntu-22.04'
args: ''
- platform: 'windows-latest'
args: ''

runs-on: ${{ matrix.settings.platform }}
env:
CI: true
steps:
- uses: actions/checkout@v4

Expand All @@ -29,8 +38,6 @@ jobs:
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
# webkitgtk 4.0 is for Tauri v1 - webkitgtk 4.1 is for Tauri v2.
# You can remove the one that doesn't apply to your app to speed up the workflow a bit.

- name: setup node
uses: actions/setup-node@v4
Expand All @@ -46,8 +53,6 @@ jobs:

- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: './src-tauri -> target'

- name: install frontend dependencies
# If you don't have `beforeBuildCommand` configured you may want to build your frontend here too.
Expand All @@ -67,25 +72,25 @@ jobs:
if: matrix.settings.platform == 'windows-latest'
with:
name: ark-drop-Windows.zip
path: ./src-tauri/target/release/bundle/
path: ./target/release/bundle/

- name: Upload Linux AppImage
if: matrix.settings.platform == 'ubuntu-22.04'
uses: actions/upload-artifact@v4
with:
name: ark-drop.AppImage
path: ./src-tauri/target/release/bundle/appimage/ark-drop_*_amd64.AppImage
path: ./target/release/bundle/appimage/ark-drop_*_amd64.AppImage

- name: Upload MacOS Build (ark-drop.app)
uses: actions/upload-artifact@v4
if: matrix.settings.platform == 'macos-latest'
with:
name: ark-drop-MacOS.zip
path: ./src-tauri/target/universal-apple-darwin/release/bundle/macos
path: ./target/universal-apple-darwin/release/bundle/macos

- name: Upload MacOS Build (ark-drop.dmg)
uses: actions/upload-artifact@v4
if: matrix.settings.platform == 'macos-latest'
with:
name: ark-drop-MacOS-dmg.zip
path: ./src-tauri/target/universal-apple-darwin/release/bundle/dmg
path: ./target/universal-apple-darwin/release/bundle/dmg
3 changes: 3 additions & 0 deletions .gitignore
tareknaser marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,6 @@ target
!.env.example
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
/src-tauri/.ark-drop-data-*
target
.vscode
11 changes: 0 additions & 11 deletions .vscode/settings.json
tareknaser marked this conversation as resolved.
Outdated
Show resolved Hide resolved

This file was deleted.

Loading