A mirror of my website's source code.

Add auto deploy script for gh

by steve0greatness, Sunday, 15 September 2024, 19:55:55 (1726430155), pushed by steve0greatness, Sunday, 15 September 2024, 19:56:43 (1726430203)

Author identity: Steve0Greatness <steve0greatnessiscool@gmail.com>

cbdddbbd937c164d4ea481bc2384c94a5971e17b

.github/workflows/build-deploy.yml

@@ -0,0 +1,54 @@

                                
                                
                                
                            
                                
                                    
                                        
                                        name: Build and Deploy site to Nekoweb
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        on:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          push:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            branches: [ "main" ]
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        permissions: 
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          contents: write
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        jobs:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            build:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                runs-on: ubuntu-latest
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                strategy:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                  matrix:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    python-version: [ "3.12" ]
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                steps:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    - uses: actions/checkout@v4
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    - name: Set up Python ${{ matrix.python-version }}
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                      uses: actions/setup-python@v5
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                      with:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        python-version: ${{ matrix.python-version }}
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    - name: Install Python dependencies
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                      uses: py-actions/py-dependency-install@v4
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                      with:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        path: "requirements.txt"
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    - name: Pull Changes
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                      run: |
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        git pull
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    - name: Build Site
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                      run: python build.py
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    - name: Archive production artifacts
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                      uses: actions/upload-artifact@v4
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                      with:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        path: build
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            deploy:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                              if: "contains(github.event.head_commit.message, '#action/build-deploy')"
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                              needs: [build]
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                              runs-on: ubuntu-latest
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                              strategy:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                matrix:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                  python-version: [ "3.12" ]
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                              steps:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                - uses: actions/checkout@v4
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                - name: Download build results
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                  uses: actions/download-artifact@v4
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                - name: Deploy to Nekoweb
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                  uses: mp-pinheiro/nekoweb-deploy@main
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                  with:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    API_KEY: ${{ secrets.NEKOWEB_API_KEY }}
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    BUILD_DIR: "/home/runner/work/WikiGen/WikiGen/artifact"
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    DEPLOY_DIR: "/build"
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    CLEANUP: "True"
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    DELAY: "0.5"
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    NEKOWEB_PAGENAME: "steve0greatness"