Skip to content

Commit

Permalink
feat: build GitHub Pages using mkdocs
Browse files Browse the repository at this point in the history
Build the existing markdown pages in the docs folder using mkdocs and
deploy them to GitHub Pages.
  • Loading branch information
cardoe authored and cloudnull committed Feb 21, 2024
1 parent 5f2ec5c commit 1678ce0
Show file tree
Hide file tree
Showing 5 changed files with 124 additions and 0 deletions.
59 changes: 59 additions & 0 deletions .github/workflows/mkdocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: pages build and deployment

on:
push:
branches:
- main
paths:
- "docs/**"
- ".github/workflows/mkdocs.yml"
pull_request:
paths:
- "docs/**"
- ".github/workflows/mkdocs.yml"
workflow_dispatch:

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.x
- run: pip install -r doc-requirements.txt
- run: mkdocs build
- uses: actions/upload-pages-artifact@v2
with:
path: site/

deploy:
# depend on the docs being built
needs: build

# ensure we only run on commits to the main branch
if: github.ref == 'refs/heads/main'

runs-on: ubuntu-latest

# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source

# Deploy to the github-pages environment
environment:
name: "github-pages"
url: ${{ steps.deployment.outputs.page_url }}

steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -121,3 +121,6 @@ kubernetes_sigs-kubespray*tar.gz
ansible_collections

kustomize/**/all.yaml

# mkdocs
site/
2 changes: 2 additions & 0 deletions doc-requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
mkdocs
mkdocs-material
Empty file added docs/index.md
Empty file.
60 changes: 60 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
site_name: Genestack
site_description: >-
Genestack — where Kubernetes and OpenStack tango in the cloud. Imagine a waltz between systems that deploy what you need.
theme:
name: material

palette:
- media: "(prefers-color-scheme: light)"
scheme: default
toggle:
icon: material/brightness-7
name: Switch to dark mode
- media: "(prefers-color-scheme: dark)"
scheme: slate
toggle:
icon: material/brightness-4
name: Switch to light mode

features:
- announce.dismiss
- content.action.edit
- content.code.annotate
- content.code.copy
# - content.tabs.link
- content.tooltips
# - header.autohide
# - navigation.expand
- navigation.footer
- navigation.indexes
- navigation.instant
# - navigation.prune
- navigation.sections
- navigation.tabs
- navigation.tabs.sticky
- navigation.top
- navigation.tracking
- search.highlight
- search.share
- search.suggest
- toc.follow

plugins:
- search

markdown_extensions:
- admonition
- attr_list
- def_list

repo_name: rackerlabs/genestack
repo_url: https://github.com/rackerlabs/genestack
dev_addr: "127.0.0.1:8001"
edit_uri: "edit/main/docs"

nav:
- Home: index.md
- Quick-Start: quickstart.md
- Components: components.md

0 comments on commit 1678ce0

Please sign in to comment.