Skip to content

fix(assembly): strip /* */ block comments; re-validate 16-folder tri-comparison corpus #1448

fix(assembly): strip /* */ block comments; re-validate 16-folder tri-comparison corpus

fix(assembly): strip /* */ block comments; re-validate 16-folder tri-comparison corpus #1448

Workflow file for this run

name: GitGalaxy Smoke Tests
on:
pull_request:
branches: [main]
paths-ignore: ["docs/**"]
permissions:
contents: read
jobs:
# TRUE smoke test: cheap, OS/Python-version-sensitive checks only (package
# installs, CLI entry points, syntax floor) across the full matrix. Does
# NOT run the full pytest suite -- see full-suite (single env, below) for
# every-push regression coverage, and full-suite-gate.yml for the full
# matrix x full-suite backup run (fires on any PR label or a release tag).
# This split exists because most of tests/ (extraction/core_engine regex
# rules) has zero OS-dependency: running it 12x per push added CI cost
# that scaled with every language added to the extraction-hardening epic
# (#813) without adding real signal over running it once.
smoke-test:
runs-on: ${{ matrix.os }}
env:
PYTHONUTF8: "1"
GITGALAXY_LICENSE_KEY: "COMMUNITY_FREE_TIER"
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- name: Check out repository code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 #
with:
python-version: ${{ matrix.python-version }}
- name: Install macOS dependencies (OpenMP for XGBoost)
if: runner.os == 'macOS'
run: brew install libomp
- name: Install dependencies
shell: bash
run: |
python -m pip install --upgrade pip setuptools wheel
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
pip install PyYAML networkx tiktoken pandas xgboost pytest ruff==0.16.0
pip install --no-build-isolation -e .
# Cross-platform/cross-version floor check (fatal syntax errors, undefined
# names) -- kept separate from the single-environment, baseline-gated
# broader lint in ruff-audit.yml (#468), since THAT workflow only runs
# once on ubuntu/py3.12 and wouldn't catch a version- or OS-specific
# syntax issue. F63/F7/F82 are ruff's pyflakes-derived codes, same
# numbering flake8 used for this exact same check.
- name: Global Syntax Sweep (Ruff)
run: |
ruff check . --select=F63,F7,F82 --show-fixes --statistics
- name: Smoke Test - Core Engine
run: python -m gitgalaxy.galaxyscope --help
- name: Smoke Test - Legacy Refractor Controller
run: python -m gitgalaxy.cobol_refractor_controller --help
- name: Smoke Test - Java Spring Forge Controller
run: python -m gitgalaxy.cobol_to_java_controller --help
- name: Smoke Test - Supply Chain Firewall
run: python -m gitgalaxy.tools.supply_chain_security.supply_chain_firewall --help
- name: Smoke Test - API Network Map
run: python -m gitgalaxy.tools.network_auditing.full_api_network_map --help
# Full pytest suite, ONE representative environment (ubuntu/3.12), on
# every push. This is the fast-feedback regression net that used to run
# 12x inside the smoke-test matrix above; running it once here keeps that
# signal on every push without the 12x cost. The full OS x Python-version
# matrix still gets exercised, just not on every push -- see
# full-suite-gate.yml.
full-suite:
runs-on: ubuntu-latest
env:
PYTHONUTF8: "1"
GITGALAXY_LICENSE_KEY: "COMMUNITY_FREE_TIER"
steps:
- name: Check out repository code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Set up Python 3.12
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 #
with:
python-version: "3.12"
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
pip install PyYAML networkx tiktoken pandas xgboost pytest
pip install --no-build-isolation -e .
- name: Golden Record Integration Test (Pytest)
run: pytest tests/ -v