Skip to content

revamp: publish detailed analysis, psychology methods, and project brief #124

revamp: publish detailed analysis, psychology methods, and project brief

revamp: publish detailed analysis, psychology methods, and project brief #124

Workflow file for this run

name: Public Release CI
on:
push:
branches: ["main", "revamp/analysis-methods-doc"]
pull_request:
workflow_dispatch:
jobs:
test:
name: Public release checks (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Compile Python files
run: python -m compileall demo/src pipeline tools tests demo/tests
- name: Ruff - Demo
run: ruff check demo/src demo/tests tools/run_demo.py
- name: Ruff - Pipeline
run: ruff check pipeline
- name: Ruff - Public normalization
run: ruff check tools/normalize_public_dataset.py
- name: Ruff - Public analysis
run: ruff check tools/summarize_public_analysis.py
- name: Ruff - Project brief
run: ruff check tools/build_project_brief_docx.py
- name: Ruff - Other tools
shell: bash
run: |
files=$(find tools -maxdepth 1 -name '*.py' \
! -name 'run_demo.py' \
! -name 'normalize_public_dataset.py' \
! -name 'summarize_public_analysis.py' \
! -name 'build_project_brief_docx.py' -print)
if [ -n "$files" ]; then ruff check $files; fi
- name: Ruff - Tests
run: ruff check tests
- name: Test suite
run: python -m pytest demo/tests tests -q
- name: Normalize public data smoke
run: python tools/normalize_public_dataset.py --source-dir data/public --output-dir artifacts/normalized_public
- name: Analysis summary smoke
run: python tools/summarize_public_analysis.py --public-dir data/public --output artifacts/public_analysis_summary.json
- name: Project brief smoke
run: python tools/build_project_brief_docx.py --output artifacts/PsyLens_project_brief.docx
- name: Demo smoke
run: python tools/run_demo.py --provider mock --output artifacts/demo/ci
- name: Upload QA artifacts
uses: actions/upload-artifact@v4
with:
name: psylens-ci-${{ matrix.os }}
path: |
artifacts/public_analysis_summary.json
artifacts/PsyLens_project_brief.docx
artifacts/demo/ci
if-no-files-found: error