Artifacts#

The CI + CD workflow, produces a number of artifacts that can be accessed from the Summary page of a workflow run.

https://github.com/WordPress/openverse/actions/runs/<run_id>

These artifacts are classified into TODO types:

  • Docker images

  • Logs

  • Documentation

Docker images#

The following artifacts are Docker images:

  • api

  • api_nginx

  • catalog

  • frontend

  • ingestion_server

  • openverse_db

All of these images are outputs of the build-images job. These artifacts have little utility outside of the workflow and are primarily intended to be consumed by other jobs that need these images, to avoid building them repeatedly.

Logs#

The following artifacts are logs for debugging.

  • api_logs

    This log file contains all the logs from all the Docker services written in the course of the API tests. This artifact is created by by the test-api job.

  • ing_logs

    This log file contains all the logs from all the Docker services written in the course of the ingestion server tests. This artifact is created by the test-ing job.

Documentation#

The following artifacts are related to documentation.

  • openapi.json

    This is the OpenAPI schema of the Openverse API. This JSON file is consumed by Redoc to generate the interactive API docs. This is generated by the django-checks job, specifically the test_doc named element in the matrix.

  • documentation

    This is the main documentation comprising the Sphinx site and the Storybook. It’s built by the build-docs job and used by the emit-docs to deploy either as the main documentation site (if the workflow is running for a new commit pushed to main) or as a preview (if the workflow is running for a PR).