Add an integration test for VNC + websockify #257
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
# This is a GitHub workflow defining a set of jobs with a set of steps. | |
# ref: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions | |
# | |
name: Integration Tests | |
on: | |
pull_request: | |
push: | |
branches-ignore: | |
- "dependabot/**" | |
- "pre-commit-ci-update-config" | |
tags: ["**"] | |
workflow_dispatch: | |
defaults: | |
run: | |
# Both TigerVNC and TurboVNC reports "the input device is not a TTY" if | |
# started without a TTY. GitHub Actions environments doesn't come with one, | |
# so this provides one. | |
# | |
# ref: https://github.com/actions/runner/issues/241#issuecomment-842566950 | |
# | |
shell: script --quiet --return --log-out /dev/null --command "bash -e {0}" | |
jobs: | |
image-test: | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 10 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- vncserver: tigervnc | |
- vncserver: turbovnc | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- name: Install testing requirements | |
run: | | |
pip install -r dev-requirements.txt | |
# Install websocat, needed for integration tests | |
wget -q https://github.com/vi/websocat/releases/download/v1.12.0/websocat.x86_64-unknown-linux-musl \ | |
-O /usr/local/bin/websocat | |
chmod +x /usr/local/bin/websocat | |
- name: Run Integration tests | |
run: | | |
export PYTHONUNBUFFERED=1 | |
py.test integration-tests/ -s --full-trace |