Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add testing for extensions #7818

Merged
merged 57 commits into from
Jun 11, 2024
Merged

Add testing for extensions #7818

merged 57 commits into from
Jun 11, 2024

Conversation

a-masterov
Copy link
Contributor

@a-masterov a-masterov commented May 21, 2024

Problem

We need automated tests of extensions shipped with Neon to detect possible problems.

Summary of changes

A new image neon-test-extensions is added. Workflow changes to test the shipped extensions are added as well.
Currently, the regression tests, shipped with extensions are in use.
Some extensions, i.e. rum, timescaledb, rdkit, postgis, pgx_ulid, pgtap, pg_tiktoken, pg_jsonschema, pg_graphql, kq_imcx, wal2json_2_5 are excluded due to problems or absence of internal tests.

Checklist before requesting a review

  • I have performed a self-review of my code.
  • If it is a core feature, I have added thorough tests.
  • Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
  • If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

  • Do not forget to reformat commit message to not include the above checklist

Copy link

github-actions bot commented May 21, 2024

3222 tests run: 3080 passed, 0 failed, 142 skipped (full report)


Flaky tests (1)

Postgres 14

  • test_storage_controller_smoke: debug

Code coverage* (full report)

  • functions: 31.5% (6601 of 20962 functions)
  • lines: 48.5% (51091 of 105428 lines)

* collected from Rust tests only


The comment gets automatically updated with the latest test results
3707327 at 2024-06-11T09:49:07.341Z :recycle:

.github/workflows/build_and_test.yml Outdated Show resolved Hide resolved
.github/workflows/build_and_test.yml Outdated Show resolved Hide resolved
.github/workflows/build_and_test.yml Outdated Show resolved Hide resolved
@a-masterov a-masterov changed the title Amasterov ext test2 Add testing for extensions Jun 5, 2024
.github/workflows/build_and_test.yml Show resolved Hide resolved
Dockerfile.compute-node Outdated Show resolved Hide resolved
docker-compose/compute_wrapper/Dockerfile Outdated Show resolved Hide resolved
docker-compose/docker-compose.yml Outdated Show resolved Hide resolved
docker-compose/docker_compose_test.sh Show resolved Hide resolved
docker-compose/docker_compose_test.sh Outdated Show resolved Hide resolved
docker-compose/docker_compose_test.sh Outdated Show resolved Hide resolved
docker-compose/docker_compose_test.sh Show resolved Hide resolved
a-masterov and others added 4 commits June 7, 2024 08:27
Co-authored-by: Heikki Linnakangas <heikki@neon.tech>
Co-authored-by: Heikki Linnakangas <heikki@neon.tech>
Dockerfile.compute-node Outdated Show resolved Hide resolved
docker-compose/docker-compose.yml Outdated Show resolved Hide resolved
Dockerfile.compute-node Outdated Show resolved Hide resolved
Copy link
Member

@bayandin bayandin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, let's merge it

@a-masterov a-masterov merged commit e27ce38 into main Jun 11, 2024
68 checks passed
@a-masterov a-masterov deleted the amasterov-ext-test2 branch June 11, 2024 11:07
@hlinnaka
Copy link
Contributor

I think this broke the docker-compose script:

~/git-sandbox/neon/docker-compose$ PG_VERSION=16 docker-compose up --build -d
WARNING: The http_proxy variable is not set. Defaulting to a blank string.
WARNING: The https_proxy variable is not set. Defaulting to a blank string.
Building compute
Sending build context to Docker daemon  11.78kB
Step 1/9 : ARG REPOSITORY=neondatabase
Step 2/9 : ARG COMPUTE_IMAGE=compute-node-v14
Step 3/9 : ARG TAG=latest
Step 4/9 : FROM $REPOSITORY/${COMPUTE_IMAGE}:$TAG
 ---> 6e46b70231b9
Step 5/9 : USER root
 ---> Using cache
 ---> 3f0939567576
Step 6/9 : RUN apt-get update &&           apt-get install -y curl                        jq                          python3-pip                        netcat
 ---> Using cache
 ---> 22c5960a3904
Step 7/9 : RUN pip3 install Faker
 ---> Using cache
 ---> 68771ebf7dc8
Step 8/9 : RUN mkdir -p /ext-src/pg_hint_plan-src && chown postgres /ext-src/pg_hint_plan-src
 ---> Using cache
 ---> 09cb069f8789
Step 9/9 : USER postgres
 ---> Using cache
 ---> 77c11ff069bc
Successfully built 77c11ff069bc
Successfully tagged docker-compose_compute:latest
Pulling neon-test-extensions (neondatabase/neon-test-extensions-v16:latest)...
ERROR: manifest for neondatabase/neon-test-extensions-v16:latest not found: manifest unknown: manifest unknown

a-masterov added a commit that referenced this pull request Jun 12, 2024
…#8024)

## Problem
The merging of #7818 caused the problem with the docker-compose file.
Running docker compose is now impossible due to the unavailability of
the neon-test-extensions:latest image

## Summary of changes
Fix the problem:
Add the latest tag to the neon-test-extensions image and use the
profiles feature of the docker-compose file to avoid loading the
neon-test-extensions container if it is not needed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants