Commit Graph

5663 Commits

Author SHA1 Message Date
Tom Harding
0ff55c37f8 Remove MySQL tests
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6872
GitOrigin-RevId: 87a55e2384433c076c8815f991e753e4112d60dd
2022-11-16 11:26:01 +00:00
Tom Harding
93a2736c30 String interpolation for Citus backend modules
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6884
GitOrigin-RevId: abb15634de5c0a387284e2bed25622c302df6a3b
2022-11-16 10:38:50 +00:00
ananya-2410
5a7692ba68 ci: tag release v2.15.1
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6895
GitOrigin-RevId: e8b282490310362bd0cdc4b05988999598a6445a
2022-11-16 08:12:21 +00:00
Daniel Chambers
a89104626a Run Data Connector agent test suite against Athena in CI [GDC-509]
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6536
GitOrigin-RevId: 819576c23f9d4e81191e532dbcf374d34945047e
2022-11-16 02:02:11 +00:00
hasura-bot
1af1a52480 docs: update upgrade-ce-to-ee.mdx
GITHUB_PR_NUMBER: 9212
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/9212

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6887
Co-authored-by: Chris Toth <97546117+chris-hasura@users.noreply.github.com>
Co-authored-by: Rob Dominguez <24390149+robertjdominguez@users.noreply.github.com>
GitOrigin-RevId: 41b7567b9f439e25284301be34c70ece43265740
2022-11-15 22:39:49 +00:00
Solomon
94b4db90f2 [nix] Moves graphql-parser into an overlay and updates hedgehog dependency
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6886
GitOrigin-RevId: f576763ab83ed2ebdd05f4da8a4cb184d472e6ba
2022-11-15 21:55:12 +00:00
Brandon Martin
1e6cf5f133 super-connector: More coalesce defaults for rows/aggregates
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6861
Co-authored-by: Daniel Chambers <1214352+daniel-chambers@users.noreply.github.com>
GitOrigin-RevId: 3a3efd89196e619ae7491d3fc95c19f8c5156f2e
2022-11-15 20:53:55 +00:00
Auke Booij
5b93014ee8 Make Schema Cache building code slightly more readable
- Avoid a few banana brackets `(| ... |)`, often by just using local `let` bindings
- Use proper `Arrows` syntax rather than helpers like `>->`
- Use monadic `do` syntax instead of `Arrows` syntax where possible
- Avoid `traverseA @Maybe`, in favor of a `case`

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6751
GitOrigin-RevId: c07b22a1a259db6d135486ec71a716705e280717
2022-11-15 20:14:22 +00:00
Samir Talwar
7c452bfca1 server/tests-py: Spawn a new PostgreSQL schema ("database") per test.
When running using the "new" style (with a HGE binary, not a URL), a new PostgreSQL metadata and source database are created for each test. When we get this into CI, this should drastically reduce the flakiness.

I have also enabled parallelization by default when using `run-new.sh`. It's much faster.

I had to basically rewrite _server/tests-py/test_graphql_read_only_source.py_ so that it does two different things depending on how it's run. It's unfortunate, but it should eventually go away.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6879
GitOrigin-RevId: a121b9035f8da3e61a3e36d8b1fbc6ccae918fad
2022-11-15 19:08:53 +00:00
Rob Dominguez
1269652cbc docs: remove mysql docs and all references
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6716
GitOrigin-RevId: 3a7ed0e4c8d723a8c10938176a0fab269760e785
2022-11-15 17:35:04 +00:00
Abby Sassel
3da0e2f1a2 NDAT-295 Cleanup Tests.Query structure
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6878
GitOrigin-RevId: 521d8366a26ba933ebb7892d243a9ce94b90c8f0
2022-11-15 17:29:46 +00:00
Auke Booij
6ac67a5566 Allow collecting metadata dependencies and inconsistencies separately
`CollectedInfo` was just an awkward sum type. By using an explicit `Either` instead, we can guarantee at the type level that certain methods only write inconsistencies, or only write dependencies. This is useful, because if we can guarantee that no dependencies are written, then we don't need to run `resolveDependencies` on that part of the Metadata. In other words, we can keep it out of `BuildOutputs`, which greatly benefits performance - see e.g. hasura/graphql-engine-mono#6613.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6765
GitOrigin-RevId: 9ce099d2eee2278dbb6e5bea72063e4b6e064b35
2022-11-15 17:00:11 +00:00
Sean Park-Ross
a7584ccd79 Docs: Wiki add Hasura features and headings info
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6848
GitOrigin-RevId: ac23388362bcb118f9ee4d8d539adb161835070f
2022-11-15 16:18:39 +00:00
Samir Talwar
3670a10ee5 Share database configuration across tests.
This enables sharing the Docker Compose-based database configuration across the Haskell-based API tests and the legacy Python integration tests.

Why? Because we depend on different database versions and I keep running out of disk space. I am far too lazy to buy another disk and set up my operating system _again_.

The files in question are:

- _docker-compose/databases.yaml_, which is the base specification for the databases
- _docker-compose.yml_, used by the API tests locally (and for other manual testing), which extends the above
- _.buildkite/docker-compose-files/test-oss-server-hspec.yml_, used by the API tests in CI, which extends _databases.yaml_
- _server/tests-py/docker-compose.yml_, used by the Python integration tests

The changes are summarized as follows:

1. The following snippets are moved from _docker-compose/databases.yaml_ to _docker-compose.yml_ and _.buildkite/docker-compose-files/test-oss-server-hspec.yml_, as they're not strictly necessary for other forms of testing:
    - the fixed port mappings (in the range 65000–65010)
    - the PostgreSQL initialization
    - the SQL Server initialization
2. Environment variables are used a little more in health checks and initialization scripts, as usernames, passwords, etc. can be overridden.
3. The volumes in _docker-compose/databases.yaml_ are made anonymous (unnamed), and the names are only specified in _docker-compose.yml_. We don't need to do this elsewhere.
    - For extra fun, I have removed all named volumes from the CI Docker Compose files, as they seem to be unnecessary.
4. _server/tests-py/docker-compose.yml_ now depends on _docker-compose/databases.yaml_.
    - This was the point.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6864
GitOrigin-RevId: f22f2839716f543ce8a62f890da244de7e23abaa
2022-11-15 14:32:46 +00:00
Rakesh Emmadi
2e9c93bed1 docs: elastic connection pooling in cloud
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6072
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Sean Park-Ross <94021366+seanparkross@users.noreply.github.com>
GitOrigin-RevId: f8da61285ab5d6318f1e691c8f77b4ed1f1ce77c
2022-11-15 13:24:55 +00:00
Abby Sassel
a2dcb70500 NDAT-295 Cleanup Tests.Schema structure
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6871
GitOrigin-RevId: 314d2095de4db104dd9bd1fba6feb84de7bdb98c
2022-11-15 13:17:22 +00:00
Auke Booij
2d055df2a4 server: Simplify BuildOutputs
A bunch of configurations are retrieved from the Metadata, then stored in the `BuildOutputs` structure, only to then be forwarded to the `SchemaCache`, with extremely little processing in between.

So this simplifies the build pipeline for some parts of the metadata: just construct those things from `Metadata` directly, and store them in the `SchemaCache` without any intermediate container.

Why did we have the detour via `BuildOutputs` in the first place? Parts of the Metadata (codified by `MetadataObjId`) can generate _metadata inconsistencies_ and/or _schema dependencies_, which are related.

- Metadata inconsistencies are warnings that we show to the user, indicating that there's something wrong with their configuration, and they have to fix it.
- Schema dependencies are an internal mechanism that allow us to build a consistent view of the world. For instance, if we have a relationship from DB tables `books` to `authors`, but the `authors` table is inconsistent (e.g. it doesn't exist in the DB), then we have schema dependencies indicating that. The job of `resolveDependencies` is to then drop the relationship, so that we can at least generate a legal GraphQL schema for `books`.

If we never generate a schema dependency for a certain fragment of Metadata, then there is no reason to call `resolveDependencies` on it, and so there is no reason to store it in `BuildOutputs`.

---

The starting point that allows this refactor is to apply Metadata defaults before it reaches `buildAndCollectInfo`, so that metadata-with-defaults can be used elsewhere.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6609
GitOrigin-RevId: df0c4a7ff9451e10e02a40bf26304b26584ba483
2022-11-15 12:04:13 +00:00
Gil Mizrahi
15b3ac0aee ghc 9.2.5
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6777
Co-authored-by: Samir Talwar <47582+SamirTalwar@users.noreply.github.com>
GitOrigin-RevId: 916abab76446cf7c4e1e63dc112ba4994ab4d23d
2022-11-15 11:26:42 +00:00
Tom Harding
502115f969 Bump aeson to v2.1, drop the Extended module
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6869
GitOrigin-RevId: ecb2f7dfe7d00c0a01999c12b0264be7850e0f42
2022-11-15 10:44:36 +00:00
Daniele Cammareri
0a73187c8d console: add a generic mock that emulates metadata api
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6194
GitOrigin-RevId: f58c98b16ab156e742ab8a446124136fb4b0e638
2022-11-15 09:29:56 +00:00
Mohd Bilal
8fa2d4ffa2 cli: refactor internal/metadatautil package to use internal/errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6391
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 3ec15e9517fd9e8822631717a89a5ad35fc56ebd
2022-11-15 09:00:12 +00:00
Mohd Bilal
3353d77c50 cli: refactor internal/metadataobject/actions/cli_extension and internal/metadataobject/actions/editor packages to use internal/errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6828
GitOrigin-RevId: 0f86da5c4a0bd0f3b6b49cc37cf7fc83279f9fb5
2022-11-15 08:24:15 +00:00
Daniel Chambers
1a7d7fd0c0 Fix Data Connector TS type generation CI check and regenerate types
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6866
GitOrigin-RevId: 7ecfdaa4af9ca7dc7b349bd8981f6ef083f5a543
2022-11-15 07:51:51 +00:00
Solomon
d0a77a9f28 Prevents creation of duplicate GDC agent source kinds.
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6865
GitOrigin-RevId: e3b3c68e91b22307ef4a9f215e34234b875d802f
2022-11-15 00:40:56 +00:00
Brandon Martin
22e6d7afcd server: Add Uppercase option to tests-dc-api
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6863
GitOrigin-RevId: 6e4950786cebedcbfcff26fed691a6b6bf0c1aa3
2022-11-14 23:08:26 +00:00
Daniel Harvey
ab0f67cfd9 [server/tests] fallback to default postgres port when none is provided
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6860
GitOrigin-RevId: abe30f2fa1df89281dae0ffaf9ef20ef50cf7d33
2022-11-14 22:38:28 +00:00
Philip Lykke Carlsen
9d4950f603 server/tests: Integrated tool to probe pg compatibility
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6859
GitOrigin-RevId: 33eb82a22aca5e6982beeee075f904f514dc7a39
2022-11-14 22:01:37 +00:00
Mohd Bilal
7f7640f988 cli: refactor commands/metadata_handlers.go to use internal/errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6719
GitOrigin-RevId: 92540116b5aa8c106f6543a2a12096c69d93dbd9
2022-11-14 21:31:58 +00:00
Mohd Bilal
cd72240450 cli: refactor internal/diff to use internal/errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6696
GitOrigin-RevId: e668b0acf73f9598489f07e25577be997b211c28
2022-11-14 20:58:46 +00:00
paritosh-08
ec13a55fd5 server: add validation for response transforms
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6821
GitOrigin-RevId: 88abcc408d0a1b73024356d9b32881bc3d4d746c
2022-11-14 15:19:23 +00:00
Abby Sassel
b7a09a42c1 NDAT-293 Update feature matrix with features tested in api-tests suite
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6855
GitOrigin-RevId: 37f8193b8528f90955d55d2812f6f45afca054c8
2022-11-14 14:37:30 +00:00
Erik Magnusson
4164f36bca hotfix: add functionality to make data tab filter read url values
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6854
Co-authored-by: Luca Restagno <59067245+lucarestagno@users.noreply.github.com>
GitOrigin-RevId: 1e09591ecd6ef3c59e9ac157547c93a9eb7ac39e
2022-11-14 13:59:06 +00:00
Samir Talwar
9fe793e828 Split the Docker Compose files into pieces.
With the vague idea that we can eventually avoid publishing ports at all, at least in CI, while still having the flexibility to publish ports locally.

If we can get there, it should help with the issues we're seeing on CI, where ports are already allocated from previous runs and containers aren't properly cleaned up.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6836
GitOrigin-RevId: 1d636c73ae889e45e80ad52042c56daa1b9d5838
2022-11-14 12:39:37 +00:00
Samir Talwar
99660189d7 Regenerate cabal.project.freeze, and ensure it doesn't drift in the future.
This regenerates _cabal.project.freeze_ using the new `--normalize` flag in _scripts/cabal-freeze-update.sh_. This flag simply skips the `cabal update` step.

I also added a section to preserve the liberal GHC version, as we currently run GHC v9.2.4.20220919 on CI, and most developers just run v9.2.4 locally. This can be removed once we upgrade to v9.2.5.

Finally, I have added a GitHub Action which ensures that the checked-in cabal.project.freeze file does not change upon re-normalization. As we don't run `cabal update`, this should be stable.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6815
GitOrigin-RevId: 8cd3b5f3bbe5c61d8d3f61dfcc93b9d7c278419f
2022-11-14 11:51:51 +00:00
Stefano Magni
681f2baf3e console(platform): Generate the source maps for the Cloud Console
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6734
GitOrigin-RevId: d14db3a59fcfb7c99e40fe5aa57baa451e238ecd
2022-11-14 10:01:36 +00:00
Mohd Bilal
913b8a8059 cli: refactor metadata diff and metadata export commands to use internal/errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6703
GitOrigin-RevId: 50d72be3f5de0e1f4bdcc2067f06ce136cd200d1
2022-11-14 07:29:37 +00:00
Lyndon Maydwell
6f9f44a441 Data Connectors API 400 error response - GDC-619
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6839
GitOrigin-RevId: 813ea5e976ff41754e7500abf6bcd0c8b70c960e
2022-11-14 05:26:16 +00:00
Philip Lykke Carlsen
6470eeb7f6 server/tests: Feature Matrix Compatibility Report
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6827
GitOrigin-RevId: f4d93684e5f47a6e43b4e870d2c87dbdee8f0bd8
2022-11-10 22:59:24 +00:00
Abby Sassel
8726236a9d NDAT-316 Improve askSourceInfo error reporting _even more_
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6835
GitOrigin-RevId: c15bea414176878c6ec96674376858294e48255b
2022-11-10 19:24:34 +00:00
paritosh-08
0b827fae66 server: remove built-in scalars from graphql schema printer
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6541
Co-authored-by: Auke Booij <164426+abooij@users.noreply.github.com>
GitOrigin-RevId: 5a2e35da2cf8718ee452429c56986066a3dc0c54
2022-11-10 18:53:05 +00:00
Harish Nair
4b90c8219a docs: add note on partial unique index support
>

## Description ✍️

Hasura currently does not support the use of partial unique indexes in upsert mutation as can be seen in [this issue](https://github.com/hasura/graphql-engine-mono/issues/4165). Call out this fact in the documentation.

## Affected components ✍️

-  Docs

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5019
GitOrigin-RevId: adfb19acfe3f920bcc5865ae4424c3ce148c5b7c
2022-11-10 18:01:29 +00:00
Matthew Goodwin
d829585e9c console: InputField clear button
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6767
GitOrigin-RevId: 2d6a68507a7e7970b68d4eb25ea665c9269a49af
2022-11-10 17:00:01 +00:00
Rob Dominguez
4e621fa48a docs: resolve docker networking after guides restructure
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6823
GitOrigin-RevId: 7588f2b73a699565b38a6ac9ef58a708a4ad40e4
2022-11-10 16:32:01 +00:00
Jesse Hallett
31e402e767 server: remaining codecs for function metadata
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6654
GitOrigin-RevId: a9d24c72078d2a2b0c8a62a6084d5ab86518fdeb
2022-11-10 16:17:13 +00:00
Mohd Bilal
8e2a18b256 cli: refactor internal/cliext to use internal/errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6695
GitOrigin-RevId: 11c1519e082103775ce3ffb1e2a95c766a299469
2022-11-10 15:41:57 +00:00
Mohd Bilal
4c24e6d56b cli: refactor internal/fsm to use internal/errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6694
GitOrigin-RevId: 96938d65f8de857c87e37b7d0fc508cee6436340
2022-11-10 14:58:49 +00:00
Nicolas Beaussart
e084dea9f8 console: cleenup makefiles
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6830
GitOrigin-RevId: 15f8f8f47dcb0f94d83fc8b9274a7b20af6f4a9b
2022-11-10 14:26:41 +00:00
Varun Choudhary
bc594e0554 console: e2e test for response transform
This PR adds e2e tests for actions response transform

### Related Issues ✍

https://hasurahq.atlassian.net/browse/GS-247

### Steps to test and verify ✍

1. run console locally from this branch
2. run cypress test (actions -> actionWithTransform)

### Limitations, known bugs & workarounds ✍
Didn't add any negative test cases because there is no validation error from server side for response transform.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6781
GitOrigin-RevId: da1986dba1cb12073b9d6052341906d3350997e9
2022-11-10 13:46:48 +00:00
Mohd Bilal
1cb217725a cli: fix response_transform field missing from actions metadata object
closes https://github.com/hasura/graphql-engine/issues/9182

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6814
GitOrigin-RevId: 8d89610938bfc42191abce561affcef9cf2036db
2022-11-10 13:10:46 +00:00
Varun Choudhary
12da55a1b7 console: show total max connection for cloud only and some UX improvements
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6820
GitOrigin-RevId: 36cd55c7e57244771d3ffa5d0e2f12c2f713a31e
2022-11-10 12:40:50 +00:00