|
| 1 | +# Infrastructure Guide |
| 2 | + |
| 3 | +This guide serves as an advanced version of the contributing documentation |
| 4 | +and contains the information on how we manage the infrastructure |
| 5 | +behind the CF Website, Conventions document, CF Standard Names table, |
| 6 | +and standardized region list. |
| 7 | + |
| 8 | +## CF Website |
| 9 | + |
| 10 | +The [CF Website](http://cfconventions.org) is served by GitHub Pages |
| 11 | +from source documents (in Markdown mainly) on the `master` branch |
| 12 | +of the [CF Website repo](https://github.com/cf-convention/cf-convention.github.io). |
| 13 | +The CF Website pages are regenerated automatically by GitHub Pages |
| 14 | +whenever a commit is made to the `master` branch. |
| 15 | + |
| 16 | +### PR Testing for the CF Website |
| 17 | + |
| 18 | +PRs to the CF website repo are built/tested by GitHub Actions |
| 19 | +using Jekyll with the 'github-pages' plugin. |
| 20 | +The resulting website content is available as an artifact |
| 21 | +from the CF Website repo's GitHub Actions [page](https://github.com/cf-convention/cf-convention.github.io/actions) |
| 22 | +for the build of that PR. |
| 23 | + |
| 24 | +Configuration files are: |
| 25 | +- [`check_jekyll_build.yml`](https://github.com/cf-convention/cf-convention.github.io/blob/master/.github/workflows/check_jekyll_build.yml) |
| 26 | +- [`Gemfile`](https://github.com/cf-convention/cf-convention.github.io/blob/master/Gemfile) |
| 27 | +- [`_config.yml`](https://github.com/cf-convention/cf-convention.github.io/blob/master/_config.yml) |
| 28 | + |
| 29 | +## CF Conventions Document |
| 30 | +The CF Conventions Document is built from source documents (in AsciiDoc) |
| 31 | +on the `master` branch of the [CF Conventions repo](https://github.com/cf-convention/cf-conventions). |
| 32 | + |
| 33 | +For each commit to the `master` branch of the CF Conventinos repo, |
| 34 | +[Travis](https://travis-ci.org) builds the CF Conventions document(s) |
| 35 | +using [Asciidoctor](https://asciidoctor.org/). |
| 36 | +The resulting HTML page and PDF document are pushed to the `gh-pages` branch |
| 37 | +and are served by GitHub Pages. |
| 38 | +They are available at http://cfconventions.org/cf-conventions |
| 39 | + |
| 40 | +### Release Versions |
| 41 | +??? Also done with Travis? |
| 42 | + |
| 43 | +Resulting HTML page and PDF document are pushed to the CF Website Repo |
| 44 | +at `/Data/cf-conventions/cf-convention-<version>` |
| 45 | +from where they are published to the website |
| 46 | +and available at |
| 47 | +http://cfconventions.org/Data/cf-conventions/cf-conventions-<version>/cf-conventions.[html|pdf] |
| 48 | + |
| 49 | +GitHub Releases are made ... |
| 50 | +?? Should HTML and PDF output be included as assets in GitHub release? |
| 51 | + |
| 52 | +### PR Testing for the CF Conventions Document |
| 53 | +PRs to the CF Convention repo are built/tested by GitHub Actions |
| 54 | +using Asciidoctor. The resulting HTML page and PDF document are available |
| 55 | +as artifacts in each build on the CF Conventions repo GitHub Actions [page](https://github.com/cf-convention/cf-conventions/actions) |
| 56 | + |
| 57 | +The configuration file for this GitHub Action is: |
| 58 | +- [`check_adoc_build.yml`](https://github.com/cf-convention/cf-conventions/blob/master/.github/workflows/check_adoc_build.yml) |
| 59 | + |
| 60 | +## CF Standard Names Table |
| 61 | +New CF Standard Names are discussed and proposed in issues on the [CF Discussion repo](https://github.com/cf-convention/discuss). |
| 62 | +Proposed CF Standard Names are tracked in the [CEDA CF Standard Name Tracker](http://cfeditor.ceda.ac.uk/proposals/1). |
| 63 | + |
| 64 | +New versions of the CF Standard Name table are released ?monthly or quarterly? |
| 65 | +with any newly accepted standard names. |
| 66 | +The new XML file and XSLT-generated HTML file are pushed to the CF Website repo |
| 67 | +in `Data/cf-standard-name/<version>/[build|src]`. |
| 68 | + |
| 69 | +## CF Standardized Region List |
| 70 | + |
| 71 | +?? |
0 commit comments