Skip to content

[Cosmos] Use ContainerReference in Cosmos Client SDK, initial driver dependency for caches #426

[Cosmos] Use ContainerReference in Cosmos Client SDK, initial driver dependency for caches

[Cosmos] Use ContainerReference in Cosmos Client SDK, initial driver dependency for caches #426

name: Copilot Setup Steps
on:
workflow_dispatch: # Allow manual triggering
schedule:
# Run weekly to keep the environment fresh
- cron: '0 2 * * 1' # Monday at 2 AM UTC
push:
branches:
- main
paths:
- 'rust-toolchain.toml'
- 'Cargo.toml'
- '.github/workflows/copilot-setup-steps.yml'
pull_request:
paths:
- 'rust-toolchain.toml'
- 'Cargo.toml'
- '.github/workflows/copilot-setup-steps.yml'
jobs:
copilot-setup-steps:
name: Setup Copilot Coding Agent Environment
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Install gh-aw extension
uses: github/gh-aw/actions/setup-cli@956f874e40e831c08a8b01ec76f5d49ae3fe8387 # v0.53.6
with:
version: v0.53.6
- name: Install essential system dependencies
run: |
sudo apt-get update
sudo apt-get install -y pkg-config libssl-dev
- name: Cache cargo dependencies
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Setup environment variables
run: |
echo "RUST_BACKTRACE=1" >> $GITHUB_ENV
echo "CARGO_TERM_COLOR=always" >> $GITHUB_ENV
echo "RUSTFLAGS=-D warnings" >> $GITHUB_ENV
- name: Install azsdk mcp server
shell: pwsh
run: |
./eng/common/mcp/azure-sdk-mcp.ps1 -InstallDirectory $HOME/bin
- name: Verify workspace setup
run: |
# Test that we can run basic cargo commands
cargo --version
# Verify core can be built
cargo check --package azure_core --all-targets
# Verify that core tests can be discovered
cargo test --package azure_core --no-run
- name: Environment summary
run: |
echo "=== Rust Environment Summary ==="
rustc --version
cargo --version
echo "=== Installed Components ==="
rustup component list --installed
echo "=== System Dependencies ==="
openssl version
pkg-config --exists openssl && echo "OpenSSL pkg-config: OK" || echo "OpenSSL pkg-config: NOT FOUND"
echo "=== Workspace Structure ==="
find . -name "Cargo.toml" | head -10
echo "=== Environment Ready for Copilot Coding Agent ==="