name: Build Check on: pull_request: branches: [ main ] paths: - 'src-tauri/**' 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/archives/*.deb /var/lib/apt/lists/* key: ${{ runner.os }}-apt-${{ hashFiles('**/package.json', '**/Cargo.lock') }} restore-keys: | ${{ runner.os }}-apt- - name: Install Linux Dependencies run: | sudo rm -rf /var/cache/apt/archives/lock sudo rm -rf /var/cache/apt/archives/partial sudo rm -rf /var/lib/apt/lists/lock sudo rm -rf /var/lib/apt/lists/partial 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 - name: Install sccache run: | SCCACHE_VERSION=v0.7.7 curl -L "https://github.com/mozilla/sccache/releases/download/${SCCACHE_VERSION}/sccache-${SCCACHE_VERSION}-x86_64-unknown-linux-musl.tar.gz" | tar xz sudo mv sccache-*/sccache /usr/local/bin/sccache echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV - uses: Swatinem/rust-cache@v2 with: workspaces: "./src-tauri -> target" shared-key: "build" - name: Install Dependencies run: npm ci - name: Build Application run: | npm run tauri build -- \ --target x86_64-unknown-linux-gnu \ --bundles deb \ --ci