Skip to content

wstest

wstest #104

Workflow file for this run

# runs autobahn testsuite and uploads to
# https://crossbario.com/reports/autobahn-testsuite-2021-03-17/clients/index.html
name: wstest
on:
# Trigger this workflow when the "deploy" workflow has completed successfully
# https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows#workflow_run
workflow_run:
workflows:
- deploy
branches:
- master
types:
- completed
jobs:
# runs on x86-64 (xeon-d) host: matterhorn
wstest_amd64:
if: github.ref == 'refs/heads/master'
runs-on: [self-hosted, linux, X64]
strategy:
matrix:
python-version: ['3.9', 'pypy-3.7']
env:
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
AWS_S3_BUCKET_NAME: ${{ secrets.AWS_S3_BUCKET_NAME }}
steps:
# Checkout sources
- uses: actions/checkout@v2
# Use this Python
# https://github.com/actions/setup-python/blob/main/README.md
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install Python package dependencies
run: |
curl -sSL https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py "pip<20"
pip3 show pip
pip3 install -r requirements-dev.txt
- name: Set environment
run: |
echo AUTOBAHN_BUILD_DATE=`date -u +"%Y-%m-%d"` >> $GITHUB_ENV
echo AUTOBAHN_BUILD_ID=$(date --utc +%Y%m%d)-$(git rev-parse --short ${GITHUB_SHA}) >> $GITHUB_ENV
echo AUTOBAHN_VCS_REF=`git rev-parse --short ${GITHUB_SHA}` >> $GITHUB_ENV
echo AUTOBAHN_VERSION=$(grep -E '^(__version__)' ./autobahn/_version.py | cut -d ' ' -f3 | sed -e 's|[u"'\'']||g') >> $GITHUB_ENV
- name: Print environment
run: |
echo ""
echo "Build environment configured:"
echo ""
echo " AUTOBAHN_BUILD_DATE = ${AUTOBAHN_BUILD_DATE}"
echo " AUTOBAHN_BUILD_ID = ${AUTOBAHN_BUILD_ID}"
echo " AUTOBAHN_VCS_REF = ${AUTOBAHN_VCS_REF}"
echo " AUTOBAHN_VERSION = ${AUTOBAHN_VERSION}"
echo ""
echo " AWS_DEFAULT_REGION = ${AWS_DEFAULT_REGION}"
echo " AWS_S3_BUCKET_NAME = ${AWS_S3_BUCKET_NAME}"
echo ""
- name: Install this package
run: |
pip install .[all]
- name: Run a Docker container with the fuzzing server and upload reports
run: |
cd wstest
make wstest_server_docker_stop
make wstest_server_docker_pull
make wstest_server_docker_quick
sleep 5
python testee_client_tx.py
python testee_client_aio.py
make wstest_server_docker_stop
pwd
ls -la .
ls -la ./reports
aws s3 sync --delete --acl public-read --region=${AWS_DEFAULT_REGION} \
./reports \
s3://crossbario.com/reports/websocket-testsuite/autobahn-${AUTOBAHN_VERSION}-${{ matrix.python-version }}