graphql-engine/scripts
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
..
cli-migrations ci: use curlimages/curl docker image instead of appropriate/curl 2022-01-20 07:30:41 +00:00
coalesce_run_sql [server] coalesce multiple run_sql calls in tests (#270) 2021-01-06 16:07:22 +00:00
containers pass MSSQL_SA_PASSWORD to mssql container, and add MSSQL_HOST 2021-11-25 10:23:53 +00:00
edit-pg-dump Merge oss/master onto mono/main 2020-11-12 22:37:19 +05:30
ekg server: add support for tagged and dynamic metrics 2021-08-05 21:08:17 +00:00
bigquery.sh server/tests: ephemeral BigQuery projects for CI test jobs 2022-01-25 08:28:06 +00:00
cabal-run.sh multitenant tests: reduce reliance on env vars, use fake cabal run 2022-01-24 18:15:25 +00:00
data-sources-util.sh server/tests: ephemeral BigQuery projects for CI test jobs 2022-01-25 08:28:06 +00:00
dev.sh test: have dev.sh pass through CLI options for unit tests 2022-01-20 15:40:34 +00:00
dump-remote-schema.js Remote Joins: Create relationships across database and remote schemas (#2392) 2020-05-27 20:32:58 +05:30
extract-notes.sh Deploy server documentation to github page in CI 2022-01-31 13:16:29 +00:00
generate_brand_assets_readme.sh update brand assets (#2062) 2019-04-26 10:05:52 +05:30
get-version.sh ci: combine pro/oss build jobs 2022-01-03 06:26:26 +00:00
parse-pytest-backend server/tests: ephemeral BigQuery projects for CI test jobs 2022-01-25 08:28:06 +00:00
performance_report.sh utils: fix scripts/performance_report.sh 2021-12-20 12:03:33 +00:00
tag-release.sh ci: introduce docker image scans 2021-09-03 06:51:46 +00:00
verify-bigquery-creds.sh server: document python integration test suite 2022-01-13 14:29:10 +00:00