Skip to content
This repository was archived by the owner on Jul 3, 2026. It is now read-only.

feat: initial release v0.1.0 — 12 data science skills for AI coding a… #17

feat: initial release v0.1.0 — 12 data science skills for AI coding a…

feat: initial release v0.1.0 — 12 data science skills for AI coding a… #17

Workflow file for this run

name: Tests
on:
push:
branches: [main, dev]
pull_request:
branches: [main]
jobs:
unit-tests:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: pip install -r requirements.txt
- name: Unit tests
run: MPLBACKEND=Agg pytest tests/unit/ -q --tb=short
- name: Integration tests
run: MPLBACKEND=Agg pytest tests/integration/ -q --tb=short
cli-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22"
- name: Install dependencies
run: cd cli && npm ci
- name: Bundle skills and commands
run: cd cli && bash scripts/prepare-publish.sh
- name: Run CLI tests
run: cd cli && npm test
eval-validation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install dependencies
run: pip install -r requirements.txt
- name: Validate eval JSON structure
run: python tests/e2e/evals/run_evals.py --all --dry-run
package-content:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22"
- name: Install dependencies
run: cd cli && npm ci
- name: Prepare package bundle
run: cd cli && bash scripts/prepare-publish.sh
- name: Verify bundle contents
run: |
cd cli
# List what prepare-publish.sh bundled (skills + commands)
find skills commands -type f 2>/dev/null | sort > /tmp/pack-output.txt
cat /tmp/pack-output.txt
# Must not contain eval artifacts, test data, or caches
FORBIDDEN="evals/ test-workspace/ .cache/ __pycache__ .omc/"
for pattern in $FORBIDDEN; do
if grep -q "$pattern" /tmp/pack-output.txt; then
echo "FAIL: Bundle contains forbidden path: $pattern"
exit 1
fi
done
# File count sanity check (skills + commands only)
FILE_COUNT=$(wc -l < /tmp/pack-output.txt)
echo "Bundle file count: $FILE_COUNT"
if [ "$FILE_COUNT" -gt 300 ]; then
echo "FAIL: Bundle has $FILE_COUNT files (max 300)"
exit 1
fi
echo "PASS: Bundle contents verified"
license-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: pip install pip-licenses
- run: pip install -r requirements.txt
- run: |
pip-licenses --format=markdown --with-urls \
--fail-on="GNU General Public License;AGPL;Server Side Public License;Business Source License;Commons Clause"