steps:
  - name: test-pyswiss
    image: python:3.13-slim
    environment:
      SWISSEPH_PATH: /tmp/ephe
    commands:
      - apt-get update -qq && apt-get install -y -q gcc g++
      - pip install -r pyswiss/requirements.txt
      - cd ./pyswiss
      - python manage.py test apps.charts
    when:
      - event: push
        path:
          - "pyswiss/**"
          - ".woodpecker/pyswiss.yaml"

  - name: deploy-pyswiss
    image: alpine
    environment:
      SSH_KEY:
        from_secret: pyswiss_deploy
    commands:
      - apk add --no-cache openssh-client
      - mkdir -p ~/.ssh
      - printf '%s\n' "$SSH_KEY" > ~/.ssh/id_ed25519
      - chmod 600 ~/.ssh/id_ed25519
      - ssh -o StrictHostKeyChecking=no discoman@167.172.154.66 /home/discoman/deploy.sh
    when:
      - branch: main
        event: push
        path:
          - "pyswiss/**"
          - ".woodpecker/pyswiss.yaml"
