API jobs¶
The API flow uses the following other jobs.
test-api¶
Initialises the API using the api/init recipe and runs tests for the API using
the api/test recipe. Tests are run inside a Docker container so neither Python
nor Node.js needs to be installed.
This job creates a special separate API image that includes the dev dependencies
required for running tests. It does not use the api image created in the
build-images job.
This job is skipped if the API codebase has not changed. Its counterparts are
test-catfor the catalogtest-ingfor the ingestion servernuxt-buildfor the frontendbuild-docsfor the documentation
This job exports the api_logs artifact.
Note
This job is treated as the proof of functionality for publishing Docker images for the API and deploying the image to staging.
Since the job also initialises the API, it provides a basic verification of the ingestion server’s core functionality of populating the API database and Elasticsearch.
django-checks¶
Runs a matrix of various Django checks for the API using the following just
recipes.
Name |
Recipe |
|---|---|
|
|
|
|
|
|
|
|
|
|
This job is skipped if the API codebase has not changed. Its counterpart is
nuxt-checks for the frontend.
Since this is a required check for a matrix job, it has a bypass counterpart. Refer to the documentation for bypass jobs.
The job with the name test_doc in this matrix exports the
openapi.json artifact.