-
Notifications
You must be signed in to change notification settings - Fork 56
93 lines (78 loc) · 2.46 KB
/
publish-main.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
name: Publish main
env:
doc_versionnumber: "docs"
on:
push:
branches:
- master
pull_request:
branches:
- "master"
paths:
- ".github/workflows/publish-main.yaml"
workflow_dispatch:
jobs:
build:
name: Build
runs-on: ubuntu-latest
permissions:
contents: write
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: false
environment:
name: github-pages-test
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Checkout code
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
with:
submodules: 'recursive'
- name: Set up Pages
id: pages
uses: actions/configure-pages@f156874f8191504dae5b037505266ed5dda6c382 # v3.0.6
- name: Set up Hugo
uses: peaceiris/actions-hugo@16361eb4acea8698b220b76c0d4e84e1fd22c61d # v2.6.0
with:
hugo-version: '0.110.0'
extended: true
- name: Set up Node
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3.7.0
with:
node-version: 16
- name: Install dependencies
run: |
cd themes/docsy
npm install
- name: Set up PostCSS
run: npm install --save-dev autoprefixer postcss-cli postcss
- name: Build
run: hugo --environment production --baseURL ${{ steps.pages.outputs.base_url }}/
# - name: Upload artifact
# uses: actions/upload-pages-artifact@64bcae551a7b18bcb9a09042ddf1960979799187 # v1.0.8
# with:
# path: ./public/
- name: Checkout code to update
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
with:
ref: 'gh-pages-test'
path: 'tmp/gh-pages'
# - name: Display file structure
# run: ls -R
- name: Copy built site to GH pages
run: |
rm -rf tmp/gh-pages/${{ env.doc_versionnumber }}
rm -rf tmp/gh-pages/css
rm -rf tmp/gh-pages/scss
rm -rf tmp/gh-pages/js
rm -rf tmp/gh-pages/_print
rsync -a public/ tmp/gh-pages/
- name: Commit & Push changes
uses: actions-js/push@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
message: 'Publish updated main docs, ${{ github.event.repository.pushed_at}}'
branch: 'gh-pages-test'
directory: 'tmp/gh-pages'