Commit Graph

2173 Commits

Author SHA1 Message Date
Samir Talwar
64c40b9a95 CI: Run the "server hpack" check on main and invalidate the cache properly.
We seem to be rebuilding hpack on every PR. I'm hoping this will allow PRs to share a cache.

I have also changed the cache key to include the entirety of _server/VERSIONS.json_, and added the GHC version there, to make sure it's properly invalidated.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6142
GitOrigin-RevId: fc61a26ad721f59f52687913f6978902f4c2ca0a
2022-10-04 09:01:20 +00:00
Tom Harding
f05f746b94 Extract the test harness from the Hspec tests
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6095
Co-authored-by: Gil Mizrahi <8547573+soupi@users.noreply.github.com>
GitOrigin-RevId: 51693f7324e62e201a2bdc701255cf6c730745e2
2022-10-04 08:31:26 +00:00
Auke Booij
05b3a64e8f Clean up Hasura.Prelude a bit
- Remove `onJust` in favor of the more general `for_`
- Remove `withJust` which was used only once
- Remove `hashNub` in favor of `Ord`-based `uniques`
- Simplify some of the implementations in `Hasura.Prelude`
- Add `hlint` hint from `maybe True` to `all`, and `maybe False` to `any`

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6173
GitOrigin-RevId: 2c6ebbe2d04f60071d2a53a2d43c6d62dbc4b84e
2022-10-03 21:50:53 +00:00
Auke Booij
6602ad44b1 Print the definitions of the types that are conflicting
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6139
GitOrigin-RevId: 1ab0eecb0f75fb57534fd39add9bfde5041c090e
2022-10-03 21:13:18 +00:00
Auke Booij
3efabe99b3 Memoize column parsers (within roles)
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6036
GitOrigin-RevId: 225698f6db02b16599d9f157c9fe4c03b16fb71b
2022-10-03 20:11:44 +00:00
Auke Booij
6515ae8dbe Improve description for table select columns enum type
Before:
```
select Name {unName = "upeopoeklplxfaa"}columns of table "exbiovdrgjqskdr"
```
After:
```
select "upeopoeklplxfaa" columns of table "exbiovdrgjqskdr"
```

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6143
GitOrigin-RevId: 80a4075057c6d7361a000cb5c1e9b7a166a4f125
2022-10-03 11:00:10 +00:00
Auke Booij
b03ed983f1 Remove spaces before colons in error messages and descriptions
This PR is the result of running the following commands:
```bash
$ git grep -l '".* : "' -- '*.hs' | xargs sed -i -E 's/(".*) : "/\1: "/'
$ scripts/dev.sh test --integration --accept
```

Also manually fixed a few tests and docs

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6148
GitOrigin-RevId: cf8b87605d41d9ce86613a41ac5fd18691f5a641
2022-10-01 14:48:58 +00:00
Brandon Simmons
98a9c5af79 server: remove default +RTS -qn2 setting
We notice significant improvements to max GC pause time, for huge schema (both on 8.10 and 9.2)

This was added when we were on ghc-8.6.5. The referenced issues (from old oss repo) seem irrelevant or don't have useful information afaict

re. https://hasurahq.atlassian.net/browse/SRE-10
https://hasurahq.atlassian.net/browse/SRE-129

-----

**EDIT**: old discussion https://hasurahq.slack.com/archives/CKFUG6RCH/p1576518775017100

It sounds as though if the `replace_metadata` benchmark doesn't regress then we're okay

**EDIT**: Ooh nice, replace_metadata is much faster across the benchmark sets (see "both compared" details)

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6133
GitOrigin-RevId: c1e2292f29a52584062dfebf2dd676118fcd978f
2022-09-30 20:11:54 +00:00
Philip Lykke Carlsen
7739f8e4a0 server: Permit strings for numerical input fields
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5996
GitOrigin-RevId: 2ed36898aa0286618f3dafe3513ef4e01c58aaba
2022-09-30 13:25:57 +00:00
Gil Mizrahi
d1434e4932 run bigquery with retry in test-harness
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6141
GitOrigin-RevId: dce43ed5ce5ffffaa7680f5fa550c7df59c8cae4
2022-09-30 12:49:02 +00:00
Gil Mizrahi
8c725acac8 fix type name generation for aggregation predicate functions
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6138
GitOrigin-RevId: bfb77f97bb30c43bca698a1c405f75abd3eaffb9
2022-09-30 09:36:34 +00:00
Samir Talwar
3cb9bab9f1 server/tests-py: Provide the admin secret to the HGE server.
When we run the HGE server inside the test harness, it needs to run with
an admin secret for some tests to make sense. This tags each test that
requires an admin secret with `pytest.mark.admin_secret`, which then
generates a UUID and injects that into both the server and the test case
(if required).

It also simplifies the way the test harness picks up an existing admin
secret, allowing it to use the environment variable instead of requiring
it via a parameter.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6120
GitOrigin-RevId: 55c5b9e8c99bdad9c8304098444ddb9516749a2c
2022-09-29 17:20:07 +00:00
Daniel Harvey
cffd564a7e tests: NoQueriesAvailable fix for CockroachDB
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6071
GitOrigin-RevId: 5dd4261fd6fc84d059f9b2d28f7efe0f140333e9
2022-09-29 13:50:17 +00:00
Samir Talwar
60f81023db server/tests-py: Run the auth hook inside the test harness.
This teaches `hge_server` how to run more tests, thanks to `hge_env`.

It also simplifies the logic a bit more.

I have also modified _run.sh_ and _docker-compose.yml_ so we can run multiple test suites, one after another.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6105
GitOrigin-RevId: eff009362eb6bb90c07cedaf96dfe6ec9336ff32
2022-09-29 10:44:03 +00:00
Jesse Hallett
d32dc881e3 server: fix MySQL connection pool settings getting swapped on parse
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6063
GitOrigin-RevId: 90f6f8485aa6a9d073edc56dcba5530f5cf787c4
2022-09-28 21:11:26 +00:00
Samir Talwar
93e8803d3e Reload sources when applying metadata.
If we don't do this, we might end up applying metadata with a stale schema cache.

Following the principle of least surprise, replacing the metadata should probably compute inconsistencies with regards to the actual state of the database.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6026
GitOrigin-RevId: ff7469d7d9857c8a9f517d5d0b6f1ecf463621b3
2022-09-28 13:48:25 +00:00
Samir Talwar
8cb2738cbe server/tests-py: Declaratively state the HGE environment variables.
This has two purposes:

* When running the Python integration tests against a running HGE instance, with `--hge-url`, it will check the environment variables available and actively skip the test if they aren't set. This replaces the previous ad-hoc skip behavior.
* More interestingly, when running against a binary with `--hge-bin`, the environment variables are passed through, which means different tests can run with different environment variables.

  On top of this, the various services we use for testing now also provide their own environment variables, rather than expecting a test script to do it.

In order to make this work, I also had to invert the dependency between various services and `hge_ctx`. I extracted a `pg_version` fixture to provide the PostgreSQL version, and now pass the `hge_url` and `hge_key` explicitly to `ActionsWebhookServer`.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6028
GitOrigin-RevId: 16d866741dba5887da1adf4e1ade8182ccc9d344
2022-09-28 09:21:02 +00:00
Samir Talwar
d9afcc1857 Upgrade all package-lock.json files to the v2 format.
NPM v7 uses a new (backwards-compatible) lockfile format. This upgrades all our various _package-lock.json_ files to use the new format.

It's much more verbose so that NPM can be a lot faster.

I figured it was cleaner to do this once in a separate PR rather than upgrading them in combination with adding or upgrading a new dependency.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5869
GitOrigin-RevId: 322fb63b96e2d873a4a3cc05fa6c7afa414716ce
2022-09-28 08:15:29 +00:00
Daniel Harvey
d03d86a5e7 ci: Testing more Postgres versions with Hspec
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5919
GitOrigin-RevId: c6d1d0463b3640d4f33b54de6a2a425dec3920a2
2022-09-28 03:39:22 +00:00
Daniel Chambers
6af3fa2d78 Add the ability to test against tables in configurable schemas in Data Connector Agent test suite
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6083
GitOrigin-RevId: 5a7ee37ed3a62224a062dbaac7d322dfd95b83c4
2022-09-27 23:42:32 +00:00
Daniel Harvey
27fca2a3ed tests: fix ViewsSpec for CockroachDB
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6076
GitOrigin-RevId: 8423880cd5b6ba5794fa5096cf3955fb858b4610
2022-09-27 20:12:15 +00:00
Tom Harding
a9f7c1ef80 Reverse stringifyNumbers assertions
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6079
GitOrigin-RevId: 2db16d057f5ff2ea261d23b43eeced22ebd0235a
2022-09-27 16:52:21 +00:00
paritosh-08
fabbd134b2 server: add metadata origin in streaming subscription field parser
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6075
GitOrigin-RevId: 901ba21dbcbf9bee4ca38cba21a5440ca10f3407
2022-09-27 15:56:46 +00:00
Daniel Harvey
3fadeeb5f9 server: Console Sentry DSN support
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5899
GitOrigin-RevId: 941647350def3ef21979c091e562c374ad562016
2022-09-27 14:51:52 +00:00
Abby Sassel
629f60eb55 server/postgres: address translateTableRelationship feedback
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6073
GitOrigin-RevId: 6316d64256d4fd34936e1d8c6afffb0db15f2fe7
2022-09-27 14:16:52 +00:00
paritosh-08
a88e6cfa9d server, pro: make http manager with allowlist in migrateCatalogSchema
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6045
GitOrigin-RevId: 34d67615b5a9e6b7f59760ecf89977764fcb1868
2022-09-27 09:25:28 +00:00
Daniel Harvey
bfa5296ecf server: Upgrade to CockroachDB 22.2 nightly and enable skipped tests from oid error
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6046
GitOrigin-RevId: 21a660bf4deab9bbe0465443685338191b90e485
2022-09-27 08:55:45 +00:00
Tom Harding
a1c5ac46f6 Extract dc-api and its tests from graphql-engine.cabal
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6000
Co-authored-by: Daniel Chambers <1214352+daniel-chambers@users.noreply.github.com>
GitOrigin-RevId: d8f3cd0194191ab4c51a5a7d350cb2c3a0a5a7f3
2022-09-27 07:21:54 +00:00
awjchen
8e05e51f1b server: report metrics API status from config API
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5599
GitOrigin-RevId: b66eb5c3a0034fe5ab7c764b34f7def77edd3fc0
2022-09-27 06:49:45 +00:00
Auke Booij
8e600362e7 Improve error message phrasing in safeSelectionSet
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6053
GitOrigin-RevId: c2595f396845e9ca809b93566b38239d80a244b8
2022-09-27 06:08:25 +00:00
Daniel Harvey
f42bc4b816 server: feature flag for disabling TABLE_updates fields
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6039
GitOrigin-RevId: fcbafe2e4b8cf72d739033b372b536d59c398c4e
2022-09-26 13:25:37 +00:00
kodiakhq[bot]
c5de79d10c server: merge graphql-parser-hs into the monorepo
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5906
Co-authored-by: José Lorenzo Rodríguez <37621+lorenzo@users.noreply.github.com>
Co-authored-by: Vitali Barozzi <26206141+vitalibarozzi@users.noreply.github.com>
Co-authored-by: Karthikeyan Chinnakonda <15602904+codingkarthik@users.noreply.github.com>
Co-authored-by: Auke Booij <164426+abooij@users.noreply.github.com>
Co-authored-by: jkachmar <8461423+jkachmar@users.noreply.github.com>
Co-authored-by: Antoine Leblanc <1618949+nicuveo@users.noreply.github.com>
Co-authored-by: Solomon <24038+solomon-b@users.noreply.github.com>
Co-authored-by: paritosh-08 <85472423+paritosh-08@users.noreply.github.com>
Co-authored-by: Evie Ciobanu <1017953+eviefp@users.noreply.github.com>
Co-authored-by: Vamshi Surabhi <6562944+0x777@users.noreply.github.com>
Co-authored-by: Samir Talwar <47582+SamirTalwar@users.noreply.github.com>
GitOrigin-RevId: 4864173fd616fbbb2fe3a839d0c5eabd76a2e1f2
2022-09-26 11:23:37 +00:00
Auke Booij
7e10ff4e13 server: don't export the backend_only permissions flag if it is set to false while exporting metadata
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6006
GitOrigin-RevId: 60207193b654407bffdbf8436f5be36f46c6d8c6
2022-09-26 06:11:57 +00:00
Philip Lykke Carlsen
46ef2e5d2a feat: Document aggregation predicates
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5894
GitOrigin-RevId: 2a06f7afdec6741aca7464eee42617aca920b9ad
2022-09-23 13:49:49 +00:00
Lyndon Maydwell
4d2e37b3e6 Raw Query Support for Data Connectors - GDW-394
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5890
Co-authored-by: Vijay Prasanna <11921040+vijayprasanna13@users.noreply.github.com>
GitOrigin-RevId: f6bd2ed5fe170bcce262564cf4f45c95c9bdff94
2022-09-22 21:09:06 +00:00
Samir Talwar
fef1caabce server/tests-py: Support MSSQL and Citus with run.sh and run-new.sh.
This adds support for running the Python integration tests for MSSQL and Citus just as in CI, as follows:

```
./server/tests-py/run.sh backend-mssql
./server/tests-py/run.sh backend-citus
```

These run the named CI jobs, providing the appropriate backend.

(In reality, all backends are always provided, which is much simpler.)

It also provides the various databases to _server/tests-py/run-new.sh_, though the tests fail as they don't properly initialize the sources. (This will be fixed in the future by provisioning sources in the test framework itself.)

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5997
GitOrigin-RevId: c276a4779a35bb538ef0dc02ac8b7cb2d5a8dec5
2022-09-22 19:03:44 +00:00
Brandon Simmons
d2b3ec8938 ci/benchmarks: fix copypaste bug affecting regression report highlighting in #5942
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6021
GitOrigin-RevId: eb77bf97a52e533c565bfb12a45c0851f832610d
2022-09-22 16:24:15 +00:00
Gil Mizrahi
dd37456949 replace SELECT FROM with SELECT 1 FROM to fix count aggregates for cockroachdb
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5787
GitOrigin-RevId: f5f01a64ccffa36c93a0a88228ac927fbd3aa168
2022-09-22 13:58:03 +00:00
kodiakhq[bot]
81df74852e ci/benchmarks: tweak what we present in regression report
- Make regression report more compact, remove `min` since it doesn't behave like a limit
- It looks like the low-load variants are probably just noisier with fewer samples, so remove them from the regression view:

![samples](https://user-images.githubusercontent.com/210815/191076137-f5c3a0c6-9586-4ea4-a5a7-66000e7a2540.png)

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5942
GitOrigin-RevId: 8a9ab00c251f04d7d5a542731696cb5f86ad2b78
2022-09-22 13:28:56 +00:00
Abby Sassel
37b846c28d server/postgres: aggregation predicate filters should respect aggregation queries permissions
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5936
GitOrigin-RevId: ecb6d677873676ec2bcb7d0bedd1ec707f8e05a1
2022-09-22 12:53:05 +00:00
Abby Sassel
b59008c880 server/postgres: implement execution of aggregation predicates (permissions)
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5959
GitOrigin-RevId: eebfe36d217c333b393a308a1db19271809b6a87
2022-09-22 11:15:04 +00:00
Karthikeyan Chinnakonda
3b167b7df1 server: fix bug when streaming subscription cursor has custom name
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6009
GitOrigin-RevId: ba69bbd3a2c8f44e717cb64c8195041edc80a2d6
2022-09-22 09:52:36 +00:00
ananya-2410
c34d2504e8 ci: tag release v2.13.0-beta.1
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6008
GitOrigin-RevId: 3b877e49dcf5ce4116b8b68581a9189521ac81f9
2022-09-22 08:19:04 +00:00
Daniel Harvey
f80ec1d543 server: Rename AltJ to ViaJSON
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5911
GitOrigin-RevId: bd4dec9792f2137b2f4e3169e19109a3d3f63b50
2022-09-21 18:42:30 +00:00
Tom Harding
e71496efa5 Replace Hasura.RQL.Types.Numeric with refined
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5913
GitOrigin-RevId: 96e218229a08dfbc5a598d709be1ee2083d41ec6
2022-09-21 18:03:04 +00:00
paritosh-08
1c7e19c209 server/docs: event trigger log cleanup | remove default for clear_older_than
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5998
GitOrigin-RevId: 1376fd2192c7daaf73e8099cdb2f1aab4b8c3cd1
2022-09-21 17:29:55 +00:00
Samir Talwar
8b8d7ab96d server/tests-hspec: Simplifying the steps required to run these on macOS on aarch64.
This makes a few changes to the test scripts and makefiles in order to make things simpler for the average Apple user.

First of all, we change the `wait_for_mysql` function to use "localhost", not "127.0.0.1", as this fixed an issue on my system when attempting to connect to the MySQL server.

Secondly, we split the SQL Server test image into two:

* The first is the server itself, which now automatically uses `azure-sql-edge` as the image if you are on an aarch64 chip and using the `make` commands.
* The second is the initialization script. Because `sqlcmd` is not available in the `azure-sql-edge` image on aarch64, we use a separate container based on `mssql-tools` to initialize the server.

The README has been updated.

Tested on both macOS/aarch64 (with other changes) and Linux/x86_64.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5986
GitOrigin-RevId: b16e079861dcbcc66773295c47d715e443b67eea
2022-09-21 16:48:21 +00:00
Daniel Harvey
231de5166a server: bump CockroachDB image and un-skip fixed tests
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5967
GitOrigin-RevId: 28a2f8e94d091c8ddd272b6abf3828c40662ef38
2022-09-21 14:11:06 +00:00
Daniel Harvey
e2ced4011d server: import local Postgres modules as Postgres
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5962
GitOrigin-RevId: 862862c34b6c633c94ee8ae1f075afca2799fd2b
2022-09-21 11:35:50 +00:00
Daniel Chambers
3365a18516 Rename DataConnector cross_table capability to subquery
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5980
GitOrigin-RevId: c289b2a7afb4d07214aac2b4d89c9b87a75e98aa
2022-09-21 10:48:05 +00:00