Migrate updater-gui-tests job to GitHub Actions #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: CI | |
on: [push, pull_request] | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
container: ubuntu:focal | |
steps: | |
- name: Install Git | |
run: | | |
apt-get update && apt-get install --yes git | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install --yes --no-install-recommends \ | |
build-essential python3-virtualenv python3-dev enchant file apache2-dev | |
virtualenv .venv | |
# TODO: this should be one step, but there are too many conflicting dependencies | |
./.venv/bin/pip install -r securedrop/requirements/python3/test-requirements.txt | |
./.venv/bin/pip install -r securedrop/requirements/python3/requirements.txt | |
./.venv/bin/pip install -r securedrop/requirements/python3/develop-requirements.txt | |
- name: Run lint | |
run: | | |
git config --global --add safe.directory $GITHUB_WORKSPACE | |
source .venv/bin/activate | |
make lint | |
rust: | |
runs-on: ubuntu-latest | |
# Keep version in sync with rust-toolchain.toml | |
container: rust:1.71.1 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
rustup component add rustfmt | |
rustup component add clippy | |
- name: Lint and test Rust code | |
run: | | |
make rust-lint | |
make rust-test | |
updater-gui-tests: | |
runs-on: ubuntu-latest | |
container: debian:bullseye | |
steps: | |
- name: Install dependencies | |
run: | | |
apt-get update && apt-get install --yes git libqt5designer5 python3-venv | |
- uses: actions/checkout@v3 | |
- name: Install Python dependencies | |
run: | | |
cd journalist_gui | |
python3 -m venv .venv/ && source .venv/bin/activate | |
pip install --require-hashes -r dev-requirements.txt | |
- name: Run tests | |
run: | | |
cd journalist_gui | |
source .venv/bin/activate | |
QT_QPA_PLATFORM=offscreen python3 test_gui.py -v |