Implements Autobahn tests against the WebSocket spec #13
Workflow file for this run
This file contains 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: spec tests | |
on: | |
push: | |
branches: | |
- main | |
- '*.x' | |
pull_request: | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
php: [8.2, 8.3] | |
laravel: [10] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
extensions: dom, curl, libxml, mbstring, zip | |
ini-values: error_reporting=E_ALL | |
tools: composer:v2 | |
coverage: none | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '2.7' | |
- name: Install PHP dependencies | |
run: | | |
composer require "illuminate/contracts=^${{ matrix.laravel }}" --no-update | |
composer update --prefer-dist --no-interaction --no-progress | |
- name: Install Python dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install autobahntestsuite | |
- name: Start WebSocket server | |
run: php echo.php & | |
- name: Run specification tests | |
run: wstest -m fuzzingclient -s client-spec.json --debug | |
- name: Set workflow status based on Autobahn exit status | |
run: exit $? |