--- priviliged: true # Needed for Docker in Docker kind: pipeline name: default steps: # Run Mypy/Flake8/black linters before any further work is done - name: lint image: python:3 commands: - pip install -U pip - pip install mypy flake8 black - black --check . - flake8 # - mypy --ignore-missing-imports . - mypy --ignore-missing-imports setup_wizard # Build the container images we need for the test suite - name: build_containers image: docker:dind environment: DOCKER_HOST: tcp://docker:2375 commands: - apk update && apk upgrade && apk add --no-cache bash git openssh curl - docker network create fede - docker pull mongo - docker pull poussetaches/poussetaches - docker build . -t microblogpub:latest # Run poussetaches (will be shared by the two microblog.pub instances) "in the background" - name: run_poussetaches image: docker:dind detach: true environment: DOCKER_HOST: tcp://docker:2375 POUSSETACHES_AUTH_KEY: lol commands: - docker run -p 7991:7991 --net fede -e POUSSETACHES_AUTH_KEY --name poussetaches poussetaches/poussetaches # Run MongoDB (will be shared by the two microblog.pub instances) "in the background" - name: run_mongodb image: docker:dind detach: true environment: DOCKER_HOST: tcp://docker:2375 commands: - docker run -p 27017:27017 --net fede --name mongo mongo # Run a first microblog.pub instance "in the background" - name: microblogpub_instance1 image: docker:dind detach: true environment: DOCKER_HOST: tcp://docker:2375 MICROBLOGPUB_DEBUG: 1 MICROBLOGPUB_POUSSETACHES_HOST: http://poussetaches:7991 MICROBLOGPUB_INTERNAL_HOST: http://instance1_web:5005 MICROBLOGPUB_MONGODB_HOST: mongo:27017 POUSSETACHES_AUTH_KEY: lol commands: - sleep 5 - 'docker run -p 5006:5005 --net fede -v "`pwd`/tests/fixtures/instance1/config:/app/config" -e MICROBLOGPUB_DEBUG -e MICROBLOGPUB_INTERNAL_HOST -e MICROBLOGPUB_MONGODB_HOST -e MICROBLOGPUB_POUSSETACHES_HOST -e POUSSETACHES_AUTH_KEY --name instance1_web microblogpub' # Run the second microblog.pub instance "in the background" - name: microblogpub_instance2 image: docker:dind detach: true environment: DOCKER_HOST: tcp://docker:2375 MICROBLOGPUB_DEBUG: 1 MICROBLOGPUB_POUSSETACHES_HOST: http://poussetaches:7991 MICROBLOGPUB_INTERNAL_HOST: http://instance2_web:5005 MICROBLOGPUB_MONGODB_HOST: mongo:27017 POUSSETACHES_AUTH_KEY: lol commands: - 'docker run -p 5007:5005 --net fede -v "`pwd`/tests/fixtures/instance2/config:/app/config" -e MICROBLOGPUB_DEBUG -e MICROBLOGPUB_INTERNAL_HOST -e MICROBLOGPUB_MONGODB_HOST -e MICROBLOGPUB_POUSSETACHES_HOST -e POUSSETACHES_AUTH_KEY --name instance2_web microblogpub' # Run some tests against the two instances to ensure federation is working - name: federation_test image: python:3 commands: - pip install -U pip - pip install -r dev-requirements.txt # Federation tests (with two local instances) - python -m pytest -v -s --ignore data -k federatio # Setup the services needed to do some "Docker in Docker" (or dind) services: - name: docker image: docker:dind privileged: true --- kind: signature hmac: 9fc3e2eb3b237ab868843f94221124cdc397c454de798b9bcc43c8896615826a ...