name: Rust Build Cache Test on: push: branches: - main - master pull_request: env: CARGO_TERM_COLOR: always jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: https://gitea.com/actions/checkout@v4 - name: Get Cargo lock hash id: hash uses: https://gitea.com/actions/go-hashfiles@v0.0.1 with: patterns: | Cargo.lock Cargo.toml - name: Cache cargo uses: https://gitea.com/actions/cache@v3 with: path: | ~/.cargo/registry ~/.cargo/git target key: rust-${{ runner.os }}-${{ steps.hash.outputs.hash }} restore-keys: | rust-${{ runner.os }}- - name: Show cache info run: | echo "=== Cache Key ===" echo "rust-${{ runner.os }}-${{ steps.hash.outputs.hash }}" echo "" echo "=== Cargo cache directories ===" du -sh ~/.cargo/registry ~/.cargo/git target 2>/dev/null || echo "Dirs not yet present" echo "" echo "=== Cargo version ===" cargo --version - name: Build run: cargo build --verbose - name: Run run: cargo run - name: Check cache after build run: | echo "=== After build ===" echo "~/.cargo/registry: $(du -sh ~/.cargo/registry 2>/dev/null | cut -f1)" echo "~/.cargo/git: $(du -sh ~/.cargo/git 2>/dev/null | cut -f1)" echo "target: $(du -sh target 2>/dev/null | cut -f1)"