CI: Add docs build and deploy workflow (#7448)
* Add docs build and deploy workflow * Remove old travis docs workflow * update to cli command * Tidy up for review * formatting * Update to pass style checks * Update lib/python/qmk/cli/docs.py Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com> * Review comments - build->generate, use of verbose * Add docs * Update to match recent actions * Run within base_container * Convert cli to generate-docs * Convert cli to generate-docs - restore old file * Convert cli to generate-docs * Update docs Co-authored-by: skullydazed <skullydazed@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									abf1902ff5
								
							
						
					
					
						commit
						aae3b35c0f
					
				
					 6 changed files with 91 additions and 20 deletions
				
			
		| 
						 | 
				
			
			@ -1 +1,2 @@
 | 
			
		|||
from . import api
 | 
			
		||||
from . import docs
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										37
									
								
								lib/python/qmk/cli/generate/docs.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								lib/python/qmk/cli/generate/docs.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,37 @@
 | 
			
		|||
"""Build QMK documentation locally
 | 
			
		||||
"""
 | 
			
		||||
import shutil
 | 
			
		||||
import subprocess
 | 
			
		||||
from pathlib import Path
 | 
			
		||||
 | 
			
		||||
from milc import cli
 | 
			
		||||
 | 
			
		||||
DOCS_PATH = Path('docs/')
 | 
			
		||||
BUILD_PATH = Path('.build/docs/')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@cli.subcommand('Build QMK documentation.', hidden=False if cli.config.user.developer else True)
 | 
			
		||||
def generate_docs(cli):
 | 
			
		||||
    """Invoke the docs generation process
 | 
			
		||||
 | 
			
		||||
    TODO(unclaimed):
 | 
			
		||||
        * [ ] Add a real build step... something static docs
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    if BUILD_PATH.exists():
 | 
			
		||||
        shutil.rmtree(BUILD_PATH)
 | 
			
		||||
 | 
			
		||||
    shutil.copytree(DOCS_PATH, BUILD_PATH)
 | 
			
		||||
 | 
			
		||||
    # When not verbose we want to hide all output
 | 
			
		||||
    args = {'check': True}
 | 
			
		||||
    if not cli.args.verbose:
 | 
			
		||||
        args.update({'stdout': subprocess.DEVNULL, 'stderr': subprocess.STDOUT})
 | 
			
		||||
 | 
			
		||||
    cli.log.info('Generating internal docs...')
 | 
			
		||||
 | 
			
		||||
    # Generate internal docs
 | 
			
		||||
    subprocess.run(['doxygen', 'Doxyfile'], **args)
 | 
			
		||||
    subprocess.run(['moxygen', '-q', '-a', '-g', '-o', BUILD_PATH / 'internals_%s.md', 'doxygen/xml'], **args)
 | 
			
		||||
 | 
			
		||||
    cli.log.info('Successfully generated internal docs to %s.', BUILD_PATH)
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue