Skip to content

Sequential filtering architecture, critical parser fixes, and semiring optimizations #907

Sequential filtering architecture, critical parser fixes, and semiring optimizations

Sequential filtering architecture, critical parser fixes, and semiring optimizations #907

Workflow file for this run

# ABOUTME: GitHub Actions workflow to run all tests on PRs and pu merges
# ABOUTME: Validates Chalk's grammar, semiring, interpreter, and self-hosting capabilities
name: Test Suite
on:
pull_request:
branches: [ pu ]
push:
branches: [ pu ]
jobs:
self-hosting:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch full history for git merge-base to work
- name: Check for code changes
uses: dorny/paths-filter@v3
id: changes
with:
filters: |
code:
- 'lib/**'
- 't/**'
- 'app.pl'
- 'grammar/**'
- 'expected-ir/**'
- 'perl-tests/**'
- name: Skip message
if: steps.changes.outputs.code != 'true'
run: echo "No code changes detected, skipping tests"
- name: Set up Perl
if: steps.changes.outputs.code == 'true'
uses: shogo82148/actions-setup-perl@v1
with:
perl-version: '5.42'
- name: Install Perl dependencies
if: steps.changes.outputs.code == 'true'
run: |
cpanm --notest Test2::V0 Test::Deep
- name: Run test suite
if: steps.changes.outputs.code == 'true'
run: |
prove -lr t/