Skip to content

github: Avoid "This environment is externally managed" failures #78

github: Avoid "This environment is externally managed" failures

github: Avoid "This environment is externally managed" failures #78

Workflow file for this run

---
name: Tests
on:
push:
branches:
- master
pull_request:
workflow_dispatch:
jobs:
lint:
name: Code style and lint checks
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get -y install \
python3-pip
- name: Install python dependencies
run: |
python3 -m pip install flake8
- name: Run flake8
run: |
python3 -m flake8
tests:
strategy:
# Let other configurations continue if one fails.
fail-fast: false
matrix:
include:
- name: Arch Base
image: archlinux:base
setup: |
pacman -Sy --noconfirm \
base-devel \
cairo \
flatpak \
gobject-introspection \
openssh \
ostree \
python-pip \
python-setuptools \
python-wheel
- name: Debian Stable
image: debian:stable-slim
setup: |
apt-get update
apt-get -y install \
build-essential \
flatpak \
gir1.2-ostree-1.0 \
libcairo2-dev \
libgirepository1.0-dev \
openssh-client \
openssh-server \
ostree \
python3-dev \
python3-pip \
python3-setuptools \
python3-wheel
- name: Debian Testing
image: debian:testing-slim
setup: |
apt-get update
apt-get -y install \
build-essential \
flatpak \
gir1.2-ostree-1.0 \
libcairo2-dev \
libgirepository1.0-dev \
openssh-client \
openssh-server \
ostree \
python3-dev \
python3-pip \
python3-setuptools \
python3-wheel
- name: Fedora Stable
image: fedora:latest
setup: |
dnf -y install \
cairo-gobject-devel \
flatpak \
gobject-introspection-devel \
openssh-clients \
openssh-server \
ostree \
ostree-libs \
passwd \
python3-devel \
python3-pip
- name: Ubuntu LTS
image: ubuntu:latest
setup: |
apt-get update
apt-get -y install \
build-essential \
flatpak \
gir1.2-ostree-1.0 \
libcairo2-dev \
libgirepository1.0-dev \
openssh-client \
openssh-server \
ostree \
python3-dev \
python3-pip \
python3-setuptools \
python3-wheel
- name: Ubuntu Rolling
image: ubuntu:rolling
setup: |
apt-get update
apt-get -y install \
build-essential \
flatpak \
gir1.2-ostree-1.0 \
libcairo2-dev \
libgirepository1.0-dev \
openssh-client \
openssh-server \
ostree \
python3-dev \
python3-pip \
python3-setuptools \
python3-wheel
name: ${{ matrix.name }}
runs-on: ubuntu-latest
container: ${{ matrix.image }}
env:
DEBIAN_FRONTEND: noninteractive
PIP_BREAK_SYSTEM_PACKAGES: 1
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: System setup
run: ${{ matrix.setup }}
# sshd refuses to run if the hardcoded privilege separation
# directory doesn't exist.
- name: Create sshd privilege separation directory
run: |
mkdir -p /run/sshd
# sshd won't allow root login if the account is locked.
- name: Ensure root account unlocked
run: |
passwd -u root
- name: Install python dependencies
run: |
python3 -m pip install tox
- name: Run tests
run: |
python3 -m tox