Not working with edgedb.toml not in root directory
Trying to run tests with github actions.
My project, unlike tests, does not require to run edgedb, so my edgedb.toml file is located inside tests directory.
- run: edgedb project init --non-interactive
working-directory: tests
Click to see traceback
Run edgedb project init --non-interactive
Found `edgedb.toml` in /home/runner/work/edgeql-hello-world/edgeql-hello-world/tests
Initializing project...
Checking EdgeDB versions...
┌────────────────────────┬─────────────────────────────────────────────────────────┐
Version 1.4+5ffe34b is already installed
Initializing EdgeDB instance...
│ Project directory │ /home/runner/work/edgeql-hello-world/edgeql-hello-world/tests │
│ Project config │ /home/runner/work/edgeql-hello-world/edgeql-hello-worldtests/edgedb.toml │
│ Schema dir (non-empty) │ /home/runner/work/edgeql-hello-world/edgeql-hello-world/tests/dbschema │
│ Installation method │ portable package │
│ Start configuration │ auto │
│ Version │ 1.4+5ffe34b │
│ Instance name │ tests │
└────────────────────────┴─────────────────────────────────────────────────────────┘
Failed to connect to bus: No such file or directory
Applying migrations...
Applied m13n3l3xj2fzmqa5dqaoe32wl3bo3djbbxuou7d2vjocoeotgaj7gq (00001.edgeql)
Applied m16o3zi7bwy6zdcuq4nexyyctephv5ghqtrqanmywux6o5woutdlza (00002.edgeql)
Note: adding first migration disables DDL. More info: https://edgedb.com/p/bare_ddl
WARNING 1794 2022-05-26T12:24:11.625 edb.server: Released an unhealthy pgcon; discard now.
---- Exception occurred ----
1. ConnectionAbortedError:
---- Traceback ----
/home/runner/.local/share/edgedb/portable/1.4/lib/python3.10/site-packages/edb/server/server.py, line 1156, in task
> await self.introspect_db(dbname)
/home/runner/.local/share/edgedb/portable/1.4/lib/python3.10/site-packages/edb/server/server.py, line 679, in introspect_db
> user_schema = await self.introspect_user_schema(conn)
/home/runner/.local/share/edgedb/portable/1.4/lib/python3.10/site-packages/edb/server/server.py, line 629, in introspect_user_schema
> json_data = await conn.parse_execute_json(
edb/server/pgcon/pgcon.pyx, line 794, in parse_execute_json
edb/server/pgcon/pgcon.pyx, line 744, in _parse_execute_json
edb/server/pgcon/pgcon.pyx, line 688, in _parse_execute_to_buf
edb/server/pgcon/pgcon.pyx, line 2157, in wait_for_message
ConnectionAbortedError:
ERROR 1794 2022-05-26T12:24:11.625 asyncio: Task exception was never retrieved
future: <Task finished name='Task-37' coro=<Server._on_local_database_config_change.<locals>.task() done, defined at /home/runner/.local/share/edgedb/portable/1.4/lib/python3.10/site-packages/edb/server/server.py:1154> exception=ConnectionAbortedError()>
---- Exception occurred: the database system is shutting down ----
1. edb.server.pgcon.errors.BackendError: the database system is shutting down
---- Traceback ----
/home/runner/.local/share/edgedb/portable/1.4/lib/python3.10/site-packages/edb/server/connpool/pool.py, line 514, in _connect
> conn = await self._connect_cb(block.dbname)
/home/runner/.local/share/edgedb/portable/1.4/lib/python3.10/site-packages/edb/server/server.py, line 333, in _pg_connect
> rv = await pgcon.connect(
edb/server/pgcon/pgcon.pyx, line 322, in connect
edb/server/pgcon/pgcon.pyx, line 277, in _connect
edb/server/pgcon/pgcon.pyx, line 273, in edb.server.pgcon.pgcon._connect
edb/server/pgcon/pgcon.pyx, line 1785, in connect
edb.server.pgcon.errors.BackendError: the database system is shutting down
ERROR 1794 2022-05-26T12:24:11.640 edb.server: Failed to establish a new connection to backend database: edgedb
---- Exception occurred: the database system is shutting down ----
1. edb.server.pgcon.errors.BackendError: the database system is shutting down
---- Traceback ----
/home/runner/.local/share/edgedb/portable/1.4/lib/python3.10/site-packages/edb/server/connpool/pool.py, line 514, in _connect
> conn = await self._connect_cb(block.dbname)
/home/runner/.local/share/edgedb/portable/1.4/lib/python3.10/site-packages/edb/server/server.py, line 333, in _pg_connect
> rv = await pgcon.connect(
edb/server/pgcon/pgcon.pyx, line 322, in connect
edb/server/pgcon/pgcon.pyx, line 277, in _connect
edb/server/pgcon/pgcon.pyx, line 273, in edb.server.pgcon.pgcon._connect
edb/server/pgcon/pgcon.pyx, line 1785, in connect
edb.server.pgcon.errors.BackendError: the database system is shutting down
ERROR 1794 2022-05-26T12:24:11.643 edb.server: Failed to establish a new connection to backend database: edgedb
---- Exception occurred: the database system is shutting down ----
1. edb.server.pgcon.errors.BackendError: the database system is shutting down
---- Traceback ----
/home/runner/.local/share/edgedb/portable/1.4/lib/python3.10/site-packages/edb/server/connpool/pool.py, line 514, in _connect
> conn = await self._connect_cb(block.dbname)
/home/runner/.local/share/edgedb/portable/1.4/lib/python3.10/site-packages/edb/server/server.py, line 333, in _pg_connect
> rv = await pgcon.connect(
edb/server/pgcon/pgcon.pyx, line 322, in connect
edb/server/pgcon/pgcon.pyx, line 277, in _connect
edb/server/pgcon/pgcon.pyx, line 273, in edb.server.pgcon.pgcon._connect
edb/server/pgcon/pgcon.pyx, line 1785, in connect
edb.server.pgcon.errors.BackendError: the database system is shutting down
ERROR 1794 2022-05-26T12:24:11.648 edb.server: Failed to establish a new connection to backend database: edgedb
---- Exception occurred: the database system is shutting down ----
1. edb.server.pgcon.errors.BackendError: the database system is shutting down
---- Traceback ----
/home/runner/.local/share/edgedb/portable/1.4/lib/python3.10/site-packages/edb/server/connpool/pool.py, line 514, in _connect
> conn = await self._connect_cb(block.dbname)
/home/runner/.local/share/edgedb/portable/1.4/lib/python3.10/site-packages/edb/server/server.py, line 333, in _pg_connect
> rv = await pgcon.connect(
edb/server/pgcon/pgcon.pyx, line 322, in connect
edb/server/pgcon/pgcon.pyx, line 277, in _connect
edb/server/pgcon/pgcon.pyx, line 273, in edb.server.pgcon.pgcon._connect
edb/server/pgcon/pgcon.pyx, line 1785, in connect
edb.server.pgcon.errors.BackendError: the database system is shutting down
ERROR 1794 2022-05-26T12:24:11.652 edb.server: Failed to establish a new connection to backend database: edgedb
Bootstrapping complete, but there was an error creating the service: systemctl failed: exit status: 1 (command-line: "systemctl" "--user" "enable" "[email protected]")
You can start it manually via:
edgedb instance start tests
Oh, it seems like Postgres has crashed in this run. Does this happen consistently?
Yes it does. Pretty stable. I've created minimal reproducible example here.
It's not postgres crash (postgres errors are often printed when we shutdown edgedb temporarily). It's the absense of systemd user daemon.
You should be able to do something like this:
edgedb project init --non-interactive --start-conf=manual --server-instance=tests
edgedb instance start tests
I.e. when trying to start instance by default it crashes because it cannot add a script that will be automatically started on login. When you do --start-conf=manual it suppresses that, but requires you to start the instance manually.
@tailhook Thank you. It working that way:
edgedb project init --non-interactive --server-start-conf=manual --server-instance=tests
Great! That said, we still may want to make github action work in a subdirectory, so keep the issue open.