-
-
Notifications
You must be signed in to change notification settings - Fork 0
116 lines (100 loc) · 3.41 KB
/
Copy pathpages.yml
File metadata and controls
116 lines (100 loc) · 3.41 KB
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
name: Deploy docs site
on:
push:
branches: [main]
pull_request:
# open/reopen/update → build & publish a preview; close → tear it down.
types: [opened, reopened, synchronize, closed]
workflow_dispatch:
# Serialize every writer of the gh-pages branch so production and preview
# deploys never race on a push. Deploys are never cancelled midway.
concurrency:
group: gh-pages-deploy
cancel-in-progress: false
permissions:
contents: write # push to the gh-pages branch
pull-requests: write # pr-preview-action comments the preview URL
# Base path the site is served from — the GitHub Pages project path.
# https://allonsy-studio.github.io/agent-skills/ -> "/agent-skills/"
# (Use "/" instead if the site ever moves to a custom domain root.)
# Production builds with this prefix and previews nest under it, so changing
# this one value keeps every internal link correct in both places.
env:
SITE_BASE: "/agent-skills/"
jobs:
# ---- Production: publish main to the gh-pages root ----
production:
name: Deploy to gh-pages
if: github.event_name != 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 1
persist-credentials: false
- name: Enable Corepack
run: corepack enable
- name: Use Node LTS version
uses: actions/setup-node@v6
with:
node-version-file: .nvmrc
cache: yarn
registry-url: https://registry.npmjs.org
- name: Install Node dependencies
run: yarn install --immutable
- name: Build site
env:
ELEVENTY_ENV: production
run: |
yarn build
yarn exec eleventy --pathprefix="$SITE_BASE"
- name: Deploy to gh-pages
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: gh-pages
folder: _site
# Wipe stale files, but keep active PR previews and the custom-domain
# CNAME (harmless no-op when neither is present).
clean: true
clean-exclude: |
pr-preview/
CNAME
# ---- Preview: publish each PR under /pr-preview/pr-N/ ----
preview:
name: Deploy PR preview
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 1
persist-credentials: false
# A closed PR only needs teardown, so skip the build entirely.
- name: Enable Corepack
if: github.event.action != 'closed'
run: corepack enable
- name: Use Node LTS version
if: github.event.action != 'closed'
uses: actions/setup-node@v6
with:
node-version-file: .nvmrc
cache: yarn
registry-url: https://registry.npmjs.org
- name: Install Node dependencies
if: github.event.action != 'closed'
run: yarn install --immutable
- name: Build preview site
if: github.event.action != 'closed'
env:
ELEVENTY_ENV: production
run: |
yarn build
yarn exec eleventy --pathprefix="${SITE_BASE}pr-preview/pr-${{ github.event.number }}/"
- name: Deploy preview to gh-pages
uses: rossjrw/pr-preview-action@v1
with:
source-dir: _site
preview-branch: gh-pages
umbrella-dir: pr-preview