# Gitea Actions CI — zulip-platform-plugins name: CI on: pull_request: branches: [main] push: branches: [main] tags: - v* jobs: validate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Ensure python3 + PyYAML (act container is alpine-based, no python preinstalled) run: | . /etc/os-release echo "job OS: $ID" if command -v python3 >/dev/null 2>&1; then python3 --version elif command -v apk >/dev/null 2>&1; then echo "installing via apk" apk add --no-cache python3 py3-yaml python3 --version python3 -c "import yaml" || { echo "yaml import failed after py3-yaml; trying pip"; python3 -m pip install --break-system-packages pyyaml; } elif command -v apt-get >/dev/null 2>&1; then echo "installing via apt" apt-get update -qq apt-get install -y -qq python3 python3-yaml python3 --version else echo "no python3 and no apk/apt in job image — cannot run CI checks" exit 1 fi - run: node --version - name: Python syntax check run: | python3 -m py_compile plugins/platforms/zulip/adapter.py && echo "✅ adapter.py OK" python3 -m py_compile agent-zero-zulip/src/agent_zero_zulip/adapter.py && echo "✅ a2a adapter OK" - name: Workflow YAML parse check run: python3 ci_check.py workflows - name: Config validation run: python3 ci_check.py config - name: No secrets check run: python3 ci_check.py secrets - name: Deploy script syntax run: bash -n scripts/deploy.sh && echo "✅ deploy.sh syntax OK"