wstest #102
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
# 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 }} |