Files
immich-sdk/.github/workflows/integration-test.yml
Joakim Hulthe 2e7db3b35a Add integration testing infrastructure with Podman Compose
- Add docker/podman-compose.yml for Immich server (no ML)
- Add test-data/sample-photos/ with 3 public domain images
- Add scripts/start-immich.sh for container startup + admin/API key creation
- Add scripts/seed-data.sh for uploading test photos and creating albums
- Add scripts/stop-immich.sh for cleanup with volume destruction
- Add scripts/run-example.sh wrapper (fixed env var export)
- Update examples to use IMMICH_URL and IMMICH_API_KEY env vars
- Add .github/workflows/integration-test.yml for CI
- Update assets.list() to use /search/metadata endpoint
- Update AGENTS.md with example running instructions
- Add 5 new examples: search_metadata, album_management, timeline_browsing,
  delete_assets, server_info
2026-04-14 20:13:30 +00:00

52 lines
1023 B
YAML

name: Integration Tests
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
jobs:
integration-test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-action@stable
- name: Install Podman
run: |
sudo apt-get update
sudo apt-get install -y podman
sudo systemctl enable --now podman.socket
- name: Install podman-compose
run: |
sudo pip3 install podman-compose
- name: Start Immich
run: |
./scripts/start-immich.sh
- name: Seed test data
run: |
./scripts/seed-data.sh
- name: Run tests
run: |
source .env.test
cargo test
- name: Run examples
run: |
source .env.test
cargo run --example basic_usage
- name: Cleanup
if: always()
run: |
./scripts/stop-immich.sh