c80c5631f0
* docker: do not require password for PostgreSQL superuser A password is now required by the postgres Docker image which makes initial setup (and our CI build) fail with the following error: postgres_1 | Error: Database is uninitialized and superuser password is not specified. postgres_1 | You must specify POSTGRES_PASSWORD for the superuser. Use postgres_1 | "-e POSTGRES_PASSWORD=password" to set it in "docker run". postgres_1 | postgres_1 | You may also use POSTGRES_HOST_AUTH_METHOD=trust to allow all connections postgres_1 | without a password. This is *not* recommended. See PostgreSQL postgres_1 | documentation about "trust": postgres_1 | https://www.postgresql.org/docs/current/auth-trust.html See https://github.com/docker-library/postgres/issues/681. * docker,kubernetes: create PostgreSQL "privacy" type before using it Fixes the following error when setting up the database: postgres_1 | 2020-02-21 01:01:22.371 UTC [172] ERROR: type "privacy" does not exist at character 200 postgres_1 | 2020-02-21 01:01:22.371 UTC [172] STATEMENT: CREATE TABLE public.playlists postgres_1 | ( postgres_1 | title text, postgres_1 | id text primary key, postgres_1 | author text, postgres_1 | description text, postgres_1 | video_count integer, postgres_1 | created timestamptz, postgres_1 | updated timestamptz, postgres_1 | privacy privacy, postgres_1 | index int8[] postgres_1 | ); postgres_1 | ERROR: type "privacy" does not exist postgres_1 | LINE 10: privacy privacy, * travis: do not run "docker-compose up" in detached mode Rather, allow database to finish its setup procedure and grant Invidious time to launch.
35 lines
1,008 B
YAML
35 lines
1,008 B
YAML
dist: bionic
|
|
|
|
jobs:
|
|
include:
|
|
- stage: build
|
|
# TODO: Shallowly clone again once the .git folder is no longer required for building
|
|
git:
|
|
depth: false
|
|
language: crystal
|
|
crystal: latest
|
|
before_install:
|
|
- shards update
|
|
- shards install
|
|
install:
|
|
- crystal build --warnings all --error-on-warnings src/invidious.cr
|
|
script:
|
|
- crystal tool format --check
|
|
- crystal spec
|
|
|
|
- stage: build_docker
|
|
# TODO: Shallowly clone again once the .git folder is no longer required for building
|
|
git:
|
|
depth: false
|
|
language: minimal
|
|
services:
|
|
- docker
|
|
install:
|
|
- docker-compose build
|
|
script:
|
|
- docker-compose up
|
|
- sleep 15 # Wait for cluster to become ready, TODO: do not sleep
|
|
- HEADERS="$(curl -I -s http://localhost:3000/)"
|
|
- STATUS="$(echo $HEADERS | head -n1)"
|
|
- if [[ "$STATUS" != *"200 OK"* ]]; then echo "$HEADERS"; exit 1; fi
|