name: CI on: [push, pull_request] jobs: test: name: Test on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest, windows-2016] steps: - name: Checkout source code uses: actions/checkout@master with: fetch-depth: 10 - name: Set up Python uses: actions/setup-python@master with: python-version: 3.7 - name: Install calibre dependencies run: python setup/unix-ci.py install - name: Bootstrap calibre run: python setup/unix-ci.py bootstrap - name: Test calibre run: python setup/unix-ci.py test archtest: name: Test on Arch runs-on: ubuntu-latest container: image: 'archlinux/base:latest' env: CI: 'true' CALIBRE_PY3_PORT: '1' steps: - name: Install calibre dependencies run: | set -xe useradd -m ci pacman -Syu --noconfirm pacman -S --noconfirm --needed base-devel sudo git sip chmlib icu jxrlib hunspell libmtp libusbx libwmf optipng podofo python-apsw python-beautifulsoup4 python-cssselect python-css-parser python-dateutil python-dbus python-dnspython python-dukpy python-feedparser python-html2text python-html5-parser python-lxml python-markdown python-mechanize python-msgpack python-netifaces python-unrardll python-pillow python-psutil python-pygments python-pyqt5 python-regex python-zeroconf python-pyqtwebengine qt5-x11extras qt5-svg qt5-imageformats udisks2 hyphen - name: Checkout source code uses: actions/checkout@master with: fetch-depth: 10 - name: Bootstrap calibre run: | chown -R ci:users $GITHUB_WORKSPACE runuser -u ci -- python setup.py bootstrap --ephemeral - name: Test calibre run: | runuser -u ci -- python setup.py test runuser -u ci -- python setup.py test_rs chmod +777 .git .git/config