graphql-engine/server
Antoine Leblanc 3525e60021 Deploy server documentation to github page in CI
_(This PR is on top of #3352.)_

## Description

This PR overhauls our documentation CI steps to push all generated server documentation to the `gh-pages` branch of the OSS repo. The goal of this PR is to arrive in the situation where `https://hasura.github.io/graphql-engine/server/` is automatically populated to contain the following:
  - all the markdown files from `server/documentation`, copied verbatim, no transformation applied
  - all the notes, collected from the code by the `extract-notes.sh` script, in `server/notes`
  - the generated haddock documentation for each major release or branch in `server/haddock`.

To do so, this PR does the following:
  - it includes the script to extract notes from #3352,
  - it rewrites the documentation checking CI step, to generate the notes and publish the resulting "server/documentation" folder,
  - it includes a new CI step to deploy the documentation to the `gh-pages` branch

Of note:
  - we will generate a different haddock folder for each main branch and release; in practice, that means the _main_, _stable_, _alpha_, _beta_ branches, and every build tagged with a version number
  - the step that builds the haddock documentation checks that ALL projects in the repo build, including pro, but the deploy only deploys the graphql-engine documentation, as it pushes it to a publicly-accessible place

## Required work

**DO NOT MERGE THIS PR IT IS NOT READY**. Some work needs to go into this PR before it is ready.

First of all: the `gh-pages` branch of the OSS repo does NOT yet contain the documentation scaffolding that this new process assumes. At the bare minimum, it should be a orphan branch that contains a top-level README.md file, and a _server_ folder. An example of the bare minimum required can be previewed [on my fork](https://nicuveo.github.io/graphql-engine/server/).

The content of the `server/documentation` folder needs to be adjusted to reflect this; at the very least, a `README.md` file needs to be added to do the indexing (again, see the placeholder [on my fork](https://nicuveo.github.io/graphql-engine/server/) for an example).

This way of publishing documentation must be validated against [proposed changes to the documentation](https://github.com/hasura/graphql-engine-mono/pull/3294). @marionschleifer what do you think?

~~The buildkite code in this branch is currently untested, and I am not sure how to test it.~~

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3380
GitOrigin-RevId: b24f6759c64ae29886c1f1b481b172febc512032
2022-01-31 13:16:29 +00:00
..
bench-wrk server, pro: actually reformat the code-base using ormolu 2021-09-23 22:57:37 +00:00
benchmarks bump python test suite dependencies 2022-01-17 07:40:56 +00:00
documentation Add documentation scaffolding for first sync-up. 2022-01-25 13:18:22 +00:00
packaging ci: add support for linux/arm64 docker image 2021-12-09 09:34:22 +00:00
src-exec server/tests: initial work on a test suite for DB-to-DB joins 2021-10-20 20:02:34 +00:00
src-lib Deploy server documentation to github page in CI 2022-01-31 13:16:29 +00:00
src-rsr tag release v2.1.1 2021-12-17 12:38:06 +00:00
src-test server: Refresh JWKs maximum once per second 2022-01-28 00:18:56 +00:00
tests/integration server/mssql: support read replicas 2022-01-04 11:54:56 +00:00
tests-hspec Reorganize Harness.Quoter.Yaml and add shouldReturnOneOfYaml 2022-01-27 13:15:28 +00:00
tests-py Add default User-Agent header for Action requests 2022-01-31 06:50:13 +00:00
.dockerignore update packages (#251) 2018-08-08 13:10:13 +05:30
.gitignore server/citus: feature branch 2021-05-21 02:47:51 +00:00
commit_diff.txt Rewrite GraphQL schema generation and query parsing (close #2801) (#4111) 2020-08-21 12:27:01 -05:00
COMPILING-ON-M1.md update contributing and compiling on m1 2022-01-21 11:21:49 +00:00
CONTRIBUTING.md update contributing and compiling on m1 2022-01-21 11:21:49 +00:00
graphql-engine.cabal server: Refresh JWKs maximum once per second 2022-01-28 00:18:56 +00:00
Makefile ci: misc. cleanup, naming 2022-01-03 06:26:39 +00:00
Setup.hs server, pro: actually reformat the code-base using ormolu 2021-09-23 22:57:37 +00:00
STYLE.md server, CI: use ormolu as a formatter for Haskell sources 2021-09-23 21:23:21 +00:00