name: Build Check on: pull_request: branches: [ main ] env: CARGO_TERM_COLOR: always CARGO_INCREMENTAL: 1 CARGO_NET_RETRY: 10 RUSTUP_MAX_RETRIES: 10 RUST_BACKTRACE: 1 RUSTC_WRAPPER: sccache CARGO_BUILD_JOBS: 2 jobs: build: name: Build Check runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 'lts/*' cache: 'npm' - name: Cache Linux Dependencies id: cache-apt uses: actions/cache@v3 with: path: | /var/cache/apt /var/lib/apt/lists key: ${{ runner.os }}-apt-${{ hashFiles('**/build-check.yml') }} restore-keys: | ${{ runner.os }}-apt- - name: Install Linux Dependencies if: steps.cache-apt.outputs.cache-hit != 'true' run: | sudo apt-get update sudo apt-get install --no-install-recommends -y \ build-essential \ pkg-config \ libgtk-3-dev \ libayatana-appindicator3-dev \ librsvg2-dev \ libglib2.0-dev \ libjavascriptcoregtk-4.0-dev \ libsoup-3.0-dev \ libwebkit2gtk-4.1-dev - name: Install Rust uses: dtolnay/rust-toolchain@stable with: components: cargo target: x86_64-unknown-linux-gnu profile: minimal - uses: Swatinem/rust-cache@v2 with: workspaces: "./src-tauri -> target" shared-key: "build" - name: Install Dependencies run: npm ci - name: Build Application working-directory: ./src-tauri run: cargo build --verbose