Browse Source

update github workflow for docusaurus

Jack Humbert 3 years ago
parent
commit
29f2e9f19a
4 changed files with 20 additions and 6 deletions
  1. 15 2
      .github/workflows/docs.yml
  2. 2 2
      docs/package-lock.json
  3. 1 1
      docs/package.json
  4. 2 1
      lib/python/qmk/cli/generate/docs.py

+ 15 - 2
.github/workflows/docs.yml

@@ -26,21 +26,34 @@ jobs:
     - uses: actions/checkout@v3
       with:
         fetch-depth: 1
+        
+    - uses: actions/setup-node@v3
+      with:
+        node-version: 16
+        cache: yarn
 
     - name: Install dependencies
       run: |
         apt-get update && apt-get install -y rsync nodejs npm doxygen
         npm install -g moxygen
 
-    - name: Build docs
+    - name: Build doxygen docs
       run: |
         qmk --verbose generate-docs
 
+    - name: Install yarn dependencies
+      working-directory: .build/docs
+      run: yarn install --frozen-lockfile
+
+    - name: Build Docusaurus
+      working-directory: .build/docs
+      run: yarn build
+
     - name: Deploy
       uses: JamesIves/github-pages-deploy-action@v4.4.1
       with:
         GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
         BASE_BRANCH: master
         BRANCH: gh-pages
-        FOLDER: .build/docs
+        FOLDER: .build/docs/build
         GIT_CONFIG_EMAIL: hello@qmk.fm

+ 2 - 2
docs/package-lock.json

@@ -1,11 +1,11 @@
 {
-  "name": "test",
+  "name": "qmk_firmware_docs",
   "version": "0.0.0",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
-      "name": "test",
+      "name": "qmk_firmware_docs",
       "version": "0.0.0",
       "dependencies": {
         "@docusaurus/core": "2.4.0",

+ 1 - 1
docs/package.json

@@ -1,5 +1,5 @@
 {
-  "name": "test",
+  "name": "qmk_firmware_docs",
   "version": "0.0.0",
   "private": true,
   "scripts": {

+ 2 - 1
lib/python/qmk/cli/generate/docs.py

@@ -26,7 +26,8 @@ def generate_docs(cli):
     if DOXYGEN_PATH.exists():
         shutil.rmtree(DOXYGEN_PATH)
 
-    shutil.copytree(DOCS_PATH, BUILD_DOCS_PATH)
+    # ignore node_modules when we're testing locally
+    shutil.copytree(DOCS_PATH, BUILD_DOCS_PATH, ignore=shutil.ignore_patterns("node_modules"))
 
     # When not verbose we want to hide all output
     args = {