diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 41ed12e678..1b8fd10099 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,32 +31,38 @@ jobs: run: python setup/unix-ci.py test - # archtest: - # name: Test on Arch - # runs-on: ubuntu-latest - # container: - # image: 'archlinux/base:latest' - # env: - # CI: 'true' - # steps: - # - name: Prepare the container - # run: | - # pacman -Syu --noconfirm - # pacman -S --noconfirm tar - # - # - name: Checkout source code - # uses: actions/checkout@master - # with: - # fetch-depth: 10 - # - # - name: Install calibre dependencies - # run: setup/arch-ci.sh - # - # - name: Bootstrap calibre - # run: runuser -u ci -- python setup.py bootstrap --ephemeral - # - # - name: Test calibre - # run: | - # set -xe - # runuser -u ci -- python setup.py test - # runuser -u ci -- python setup.py test_rs + archtest: + name: Test on Arch + runs-on: ubuntu-latest + container: + image: 'archlinux/base:latest' + env: + CI: 'true' + steps: + - name: Setup container + # WORKAROUND for glibc 2.33 and old Docker + # See https://github.com/actions/virtual-environments/issues/2658 + # Thanks to https://github.com/lxqt/lxqt-panel/pull/1562 + run: | + patched_glibc=glibc-linux4-2.33-4-x86_64.pkg.tar.zst + curl -LO "https://repo.archlinuxcn.org/x86_64/$patched_glibc" + bsdtar -C / -xf "$patched_glibc" + pacman -Syu --noconfirm --ignore glibc + pacman -S --noconfirm tar + + - name: Checkout source code + uses: actions/checkout@master + with: + fetch-depth: 10 + + - name: Install calibre dependencies + run: setup/arch-ci.sh + + - name: Bootstrap calibre + run: runuser -u ci -- python setup.py bootstrap --ephemeral + + - name: Test calibre + run: | + set -xe + runuser -u ci -- python setup.py test + runuser -u ci -- python setup.py test_rs diff --git a/.github/workflows/translations.yml b/.github/workflows/translations.yml index ccc26a2ed5..3bc026a8d5 100644 --- a/.github/workflows/translations.yml +++ b/.github/workflows/translations.yml @@ -7,16 +7,22 @@ on: jobs: Push-To-Transifex: name: Update translations on Transifex - if: github.repository == 'kovidgoyal/calibre-disabled-because-arch-not-running-in-docker' + if: github.repository == 'kovidgoyal/calibre' runs-on: ubuntu-latest container: image: 'archlinux/base:latest' env: CI: 'true' steps: - - name: Prepare the container + - name: Setup container + # WORKAROUND for glibc 2.33 and old Docker + # See https://github.com/actions/virtual-environments/issues/2658 + # Thanks to https://github.com/lxqt/lxqt-panel/pull/1562 run: | - pacman -Syu --noconfirm + patched_glibc=glibc-linux4-2.33-4-x86_64.pkg.tar.zst + curl -LO "https://repo.archlinuxcn.org/x86_64/$patched_glibc" + bsdtar -C / -xf "$patched_glibc" + pacman -Syu --noconfirm --ignore glibc pacman -S --noconfirm tar - name: Checkout source code diff --git a/setup/arch-ci.sh b/setup/arch-ci.sh index 6954f7b0d9..02a44c3df6 100755 --- a/setup/arch-ci.sh +++ b/setup/arch-ci.sh @@ -4,6 +4,8 @@ # Copyright (C) 2020 Kovid Goyal set -xe -useradd -m ci + pacman -S --noconfirm --needed base-devel sudo git sip pyqt-builder chmlib icu jxrlib hunspell libmtp libusb 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 python-pychm python-pycryptodome speech-dispatcher python-sphinx python-urllib3 python-py7zr python-pip python-cchardet + +useradd -m ci chown -R ci:users $GITHUB_WORKSPACE