Commit Graph

24 Commits (f1eda037aba9a02bd8ff29441a3033d18081c75d)

Author SHA1 Message Date
Mike Lang bff3fa7800 Refactor build script to actually have a working cache using buildah
The old "docker build" no longer does caching the way it used to, and our cache logic doesn't work.

The new cache logic uses buildah, which is an alternate image build tool.
Buildah comes pre-installed on GHA.

When building, it pushes each layer as it goes to the cache repo.
It queries the repo for layers that are already built, so we don't need to explicitly pull
any specific tags and cache from them.

If caching is not enabled we still use docker as normal, so local development is not affected.
Local automatic caching will still apply.
4 weeks ago
Hubbe f122ef0d95 Special-case "latest" in CACHE_FROM in build script 4 weeks ago
Mike Lang b16ceef96a rename buscribe-api to buscribe_api
to match other services that use _ instead of -
1 month ago
Mike Lang d5caace905 Move buscribe/buscribe to buscribe/ and everything else to buscribe-remainder/
And make buscribe buildable using ./build
1 month ago
Mike Lang e758418f76 buscribe-api: Move from buscribe/ to top level and add to ./build 1 month ago
Mike Lang 2462a957d2 build: Split and format components array
No actual changes
1 month ago
Christopher Usher 2c8a27330f graphs container now builds 1 year ago
Mike Lang 30d5ccc483 Fix all old references to github.com/ekimekim/wubloader 1 year ago
Mike Lang 315c9c8297 Integrate chat archiver as a proper component 2 years ago
Mike Lang 3e768aa2a9 switch from quay.io to ghcr.io for image registry 3 years ago
Mike Lang a89bfcd271 Add playlist manager to all the various other places 4 years ago
Mike Lang d231078048 Add ability to explicitly pull and re-use layers from other commits when building
This is intended mainly for travis CI, because by default it doesn't cache any layers
between builds.

By pulling likely-reusable builds (all parents of the current commit),
we take a fixed cost slowdown but in many cases should see a dramatic speed increase
overall, since we won't need to re-build anything that hasn't changed.

This isn't needed for local builds, where docker will do this on its own
with any previously-built images.
5 years ago
Mike Lang 07b93f779c replace readlink -f with realpath in build scripts
readlink -f doesn't work on OS X
5 years ago
Mike Lang 751472217b Default to using the current commit, instead of latest
This is generally what you want, and will behave better than using latest.
5 years ago
Mike Lang 731ef9e2d0 Refactor dockerfiles for more shared layers
By carefully ensuring most of our dockerfiles are identical in their first few layers,
we only need to build those layers once instead of every time.

In particular, we move installing gevent to before installing common,
so that even when common changes gevent doesn't need to be reinstalled.

This is important because gevent takes ages to install.

Also fixes segment_coverage, which wasn't being installed.
5 years ago
Christopher Usher 027c2900e2 fixes in response to ekim's comments 5 years ago
Mike Lang 63eb324ba5 Add nginx service that provides a frontend to all the other services
This allows us to run all the different services and expose all their metrics,
all on one port.
6 years ago
Mike Lang 2b4d2cce90 sheet sync: Basic skeleton 6 years ago
Mike Lang e4b6110fd7 cutter: Add initial outline
The cutter has two jobs:
* To cut videos, taking them through states EDITED -> TRANSCODING
* To monitor TRANSCODING videos for when they're complete

We run these as separate greenlets with their own DB connections,
and if either dies we gracefully shut down the other.
6 years ago
Christopher Usher 5faa70dfc2 getting thrimshim to build and run is a minor success 6 years ago
Christopher Usher 1fcd9b5b36 Adding in stuff to hopefully get this to run 6 years ago
Mike Lang 941b9b017e build script: Add ability to push to remote repository after building 6 years ago
Mike Lang 7ffa90c7e6 restreamer: Make docker image work, fix missing dependencies
setup.py and Dockerfile were both totally out of whack
6 years ago
Mike Lang 1b21694c27 Add a simple build script to build docker images and a basic dockerfile 6 years ago