Content-Length: 304491 | pFad | https://github.com/electric-sql/electric/pull/2762

2E Add a CI job to test that running Electric using a Docker image works by alco · Pull Request #2762 · electric-sql/electric · GitHub
Skip to content

Add a CI job to test that running Electric using a Docker image works #2762

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

alco
Copy link
Member

@alco alco commented May 22, 2025

We've had a couple of commits in the past where Electric was working fine in dev but ended up failing on startup when run as a Docker container. This CI job is designed to verify that Electric starts up and reaches healthy state when running inside a container.

Base automatically changed from alco/env-var-reading to main May 22, 2025 10:41
@alco alco force-pushed the alco/docker-image-smoketest branch from 5ef845a to d678370 Compare May 22, 2025 10:48
@alco alco force-pushed the alco/docker-image-smoketest branch 8 times, most recently from 6a19123 to 58e9106 Compare June 19, 2025 15:28
@alco alco force-pushed the alco/docker-image-smoketest branch 2 times, most recently from 855c219 to 0322b16 Compare June 19, 2025 15:35
Copy link

codecov bot commented Jun 19, 2025

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
2228 1 2227 1004
View the top 1 failed test(s) by shortest run time
Elixir.Electric.Shapes.PartitionedTablesTest::test truncation of partition truncates the partition root
Stack Traces | 5.78s run time
1) test truncation of partition truncates the partition root (Electric.Shapes.PartitionedTablesTest)
     .../electric/shapes/partitioned_tables_test.exs:158
     Assertion failed, no matching message after 5000ms
     The following variables were pinned:
       shape_handle = "101756733-1750347415389366"
     Showing 10 of 13 messages in the mailbox
     code: assert_receive {Electric.Shapes.Monitor, :cleanup, ^shape_handle}
     mailbox:
       pattern: {Electric.Shapes.Monitor, :cleanup, ^shape_handle}
       value:   {Electric.PersistentKV.Memory, {:set, "Electric.Shapes.PartitionedTablesTest test truncation of partition truncates the partition root:ets_inspector_state", [version: 1, data: [{{:oid_info, 18212}, %{parent: nil, relation: {"public", "partitioned_items"}, kind: :partitioned_table, children: [{"public", "partitioned_items_100"}, {"public", "partitioned_items_200"}], relation_id: 18212}, [%{name: "a", type: "int4", formatted_type: "integer", relation_id: 18212, pk_position: 0, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}, %{name: "b", type: "int4", formatted_type: "integer", relation_id: 18212, pk_position: 1, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}]}, {{:relation_to_oid, {"public", "partitioned_items"}}, 18212}]]}}

       pattern: {Electric.Shapes.Monitor, :cleanup, ^shape_handle}
       value:   {Electric.PersistentKV.Memory, {:set, "Electric.Shapes.PartitionedTablesTest test truncation of partition truncates the partition root:ets_inspector_state", [version: 1, data: [{{:oid_info, 18212}, %{parent: nil, relation: {"public", "partitioned_items"}, kind: :partitioned_table, children: [{"public", "partitioned_items_100"}, {"public", "partitioned_items_200"}], relation_id: 18212}, [%{name: "a", type: "int4", formatted_type: "integer", relation_id: 18212, pk_position: 0, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}, %{name: "b", type: "int4", formatted_type: "integer", relation_id: 18212, pk_position: 1, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}]}, {{:oid_info, 18217}, %{parent: {"public", "partitioned_items"}, relation: {"public", "partitioned_items_100"}, kind: :ordinary_table, children: nil, relation_id: 18217}, [%{name: "a", type: "int4", formatted_type: "integer", relation_id: 18217, pk_position: 0, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}, %{name: "b", type: "int4", formatted_type: "integer", relation_id: 18217, pk_position: 1, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}]}, {{:relation_to_oid, {"public", "partitioned_items"}}, 18212}, {{:relation_to_oid, {"public", "partitioned_items_100"}}, 18217}]]}}

       pattern: {Electric.Shapes.Monitor, :cleanup, ^shape_handle}
       value:   {Electric.PersistentKV.Memory, {:set, "Electric.Shapes.PartitionedTablesTest test truncation of partition truncates the partition root:tracked_relations", %{id_to_table_info: %{18217 => %Electric.Replication.Changes.Relation{id: 18217, schema: "public", table: "partitioned_items_100", columns: [%Electric.Replication.Changes.Column{name: "a", type_oid: 23}, %Electric.Replication.Changes.Column{name: "b", type_oid: 23}], affected_columns: []}}, table_to_id: %{{"public", "partitioned_items_100"} => 18217}}}}

       pattern: {Electric.Shapes.Monitor, :cleanup, ^shape_handle}
       value:   {Electric.PersistentKV.Memory, {:set, "Electric.Shapes.PartitionedTablesTest test truncation of partition truncates the partition root:ets_inspector_state", [version: 1, data: [{{:oid_info, 18212}, %{parent: nil, relation: {"public", "partitioned_items"}, kind: :partitioned_table, children: [{"public", "partitioned_items_100"}, {"public", "partitioned_items_200"}], relation_id: 18212}, [%{name: "a", type: "int4", formatted_type: "integer", relation_id: 18212, pk_position: 0, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}, %{name: "b", type: "int4", formatted_type: "integer", relation_id: 18212, pk_position: 1, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}]}, {{:oid_info, 18217}, %{parent: {"public", "partitioned_items"}, relation: {"public", "partitioned_items_100"}, kind: :ordinary_table, children: nil, relation_id: 18217}, [%{name: "a", type: "int4", formatted_type: "integer", relation_id: 18217, pk_position: 0, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}, %{name: "b", type: "int4", formatted_type: "integer", relation_id: 18217, pk_position: 1, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}]}, {{:relation_to_oid, {"public", "partitioned_items"}}, 18212}, {{:relation_to_oid, {"public", "partitioned_items_100"}}, 18217}]]}}

       pattern: {Electric.Shapes.Monitor, :cleanup, ^shape_handle}
       value:   {Electric.PersistentKV.Memory, {:set, "Electric.Shapes.PartitionedTablesTest test truncation of partition truncates the partition root:tracked_relations", %{id_to_table_info: %{18217 => %Electric.Replication.Changes.Relation{id: 18217, schema: "public", table: "partitioned_items_100", columns: [%Electric.Replication.Changes.Column{name: "a", type_oid: 23}, %Electric.Replication.Changes.Column{name: "b", type_oid: 23}], affected_columns: []}, 18222 => %Electric.Replication.Changes.Relation{id: 18222, schema: "public", table: "partitioned_items_200", columns: [%Electric.Replication.Changes.Column{name: "a", type_oid: 23}, %Electric.Replication.Changes.Column{name: "b", type_oid: 23}], affected_columns: []}}, table_to_id: %{{"public", "partitioned_items_100"} => 18217, {"public", "partitioned_items_200"} => 18222}}}}

       pattern: {Electric.Shapes.Monitor, :cleanup, ^shape_handle}
       value:   {Electric.PersistentKV.Memory, {:set, "Electric.Shapes.PartitionedTablesTest test truncation of partition truncates the partition root:ets_inspector_state", [version: 1, data: [{{:oid_info, 18217}, %{parent: {"public", "partitioned_items"}, relation: {"public", "partitioned_items_100"}, kind: :ordinary_table, children: nil, relation_id: 18217}, [%{name: "a", type: "int4", formatted_type: "integer", relation_id: 18217, pk_position: 0, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}, %{name: "b", type: "int4", formatted_type: "integer", relation_id: 18217, pk_position: 1, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}]}, {{:oid_info, 18222}, %{parent: {"public", "partitioned_items"}, relation: {"public", "partitioned_items_200"}, kind: :ordinary_table, children: nil, relation_id: 18222}, [%{name: "a", type: "int4", formatted_type: "integer", relation_id: 18222, pk_position: 0, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}, %{name: "b", type: "int4", formatted_type: "integer", relation_id: 18222, pk_position: 1, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}]}, {{:relation_to_oid, {"public", "partitioned_items_100"}}, 18217}, {{:relation_to_oid, {"public", "partitioned_items_200"}}, 18222}]]}}

       pattern: {Electric.Shapes.Monitor, :cleanup, ^shape_handle}
       value:   {Electric.PersistentKV.Memory, {:set, "Electric.Shapes.PartitionedTablesTest test truncation of partition truncates the partition root:ets_inspector_state", [version: 1, data: [{{:oid_info, 18212}, %{parent: nil, relation: {"public", "partitioned_items"}, kind: :partitioned_table, children: [{"public", "partitioned_items_100"}, {"public", "partitioned_items_200"}], relation_id: 18212}, [%{name: "a", type: "int4", formatted_type: "integer", relation_id: 18212, pk_position: 0, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}, %{name: "b", type: "int4", formatted_type: "integer", relation_id: 18212, pk_position: 1, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}]}, {{:oid_info, 18217}, %{parent: {"public", "partitioned_items"}, relation: {"public", "partitioned_items_100"}, kind: :ordinary_table, children: nil, relation_id: 18217}, [%{name: "a", type: "int4", formatted_type: "integer", relation_id: 18217, pk_position: 0, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}, %{name: "b", type: "int4", formatted_type: "integer", relation_id: 18217, pk_position: 1, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}]}, {{:oid_info, 18222}, %{parent: {"public", "partitioned_items"}, relation: {"public", "partitioned_items_200"}, kind: :ordinary_table, children: nil, relation_id: 18222}, [%{name: "a", type: "int4", formatted_type: "integer", relation_id: 18222, pk_position: 0, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}, %{name: "b", type: "int4", formatted_type: "integer", relation_id: 18222, pk_position: 1, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}]}, {{:relation_to_oid, {"public", "partitioned_items"}}, 18212}, {{:relation_to_oid, {"public", "partitioned_items_100"}}, 18217}, {{:relation_to_oid, {"public", "partitioned_items_200"}}, 18222}]]}}

       pattern: {Electric.Shapes.Monitor, :cleanup, ^shape_handle}
       value:   {Electric.PersistentKV.Memory, {:set, "Electric.Shapes.PartitionedTablesTest test truncation of partition truncates the partition root:tracked_relations", %{id_to_table_info: %{18217 => %Electric.Replication.Changes.Relation{id: 18217, schema: "public", table: "partitioned_items_100", columns: [%Electric.Replication.Changes.Column{name: "a", type_oid: 23}, %Electric.Replication.Changes.Column{name: "b", type_oid: 23}], affected_columns: []}, 18222 => %Electric.Replication.Changes.Relation{id: 18222, schema: "public", table: "partitioned_items_200", columns: [%Electric.Replication.Changes.Column{name: "a", type_oid: 23}, %Electric.Replication.Changes.Column{name: "b", type_oid: 23}], affected_columns: []}}, table_to_id: %{{"public", "partitioned_items_100"} => 18217, {"public", "partitioned_items_200"} => 18222}}}}

       pattern: {Electric.Shapes.Monitor, :cleanup, ^shape_handle}
       value:   {Electric.PersistentKV.Memory, {:set, "Electric.Shapes.PartitionedTablesTest test truncation of partition truncates the partition root:ets_inspector_state", [version: 1, data: [{{:oid_info, 18217}, %{parent: {"public", "partitioned_items"}, relation: {"public", "partitioned_items_100"}, kind: :ordinary_table, children: nil, relation_id: 18217}, [%{name: "a", type: "int4", formatted_type: "integer", relation_id: 18217, pk_position: 0, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}, %{name: "b", type: "int4", formatted_type: "integer", relation_id: 18217, pk_position: 1, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}]}, {{:oid_info, 18222}, %{parent: {"public", "partitioned_items"}, relation: {"public", "partitioned_items_200"}, kind: :ordinary_table, children: nil, relation_id: 18222}, [%{name: "a", type: "int4", formatted_type: "integer", relation_id: 18222, pk_position: 0, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}, %{name: "b", type: "int4", formatted_type: "integer", relation_id: 18222, pk_position: 1, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}]}, {{:relation_to_oid, {"public", "partitioned_items_100"}}, 18217}, {{:relation_to_oid, {"public", "partitioned_items_200"}}, 18222}]]}}

       pattern: {Electric.Shapes.Monitor, :cleanup, ^shape_handle}
       value:   {Electric.PersistentKV.Memory, {:set, "Electric.Shapes.PartitionedTablesTest test truncation of partition truncates the partition root:ets_inspector_state", [version: 1, data: [{{:oid_info, 18212}, %{parent: nil, relation: {"public", "partitioned_items"}, kind: :partitioned_table, children: [{"public", "partitioned_items_100"}, {"public", "partitioned_items_200"}], relation_id: 18212}, [%{name: "a", type: "int4", formatted_type: "integer", relation_id: 18212, pk_position: 0, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}, %{name: "b", type: "int4", formatted_type: "integer", relation_id: 18212, pk_position: 1, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}]}, {{:oid_info, 18217}, %{parent: {"public", "partitioned_items"}, relation: {"public", "partitioned_items_100"}, kind: :ordinary_table, children: nil, relation_id: 18217}, [%{name: "a", type: "int4", formatted_type: "integer", relation_id: 18217, pk_position: 0, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}, %{name: "b", type: "int4", formatted_type: "integer", relation_id: 18217, pk_position: 1, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}]}, {{:oid_info, 18222}, %{parent: {"public", "partitioned_items"}, relation: {"public", "partitioned_items_200"}, kind: :ordinary_table, children: nil, relation_id: 18222}, [%{name: "a", type: "int4", formatted_type: "integer", relation_id: 18222, pk_position: 0, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}, %{name: "b", type: "int4", formatted_type: "integer", relation_id: 18222, pk_position: 1, type_id: {23, -1}, is_generated: false, array_dimensions: 0, array_type: nil, type_kind: :base, type_mod: -1, not_null: true}]}, {{:relation_to_oid, {"public", "partitioned_items"}}, 18212}, {{:relation_to_oid, {"public", "partitioned_items_100"}}, 18217}, {{:relation_to_oid, {"public", "partitioned_items_200"}}, 18222}]]}}
     stacktrace:
       .../electric/shapes/partitioned_tables_test.exs:198: (test)

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

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.

1 participant








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://github.com/electric-sql/electric/pull/2762

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy