diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e1be4c0..e6abddc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,6 @@ jobs: strategy: matrix: os: [windows-2019, macos-11, ubuntu-20.04] - build: [dev, release] steps: - name: Checkout @@ -31,7 +30,7 @@ jobs: path: | ~/.cargo target - key: ${{ matrix.os }}-${{ matrix.build }} + key: ${{ matrix.os }} - name: Install dependencies run: | @@ -45,40 +44,44 @@ jobs: shell: bash - name: Test - run: cargo test --all-features --profile ${{ matrix.build }} + run: cargo test --all-features --release - name: Build run: | if [ "$RUNNER_OS" == "macOS" ]; then - cargo bundle --all-features --profile ${{ matrix.build }} - cargo bundle --all-features --profile ${{ matrix.build }} --target aarch64-apple-darwin + cargo bundle --all-features --release + cargo bundle --all-features --release --target aarch64-apple-darwin + elif [ "$RUNNER_OS" == "Linux" ]; then + cargo build --all-features --release --target x86_64-unknown-linux-gnu else - cargo build --all-features --profile ${{ matrix.build }} + cargo build --all-features --release fi shell: bash - - name: Archive (Debug) + - name: Archive (Windows) + if: ${{ runner.os == 'Windows' }} uses: actions/upload-artifact@v3 with: - name: gupax-debug-${{ matrix.os }} - if: matrix.os == 'windows-2019' - path: target/debug/gupax.exe - if: matrix.os == 'macos-11' - path: | - target/debug/bundle/osx/Gupax.app - target/aarch64-apple-darwin/debug/bundle/osx/Gupax.app - if: matrix.os == 'ubuntu-20.04' - path: target/debug/gupax + name: windows + path: target/release/gupax.exe - - name: Archive (Release) + - name: Archive (macOS-x64) + if: ${{ runner.os == 'macOS' }} uses: actions/upload-artifact@v3 with: - name: gupax-release-${{ matrix.os }} - if: matrix.os == 'windows-2019' - path: target/release/gupax.exe - if: matrix.os == 'macos-11' - path: | - target/release/bundle/osx/Gupax.app - target/aarch64-apple-darwin/release/bundle/osx/Gupax.app - if: matrix.os == 'ubuntu-20.04' - path: target/release/gupax + name: macos-x64 + path: target/release/bundle/osx/Gupax.app + + - name: Archive (macOS-arm64) + if: ${{ runner.os == 'macOS' }} + uses: actions/upload-artifact@v3 + with: + name: macos-arm64 + path: target/aarch64-apple-darwin/release/bundle/osx/Gupax.app + + - name: Archive (Linux) + if: ${{ runner.os == 'Linux' }} + uses: actions/upload-artifact@v3 + with: + name: linux + path: target/x86_64-unknown-linux-gnu/release/gupax diff --git a/Cargo.lock b/Cargo.lock index 3d17447..28d94bb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1259,9 +1259,7 @@ dependencies = [ "egui", "egui-wgpu", "egui-winit", - "egui_glow", "getrandom 0.2.8", - "glow", "glutin", "js-sys", "percent-encoding", @@ -1325,21 +1323,6 @@ dependencies = [ "image", ] -[[package]] -name = "egui_glow" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad77d4a00402bae9658ee64be148f4b2a0b38e4fc7874970575ca01ed1c5b75d" -dependencies = [ - "bytemuck", - "egui", - "glow", - "memoffset 0.6.5", - "tracing", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "either" version = "1.8.1" @@ -2068,8 +2051,10 @@ dependencies = [ "image", "is_elevated", "log", + "lzma-sys", "num-format", "once_cell", + "openssl", "portable-pty", "rand 0.8.5", "regex", diff --git a/Cargo.toml b/Cargo.toml index ccc686d..df3b575 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -78,10 +78,8 @@ strsim = "0.10.0" tar = "0.4.38" flate2 = "1.0" sudo = "0.6.0" -## [glow] backend for Unix. -eframe = { version = "0.19.0", default-features = false, features = ["glow"] } -# macOS Tor +# macOS [target.'cfg(target_os = "macos")'.dependencies] # On apple-darwin targets there is an issue with the native and rustls # tls implementation so this makes it fall back to the openssl variant. @@ -95,17 +93,19 @@ openssl = { version = "0.10", features = ["vendored"] } # We don't even use `xz` in `flate2` but this gets dynamically # linked as well which causes problems, so statically link it. lzma-sys = { version = "0.1.20", features = ["static"] } +## [glow] backend for macOS. +eframe = { version = "0.19.0", default-features = false, features = ["glow"] } -# Windows/Linux Tor +# Windows/Linux [target.'cfg(not(target_os = "macos"))'.dependencies] tls-api-native-tls = "0.9.0" +## [wgpu] backend +eframe = { version = "0.19.0", default-features = false, features = ["wgpu"] } # Windows dependencies [target.'cfg(windows)'.dependencies] zip = "0.6.6" is_elevated = "0.1.2" -## [wgpu] backend for Windows. -eframe = { version = "0.19.0", default-features = false, features = ["wgpu"] } # For Windows build (icon) [target.'cfg(windows)'.build-dependencies]