Merge pull request #621 from evannotfound/feat/hitokoto-refresh-on-lo… #23
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Dev Deploy | |
| env: | |
| VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} | |
| VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - dev | |
| jobs: | |
| preview-deployment: | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: Dev Preview | |
| url: https://redefine-preview.ohevan.com | |
| steps: | |
| - name: Checkout theme repository | |
| uses: actions/checkout@v6 | |
| with: | |
| path: 'theme' | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20.x' # Specify your required Node.js version | |
| - name: Clone Hexo site repository | |
| run: git clone https://github.com/EvanNotFound/redefine-demo.git hexo-site | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.x' # Ensure compatibility with Python 3.x | |
| - name: Install PyYAML | |
| run: pip install pyyaml | |
| - name: Enable Developer Mode in Config | |
| run: | | |
| echo "import yaml | |
| import logging | |
| # Set up logging | |
| logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') | |
| try: | |
| # Load YAML file | |
| with open('hexo-site/_config.redefine.yml', 'r') as file: | |
| config = yaml.safe_load(file) | |
| logging.info('YAML file loaded successfully.') | |
| # Modify the developer mode and CDN settings | |
| config['developer']['enable'] = True | |
| logging.info('Developer mode set to True.') | |
| config['cdn']['enable'] = False | |
| logging.info('CDN set to False.') | |
| # Save the modified YAML file | |
| with open('hexo-site/_config.redefine.yml', 'w') as file: | |
| yaml.safe_dump(config, file, default_flow_style=False, sort_keys=False) | |
| logging.info('YAML file saved with new settings.') | |
| except Exception as e: | |
| logging.error('An error occurred: {}'.format(e)) | |
| " > update_yaml.py | |
| python update_yaml.py | |
| - name: Move theme into Hexo site | |
| run: | | |
| mv theme hexo-site/themes/redefine | |
| - name: Build theme assets | |
| run: | | |
| cd hexo-site/themes/redefine | |
| npm install | |
| npm run build | |
| - name: Install dependencies | |
| run: | | |
| cd hexo-site | |
| npm install | |
| - name: Build Hexo | |
| run: | | |
| cd hexo-site | |
| npm uninstall hexo-theme-redefine | |
| npm run build | |
| - name: Change directory to hexo-site | |
| run: echo "HEXO_SITE_DIR=${{ github.workspace }}/hexo-site" >> $GITHUB_ENV | |
| # Install Vercel CLI first to avoid bug with next step | |
| - name: Install Vercel CLI | |
| run: npm install -g vercel@latest | |
| - name: Deploy to Vercel Action | |
| id: deploy-to-vercel | |
| uses: EvanNotFound/vercel-deployment-for-github-actions@v1.2.2 | |
| with: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} | |
| VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} | |
| VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} | |
| WORKING_DIRECTORY: ${{ env.HEXO_SITE_DIR }} | |
| VERCEL_SCOPE: ${{ secrets.VERCEL_SCOPE }} | |
| PRODUCTION: false | |
| GITHUB_DEPLOYMENT: false | |
| DEPLOY_PR_FROM_FORK: true | |
| ALIAS_DOMAINS: | | |
| redefine-preview.ohevan.com | |
| redefine-preview.vercel.app | |
| redefine-preview-git-{SHA}.vercel.app | |
| PR_PREVIEW_DOMAIN: "redefine-preview-pr-{PR}.vercel.app" |