wbxcallprov/.gitea/workflows/ci.yml
jmcqueen 63f35027f6
Some checks failed
CI / verify (push) Has been cancelled
Add daily store phone export to Webex space
Weekday 10am Eastern cron exports all Webex Calling locations whose
name starts with "Store" to a legacy-format CSV (+E164,Store XXXX),
diffs against the previous baseline, and posts the file plus a change
summary to a configured Webex space.

- src/webex/storePhones.js: paginated GET /telephony/config/locations
- src/services/storePhoneExport.js: CSV format, filename, diff, message
- src/webex/messages.js: bot-token multipart POST /messages with file
- src/jobs/storePhoneExport.js + cron in src/index.js
- scripts/exportStorePhones.js for manual runs (npm run export-store-phones)
- Persist baseline + archives under data/store-phone-export/ (gitignored)
- Dockerfile: create /app/data for volume mount in prod
- CI: align node-version with Dockerfile (20)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 14:57:45 -04:00

44 lines
1.2 KiB
YAML

# Gitea Actions CI for wbxcallprov.
#
# Runs on every push and PR against main. Matches the runtime image:
# node:20-alpine in Dockerfile -> node-version: 20 here.
#
# The three checks are the same ones a developer runs locally before pushing:
# npm run lint - ESLint flat config, catches unused vars / var / ==
# npm run format:check - Prettier drift detection (writes are separate)
# npm test - node --test suite for pure-logic functions
#
# Tests never hit the network; dummy env vars come from test/setup.js.
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
verify:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node 20
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
- name: Format check
run: npm run format:check
- name: Test
run: npm test