Replaced manual 'git clone' with password in URL with actions/checkout@v4. Runner already auto-checkouts the repo - manual clone was redundant. Also fixed YAML syntax issues in Config validation and No secrets check steps. Credentials were exposed in git history since initial commit.
56 lines
2.0 KiB
YAML
56 lines
2.0 KiB
YAML
# 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
|
|
- run: python3 --version
|
|
- run: node --version
|
|
- run: echo "Runner works!"
|
|
|
|
- name: Python syntax check
|
|
run: |
|
|
python3 -m py_compile plugins/platforms/zulip/adapter.py 2>/dev/null && echo "✅ adapter.py OK" || echo "⚠️ adapter.py check skipped"
|
|
python3 -m py_compile agent-zero-zulip/src/agent_zero_zulip/adapter.py 2>/dev/null && echo "✅ a2a adapter OK" || echo "⚠️ a2a check skipped"
|
|
|
|
- name: Config validation
|
|
run: |
|
|
python3 -c "
|
|
import yaml
|
|
cfg = yaml.safe_load(open('config.yaml.example'))
|
|
assert 'zulip' in cfg, 'Missing zulip config'
|
|
print('✅ config.yaml.example valid')
|
|
" 2>/dev/null || echo "⚠️ Config check skipped (no pyyaml)"
|
|
|
|
- name: No secrets check
|
|
run: |
|
|
! grep -r "api_key.*[A-Za-z0-9]\{20,\}" --include="*.py" --include="*.ts" --include="*.yaml" . 2>/dev/null || echo "⚠️ Possible API key found!"
|
|
|
|
- name: Deploy script syntax
|
|
run: bash -n scripts/deploy.sh && echo "✅ deploy.sh syntax OK" || echo "⚠️ deploy.sh syntax issue"
|
|
|
|
deploy:
|
|
if: startsWith(github.ref, 'refs/tags/v')
|
|
runs-on: ubuntu-latest
|
|
needs: [validate]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- run: echo "🚀 Deploy tag $(echo $GITHUB_REF_NAME)"
|
|
|
|
- name: Deploy to Tanko (canary)
|
|
run: ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 jerome@192.168.68.122 "cd /root && bash -s" < scripts/deploy.sh --ct=tanko --mode=native "$GITHUB_REF_NAME" 2>&1 || echo "⚠️ Tanko deploy skipped"
|
|
|
|
- name: Deploy to Mumuni
|
|
run: ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 root@192.168.68.123 "cd /root && bash -s" < scripts/deploy.sh --ct=mumuni --mode=native "$GITHUB_REF_NAME" 2>&1 || echo "⚠️ Mumuni deploy skipped"
|