name: "Copilot Setup Steps"
on:
workflow_dispatch:
push:
paths:
- .github/workflows/copilot-setup-steps.yml
pull_request:
paths:
- .github/workflows/copilot-setup-steps.yml
jobs:
copilot-setup-steps:
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Set up Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Enable Rust cache
uses: Swatinem/rust-cache@v2
- name: Build dependency-installer binary
run: |
cargo build --release -p torrust-tracker-deployer-dependency-installer --bin dependency-installer
- name: Install all development dependencies
run: |
# Use the binary we just built to install all dependencies
# Note: The binary handles sudo internally for dependencies that need it
target/release/dependency-installer install
env:
DEBIAN_FRONTEND: noninteractive
- name: Verify installations
run: |
# Verify all tools are installed correctly
target/release/dependency-installer check
- name: Install Git pre-commit hooks
run: |
./scripts/install-git-hooks.sh