|
1 |
| -# Simple workflow for deploying static content to GitHub Pages |
2 |
| -name: Deploy static content to Pages |
| 1 | +name: Deploy Hexo Blog |
3 | 2 |
|
4 | 3 | on:
|
5 |
| - # Runs on pushes targeting the default branch |
6 | 4 | push:
|
7 |
| - branches: ["main"] |
8 |
| - |
9 |
| - # Allows you to run this workflow manually from the Actions tab |
10 |
| - workflow_dispatch: |
11 |
| - |
12 |
| -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages |
13 |
| -permissions: |
14 |
| - contents: read |
15 |
| - pages: write |
16 |
| - id-token: write |
17 |
| - |
18 |
| -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. |
19 |
| -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. |
20 |
| -concurrency: |
21 |
| - group: "pages" |
22 |
| - cancel-in-progress: false |
| 5 | + branches: |
| 6 | + - main |
23 | 7 |
|
24 | 8 | jobs:
|
25 |
| - # Single deploy job since we're just deploying |
26 |
| - deploy: |
27 |
| - environment: |
28 |
| - name: github-pages |
29 |
| - url: ${{ steps.deployment.outputs.page_url }} |
| 9 | + build-and-deploy: |
30 | 10 | runs-on: ubuntu-latest
|
31 | 11 | steps:
|
32 |
| - - name: Checkout |
33 |
| - uses: actions/checkout@v4 |
34 |
| - - name: Setup Pages |
35 |
| - uses: actions/configure-pages@v5 |
36 |
| - - name: Upload artifact |
37 |
| - uses: actions/upload-pages-artifact@v3 |
38 |
| - with: |
39 |
| - # Upload entire repository |
40 |
| - path: '.' |
41 |
| - - name: Deploy to GitHub Pages |
42 |
| - id: deployment |
43 |
| - uses: actions/deploy-pages@v4 |
| 12 | + - name: Checkout |
| 13 | + uses: actions/checkout@v3 |
| 14 | + |
| 15 | + - name: Setup Node |
| 16 | + uses: actions/setup-node@v3 |
| 17 | + with: |
| 18 | + node-version: '20' |
| 19 | + |
| 20 | + - name: Install Dependencies |
| 21 | + run: | |
| 22 | + npm install hexo-cli -g |
| 23 | + npm install |
| 24 | +
|
| 25 | + - name: Generate Static Files |
| 26 | + run: hexo generate |
| 27 | + |
| 28 | + - name: Deploy to GitHub Pages |
| 29 | + uses: peaceiris/actions-gh-pages@v3 |
| 30 | + with: |
| 31 | + github_token: ${{ secrets.GITHUB_TOKEN }} |
| 32 | + publish_dir: ./public |
| 33 | + publish_branch: gh-pages |
| 34 | + force_orphan: true |
0 commit comments