Base our SourceHut CI builds on Docker.

This allows us to use an identical build in CI and in local development. Not the
most optimal for CI, but means less to maintain and no inconsistencies.
This commit is contained in:
Ben Sturmfels 2021-08-23 16:34:34 +10:00
parent 8c44544817
commit 712728c331
No known key found for this signature in database
GPG Key ID: 023C05E2C9C068F0
4 changed files with 26 additions and 143 deletions

View File

@ -0,0 +1,14 @@
image: alpine/3.14
packages:
# Using Docker for CI is less efficient, but means we can run identical builds
# in CI and in local development.
- docker
tasks:
- setup: |
sudo adduser $(whoami) docker
sudo service docker start
sleep 2
- build: |
cd mediagoblin
docker build -t mediagoblin-debian-11 - < Dockerfile-debian-11-sqlite

View File

@ -1,74 +0,0 @@
image: debian/bullseye
packages:
# Install bootstrap and configure dependencies.
- automake
- nodejs
- npm
- python3-dev
- virtualenv
# Install make and runtime dependencies.
- python3-lxml
- python3-pillow
# Install test and docs dependencies.
- python3-pytest
- python3-pytest-xdist
- python3-snowballstemmer
- python3-sphinx
- python3-sphinxcontrib.devhelp
- python3-sphinxcontrib.qthelp
- python3-sphinxcontrib.websupport
- python3-webtest
# Install audio dependencies.
- gstreamer1.0-libav
- gstreamer1.0-plugins-bad
- gstreamer1.0-plugins-base
- gstreamer1.0-plugins-good
- gstreamer1.0-plugins-ugly
- python3-gst-1.0
- python3-numpy
# Install video dependencies.
- gir1.2-gst-plugins-base-1.0
- gir1.2-gstreamer-1.0
- gstreamer1.0-tools
- python3-gi
# Install raw image dependencies.
- libexiv2-dev
- libboost-python-dev
# Install document (PDF-only) dependencies.
- poppler-utils
# Install LDAP depedencies.
- python3-ldap
# Install OpenID dependencies.
- python3-openid
tasks:
- core: |
cd mediagoblin
git show --oneline --no-patch
./bootstrap.sh
VIRTUALENV_FLAGS='--system-site-packages' ./configure
make
# Install additional Sphinx dependencies not in Debian.
./bin/pip install sphinxcontrib-applehelp sphinxcontrib-htmlhelp sphinxcontrib-jsmath
# Install raw image library from PyPI as not available in Debian 10.
./bin/pip install py3exiv2
# Confirm our packages version for later troubleshooting.
./bin/python -m pip freeze
# Run the tests, explicitly listing out skipped tests.
./bin/python -m pytest -rs ./mediagoblin/tests --boxed
# Build the documentation.
cd docs && make html

View File

@ -0,0 +1,12 @@
image: alpine/3.14
packages:
- docker
tasks:
- setup: |
sudo adduser $(whoami) docker
sudo service docker start
sleep 2
- build: |
cd mediagoblin
docker build -t mediagoblin-fedora-33 - < Dockerfile-fedora-33-sqlite

View File

@ -1,69 +0,0 @@
image: fedora/33
packages:
# Install bootstrap and configure dependencies.
- automake
# - gcc
# - make
- nodejs
- npm
- python3-devel
- virtualenv
# Install make and runtime dependencies.
# - findutils
- python3-lxml
- python3-pillow
- libffi-devel
# - which
# Install test and docs dependencies.
- python3-pytest
- python3-pytest-xdist
- python3-snowballstemmer
- python3-sphinx
- python3-webtest
# Install audio dependencies.
- gstreamer1-plugins-base
- gstreamer1-plugins-bad-free
- gstreamer1-plugins-good
- gstreamer1-plugins-ugly-free
- python3-numpy
# Install video dependencies.
- python3-gobject
- python3-gstreamer1
- gstreamer1-plugin-openh264
# # Install raw image dependencies.
# - libexiv2-dev
# - libboost-python-dev
# # Install document (PDF-only) dependencies.
# - poppler-utils
# Install LDAP depedencies.
- python3-ldap
# Install OpenID dependencies.
- python3-openid
tasks:
- core: |
cd mediagoblin
git show --oneline --no-patch
./bootstrap.sh
VIRTUALENV_FLAGS='--system-site-packages' ./configure
make
# # Install raw image library from PyPI as not available in Debian 10.
# ./bin/pip install py3exiv2
# Confirm our packages version for later troubleshooting.
./bin/python -m pip freeze
# Run the tests, explicitly listing out skipped tests.
./bin/python -m pytest -rs ./mediagoblin/tests --boxed
# Build the documentation.
cd docs && make html