From a1d34a08af5b530ed4d7ded875d76bb8b1a86e64 Mon Sep 17 00:00:00 2001 From: Shayan Karimi Date: Mon, 18 Mar 2024 22:56:18 +0330 Subject: [PATCH] Split the docs from local.yml and build the service in CI (#4909) * Split the docs from local.yml and build the service in CI * Change docs build in our CI docker tests --- docs/developing-locally-docker.rst | 7 +++++++ tests/test_docker.sh | 2 +- {{cookiecutter.project_slug}}/.drone.yml | 1 + .../.github/workflows/ci.yml | 1 + {{cookiecutter.project_slug}}/.gitlab-ci.yml | 1 + {{cookiecutter.project_slug}}/.travis.yml | 1 + {{cookiecutter.project_slug}}/docs.yml | 18 ++++++++++++++++++ {{cookiecutter.project_slug}}/local.yml | 15 --------------- 8 files changed, 30 insertions(+), 16 deletions(-) create mode 100644 {{cookiecutter.project_slug}}/docs.yml diff --git a/docs/developing-locally-docker.rst b/docs/developing-locally-docker.rst index a8f945adf..01970e469 100644 --- a/docs/developing-locally-docker.rst +++ b/docs/developing-locally-docker.rst @@ -65,6 +65,13 @@ To run in a detached (background) mode, just:: $ docker compose up -d +These commands don't run the docs service. In order to run docs service you can run:: + + $ docker compose -f docs.yml up + +To run the docs with local services just use:: + + $ docker compose -f local.yml -f docs.yml up The site should start and be accessible at http://localhost:3000 if you selected Webpack or Gulp as frontend pipeline and http://localhost:8000 otherwise. diff --git a/tests/test_docker.sh b/tests/test_docker.sh index c3cad3b37..96bf8662d 100755 --- a/tests/test_docker.sh +++ b/tests/test_docker.sh @@ -43,7 +43,7 @@ docker compose -f local.yml run \ django python manage.py check --settings=config.settings.production --deploy --database default --fail-level WARNING # Generate the HTML for the documentation -docker compose -f local.yml run docs make html +docker compose -f docs.yml run docs make html # Run npm build script if package.json is present if [ -f "package.json" ] diff --git a/{{cookiecutter.project_slug}}/.drone.yml b/{{cookiecutter.project_slug}}/.drone.yml index dc08bfbab..ede0ac06d 100644 --- a/{{cookiecutter.project_slug}}/.drone.yml +++ b/{{cookiecutter.project_slug}}/.drone.yml @@ -32,6 +32,7 @@ steps: DATABASE_URL: pgsql://$POSTGRES_USER:$POSTGRES_PASSWORD@postgres/$POSTGRES_DB commands: - docker-compose -f local.yml build + - docker-compose -f docs.yml build - docker-compose -f local.yml run --rm django python manage.py migrate - docker-compose -f local.yml up -d - docker-compose -f local.yml run django pytest diff --git a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml index 414ee1e60..2319bc0a3 100644 --- a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml +++ b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml @@ -70,6 +70,7 @@ jobs: - name: Build the Stack run: docker compose -f local.yml build django + run: docker compose -f local.yml build docs - name: Run DB Migrations run: docker compose -f local.yml run --rm django python manage.py migrate diff --git a/{{cookiecutter.project_slug}}/.gitlab-ci.yml b/{{cookiecutter.project_slug}}/.gitlab-ci.yml index 350212003..04cebbf94 100644 --- a/{{cookiecutter.project_slug}}/.gitlab-ci.yml +++ b/{{cookiecutter.project_slug}}/.gitlab-ci.yml @@ -34,6 +34,7 @@ pytest: - docker:dind before_script: - docker compose -f local.yml build + - docker compose -f docs.yml build # Ensure celerybeat does not crash due to non-existent tables - docker compose -f local.yml run --rm django python manage.py migrate - docker compose -f local.yml up -d diff --git a/{{cookiecutter.project_slug}}/.travis.yml b/{{cookiecutter.project_slug}}/.travis.yml index 78709191a..8d23fa742 100644 --- a/{{cookiecutter.project_slug}}/.travis.yml +++ b/{{cookiecutter.project_slug}}/.travis.yml @@ -20,6 +20,7 @@ jobs: - docker compose -v - docker -v - docker compose -f local.yml build + - docker compose -f docs.yml build # Ensure celerybeat does not crash due to non-existent tables - docker compose -f local.yml run --rm django python manage.py migrate - docker compose -f local.yml up -d diff --git a/{{cookiecutter.project_slug}}/docs.yml b/{{cookiecutter.project_slug}}/docs.yml new file mode 100644 index 000000000..d9e50b928 --- /dev/null +++ b/{{cookiecutter.project_slug}}/docs.yml @@ -0,0 +1,18 @@ +version: '3' + +services: + docs: + image: {{ cookiecutter.project_slug }}_local_docs + container_name: {{ cookiecutter.project_slug }}_local_docs + build: + context: . + dockerfile: ./compose/local/docs/Dockerfile + env_file: + - ./.envs/.local/.django + volumes: + - ./docs:/docs:z + - ./config:/app/config:z + - ./{{ cookiecutter.project_slug }}:/app/{{ cookiecutter.project_slug }}:z + ports: + - '9000:9000' + command: /start-docs diff --git a/{{cookiecutter.project_slug}}/local.yml b/{{cookiecutter.project_slug}}/local.yml index d924b739f..cd2c7fad0 100644 --- a/{{cookiecutter.project_slug}}/local.yml +++ b/{{cookiecutter.project_slug}}/local.yml @@ -40,21 +40,6 @@ services: env_file: - ./.envs/.local/.postgres - docs: - image: {{ cookiecutter.project_slug }}_local_docs - container_name: {{ cookiecutter.project_slug }}_local_docs - build: - context: . - dockerfile: ./compose/local/docs/Dockerfile - env_file: - - ./.envs/.local/.django - volumes: - - ./docs:/docs:z - - ./config:/app/config:z - - ./{{ cookiecutter.project_slug }}:/app/{{ cookiecutter.project_slug }}:z - ports: - - '9000:9000' - command: /start-docs {%- if cookiecutter.use_mailpit == 'y' %} mailpit: