diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..8adf298 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,48 @@ +name: CI + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +env: + CARGO_TERM_COLOR: always + RUST_BACKTRACE: "full" + +jobs: + ci: + runs-on: ${{ matrix.os }} + + strategy: + matrix: + os: [windows-2019, macos-11, ubuntu-20.04] + build: [dev, release] + + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Cache + uses: actions/cache@v3 + with: + path: | + ~/.cargo + target + key: ${{ matrix.os }}-${{ matrix.build }} + + - name: Install dependencies + run: | + if [ "$RUNNER_OS" == "Linux" ]; then + sudo apt update + sudo apt install -y libgtk-3-dev + fi + shell: bash + + - name: Test + run: cargo test --all-features --profile ${{ matrix.build }} + + - name: Build + run: cargo build --all-features --profile ${{ matrix.build }} diff --git a/.github/workflows/download.yml b/.github/workflows/download.yml index 13a8fbe..e52407d 100644 --- a/.github/workflows/download.yml +++ b/.github/workflows/download.yml @@ -1,7 +1,7 @@ # Attempts to download all files from `gupax.io` # and verify the SHA256SUMS & PGP signature. -name: Download & Verify `gupax.io` +name: gupax.io on: schedule: - cron: "0 2 * * *" diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml deleted file mode 100644 index 1e40a3f..0000000 --- a/.github/workflows/linux.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Linux - -on: - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - -env: - CARGO_TERM_COLOR: always - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - name: Cache - uses: actions/cache@v3.2.3 - with: - path: | - ~/.cargo/registry - ~/.cargo/git - target - key: linux - - uses: actions/checkout@v3 - - name: Install dependencies - run: | - sudo apt update - sudo apt install -y libgtk-3-dev - - name: Build - run: cargo build - - name: Test - run: cargo test diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml deleted file mode 100644 index 220e453..0000000 --- a/.github/workflows/macos.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: macOS - -on: - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - -env: - CARGO_TERM_COLOR: always - -jobs: - build: - - runs-on: macos-latest - - steps: - - name: Cache - uses: actions/cache@v3.2.3 - with: - path: | - ~/.cargo/registry - ~/.cargo/git - target - key: macos - - uses: actions/checkout@v3 - - name: Build - run: cargo build - - name: Test - run: cargo test diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml deleted file mode 100644 index ec2439d..0000000 --- a/.github/workflows/windows.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Windows - -on: - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - -env: - CARGO_TERM_COLOR: always - -jobs: - build: - - runs-on: windows-latest - - steps: - - name: Cache - uses: actions/cache@v3.2.3 - with: - path: | - ~\.cargo\registry - ~\.cargo\git - target - key: windows - - uses: actions/checkout@v3 - - name: Build - run: cargo build - - name: Test - run: cargo test diff --git a/README.md b/README.md index 0b7e59c..6d47e09 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,7 @@ Gupax is a GUI for mining [**Monero**](https://github.com/monero-project/monero) **To see a 3-minute video guide on how to set-up Gupax: [click here.](#Guide)** -[![Windows](https://github.com/hinto-janai/gupax/actions/workflows/windows.yml/badge.svg)](https://github.com/hinto-janai/gupax/actions/workflows/windows.yml) [![macOS](https://github.com/hinto-janai/gupax/actions/workflows/macos.yml/badge.svg)](https://github.com/hinto-janai/gupax/actions/workflows/macos.yml) [![Linux](https://github.com/hinto-janai/gupax/actions/workflows/linux.yml/badge.svg)](https://github.com/hinto-janai/gupax/actions/workflows/linux.yml) - -[![Remote Node Ping](https://github.com/hinto-janai/gupax/actions/workflows/ping.yml/badge.svg)](https://github.com/hinto-janai/gupax/actions/workflows/ping.yml) +[![CI](https://github.com/hinto-janai/gupax/actions/workflows/ci.yml/badge.svg)](https://github.com/hinto-janai/gupax/actions/workflows/ci.yml) [![gupax.io](https://github.com/hinto-janai/gupax/actions/workflows/download.yml/badge.svg)](https://github.com/hinto-janai/gupax/actions/workflows/download.yml) [![Remote Node Ping](https://github.com/hinto-janai/gupax/actions/workflows/ping.yml/badge.svg)](https://github.com/hinto-janai/gupax/actions/workflows/ping.yml) diff --git a/src/disk.rs b/src/disk.rs index a2fa137..8a4c797 100644 --- a/src/disk.rs +++ b/src/disk.rs @@ -57,6 +57,7 @@ use std::os::unix::fs::PermissionsExt; // State file const ERROR: &str = "Disk error"; const PATH_ERROR: &str = "PATH for state directory could not be not found"; + #[cfg(target_os = "windows")] const DIRECTORY: &str = r#"Gupax\"#; #[cfg(target_os = "macos")] @@ -104,8 +105,10 @@ pub const DEFAULT_P2POOL_PATH: &str = "p2pool/p2pool"; #[cfg(target_os = "linux")] #[cfg(not(feature = "distro"))] pub const DEFAULT_XMRIG_PATH: &str = "xmrig/xmrig"; +#[cfg(target_os = "linux")] #[cfg(feature = "distro")] pub const DEFAULT_P2POOL_PATH: &str = "/usr/bin/p2pool"; +#[cfg(target_os = "linux")] #[cfg(feature = "distro")] pub const DEFAULT_XMRIG_PATH: &str = "/usr/bin/xmrig";