diff --git a/.github/workflows/build-check.yml b/.github/workflows/build-check.yml index 5e96c33..6a2bd51 100644 --- a/.github/workflows/build-check.yml +++ b/.github/workflows/build-check.yml @@ -6,6 +6,12 @@ on: 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: ${{ runtime.numCPU }} jobs: build: @@ -21,13 +27,22 @@ jobs: node-version: 'lts/*' cache: 'npm' - - name: Install Rust - uses: dtolnay/rust-toolchain@stable - + - 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 -y \ + sudo apt-get install --no-install-recommends -y \ build-essential \ pkg-config \ libgtk-3-dev \ @@ -37,12 +52,21 @@ jobs: 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: + shared-key: "build" + save-if: ${{ github.ref == 'refs/heads/main' }} - name: Install Dependencies - run: npm install - - - name: Build Frontend - run: npm run build + run: npm ci - name: Build Application - run: npm run tauri build \ No newline at end of file + run: npm run tauri build \ No newline at end of file