refactor(ci): extract system deps to reusable action
This commit is contained in:
@@ -0,0 +1,17 @@
|
|||||||
|
name: Install system dependencies
|
||||||
|
description: Install system dependencies required for building rustlock
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: composite
|
||||||
|
steps:
|
||||||
|
- name: Install system dependencies (Ubuntu/Debian)
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y \
|
||||||
|
curl \
|
||||||
|
llvm clang libclang-dev \
|
||||||
|
pkg-config \
|
||||||
|
libglib2.0-dev libcairo2-dev libpango1.0-dev libatk1.0-dev \
|
||||||
|
libgdk-pixbuf-2.0-dev libpam0g-dev libdbus-1-dev \
|
||||||
|
libwayland-dev libxkbcommon-dev
|
||||||
@@ -21,6 +21,8 @@ jobs:
|
|||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
|
|
||||||
|
- uses: ./.github/actions/deps
|
||||||
|
|
||||||
- name: Install Rust
|
- name: Install Rust
|
||||||
uses: dtolnay/rust-toolchain@stable
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
|
||||||
@@ -52,17 +54,7 @@ jobs:
|
|||||||
path: loc.json
|
path: loc.json
|
||||||
retention-days: 30
|
retention-days: 30
|
||||||
|
|
||||||
- name: Check compile times
|
- name: Generate dependency graph
|
||||||
run: |
|
|
||||||
echo "=== Compilation Metrics ==="
|
|
||||||
echo "Note: For accurate compile times, run: cargo clean && cargo build --timings"
|
|
||||||
echo ""
|
|
||||||
echo "To optimize compile times:"
|
|
||||||
echo "1. Check for large dependencies with: cargo tree --depth 1"
|
|
||||||
echo "2. Consider feature flag optimization"
|
|
||||||
echo "3. Review workspace structure"
|
|
||||||
|
|
||||||
- name: Dependency analysis
|
|
||||||
run: |
|
run: |
|
||||||
cargo install cargo-depgraph
|
cargo install cargo-depgraph
|
||||||
cargo depgraph --all-features --dedup-transitive --format dot > deps.dot
|
cargo depgraph --all-features --dedup-transitive --format dot > deps.dot
|
||||||
|
|||||||
@@ -17,15 +17,7 @@ jobs:
|
|||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
|
|
||||||
- name: Install system dependencies
|
- uses: ./.github/actions/deps
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y \
|
|
||||||
llvm clang libclang-dev \
|
|
||||||
pkg-config \
|
|
||||||
libglib2.0-dev libcairo2-dev libpango1.0-dev libatk1.0-dev \
|
|
||||||
libpam0g-dev libdbus-1-dev \
|
|
||||||
libwayland-dev libxkbcommon-dev
|
|
||||||
|
|
||||||
- name: Install Rust with tools
|
- name: Install Rust with tools
|
||||||
uses: dtolnay/rust-toolchain@stable
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
|||||||
Reference in New Issue
Block a user