A mirror of my website's source code.

By using this site, you agree to have cookies stored on your device, strictly for functional purposes, such as storing your session and preferences.

Dismiss

Add auto deploy script for gh

steve0greatness,
created on Sunday, 15 September 2024, 19:55:55 (1726430155), received on 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"