Feature testing #8
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Tests | |
| on: | |
| workflow_dispatch: # Manual trigger for any branch | |
| pull_request: | |
| branches: | |
| - master # Run on pull requests targeting the master branch | |
| jobs: | |
| test: | |
| name: Test ${{ matrix.os == 'ubuntu-latest' && 'ubuntu' || matrix.os == 'windows-latest' && 'windows' || matrix.os == 'macos-latest' && 'macos' || matrix.os }} Python ${{ matrix.python-version }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install . | |
| pip install -r ./requirements.txt | |
| - name: Run unit tests | |
| run: | | |
| python test_sake.py | |
| - name: Run cross-platform functional tests | |
| run: | | |
| cd functests | |
| python run_cross_platform_tests.py | |
| - name: Run Unix-specific tests (Linux only) | |
| if: runner.os == 'Linux' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y pandoc figlet | |
| cd functests/test3 | |
| python functest.py |