Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 16 additions & 81 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,70 +27,32 @@ jobs:
name: Build and Test Rust Project
runs-on: goose
steps:
# Add disk space cleanup before linting
- name: Check disk space before build
run: df -h

#https://github.com/actions/runner-images/issues/2840
- name: Clean up disk space
run: |
echo "Cleaning up disk space..."
sudo rm -rf \
/opt/google/chrome \
/opt/microsoft/msedge \
/opt/microsoft/powershell \
/usr/lib/mono \
/usr/local/lib/android \
/usr/local/lib/node_modules \
/usr/local/share/chromium \
/usr/local/share/powershell \
/usr/share/dotnet \
/usr/share/swift \
/opt/ghc \
/opt/hostedtoolcache \
/usr/local/graalvm \
/usr/local/sqlpackage

# Clean package manager caches
sudo apt-get clean
sudo apt-get autoremove -y

# Clean docker if present
docker system prune -af 2>/dev/null || true

df -h

- name: Checkout Code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # pin@v4

- name: Activate hermit and set CARGO_HOME
run: |
source bin/activate-hermit
echo "CARGO_HOME=$CARGO_HOME" >> $GITHUB_ENV
echo "RUSTUP_HOME=$RUSTUP_HOME" >> $GITHUB_ENV

- name: Install Dependencies
run: |
sudo apt update -y
sudo apt install -y libdbus-1-dev gnome-keyring libxcb1-dev

- name: Cache Cargo Registry
- name: Cache Cargo artifacts
uses: actions/cache@2f8e54208210a422b2efd51efaa6bd6d7ca8920f # pin@v3
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
path: |
${{ env.CARGO_HOME }}/bin/
${{ env.CARGO_HOME }}/registry/index/
${{ env.CARGO_HOME }}/registry/cache/
${{ env.CARGO_HOME }}/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-registry-

- name: Cache Cargo Index
uses: actions/cache@2f8e54208210a422b2efd51efaa6bd6d7ca8920f # pin@v3
with:
path: ~/.cargo/index
key: ${{ runner.os }}-cargo-index
restore-keys: |
${{ runner.os }}-cargo-index

- name: Cache Cargo Build
uses: actions/cache@2f8e54208210a422b2efd51efaa6bd6d7ca8920f # pin@v3
with:
path: target
key: ${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-build-
${{ runner.os }}-cargo-

- name: Build and Test
run: |
Expand All @@ -100,32 +62,6 @@ jobs:
cargo test --jobs 2
working-directory: crates

- name: Check disk space before cleanup
run: df -h

- name: Clean up disk space
run: |
echo "Cleaning up disk space..."
# Remove debug artifacts that are no longer needed after tests
rm -rf target/debug/deps
rm -rf target/debug/build
rm -rf target/debug/incremental
# Clean cargo cache more aggressively
cargo clean || true
# Clean npm cache if it exists
npm cache clean --force 2>/dev/null || true
# Clean apt cache
sudo apt-get clean
sudo apt-get autoremove -y
# Remove unnecessary large directories
rm -rf ~/.cargo/registry/index || true
rm -rf ~/.cargo/registry/cache || true
# Remove docker images if any
docker system prune -af 2>/dev/null || true

- name: Check disk space after cleanup
run: df -h

- name: Lint
run: |
source ./bin/activate-hermit
Expand All @@ -140,7 +76,7 @@ jobs:
run: |
source ./bin/activate-hermit
just check-openapi-schema

desktop-lint:
name: Lint Electron Desktop App
runs-on: macos-latest
Expand All @@ -156,7 +92,6 @@ jobs:
run: source ../../bin/activate-hermit && npm run lint:check
working-directory: ui/desktop


# Faster Desktop App build for PRs only
bundle-desktop-unsigned:
uses: ./.github/workflows/bundle-desktop.yml
Expand Down
Loading