aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Sturmfels <ben@sturm.com.au>2021-08-23 16:34:34 +1000
committerBen Sturmfels <ben@sturm.com.au>2021-08-23 17:43:01 +1000
commit712728c331ea3518b1964bbc7fcf06ff2c567064 (patch)
tree46d0dc6c45d6ab05f6bcd541c9505ec5382ff17a
parent8c44544817dae1eb95e771c720ff20917d274d54 (diff)
downloadmediagoblin-712728c331ea3518b1964bbc7fcf06ff2c567064.tar.lz
mediagoblin-712728c331ea3518b1964bbc7fcf06ff2c567064.tar.xz
mediagoblin-712728c331ea3518b1964bbc7fcf06ff2c567064.zip
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.
-rw-r--r--.builds/debian-11-docker.yml14
-rw-r--r--.builds/debian-11-sqlite.ypm74
-rw-r--r--.builds/fedora-33-docker.yml12
-rw-r--r--.builds/fedora-33-sqlite.yml69
4 files changed, 26 insertions, 143 deletions
diff --git a/.builds/debian-11-docker.yml b/.builds/debian-11-docker.yml
new file mode 100644
index 00000000..4a52effb
--- /dev/null
+++ b/.builds/debian-11-docker.yml
@@ -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
diff --git a/.builds/debian-11-sqlite.ypm b/.builds/debian-11-sqlite.ypm
deleted file mode 100644
index 60596a77..00000000
--- a/.builds/debian-11-sqlite.ypm
+++ /dev/null
@@ -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
-
diff --git a/.builds/fedora-33-docker.yml b/.builds/fedora-33-docker.yml
new file mode 100644
index 00000000..84483402
--- /dev/null
+++ b/.builds/fedora-33-docker.yml
@@ -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
diff --git a/.builds/fedora-33-sqlite.yml b/.builds/fedora-33-sqlite.yml
deleted file mode 100644
index 061edff3..00000000
--- a/.builds/fedora-33-sqlite.yml
+++ /dev/null
@@ -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