1
1
# Sample workflow for building and deploying an Astro site to GitHub Pages
2
- #
3
- # To get started with Astro see: https://docs.astro.build/en/getting-started/
4
- #
5
2
name : Deploy Astro site to Pages
6
3
7
4
on :
@@ -26,7 +23,6 @@ concurrency:
26
23
27
24
env :
28
25
BUILD_PATH : " ./docs" # default value when not using subfolders
29
- # BUILD_PATH: subfolder
30
26
31
27
jobs :
32
28
build :
@@ -35,43 +31,49 @@ jobs:
35
31
steps :
36
32
- name : Checkout
37
33
uses : actions/checkout@v4
34
+
38
35
- name : Detect package manager
39
36
id : detect-package-manager
40
37
run : |
41
- if [ -f "${{ github.workspace }}/yarn.lock" ]; then
38
+ if [ -f "${{ github.workspace }}/docs/ yarn.lock" ]; then
42
39
echo "manager=yarn" >> $GITHUB_OUTPUT
43
40
echo "command=install" >> $GITHUB_OUTPUT
44
41
echo "runner=yarn" >> $GITHUB_OUTPUT
45
- echo "lockfile=yarn.lock" >> $GITHUB_OUTPUT
42
+ echo "lockfile=docs/ yarn.lock" >> $GITHUB_OUTPUT
46
43
exit 0
47
- elif [ -f "${{ github.workspace }}/package.json" ]; then
44
+ elif [ -f "${{ github.workspace }}/docs/ package.json" ]; then
48
45
echo "manager=npm" >> $GITHUB_OUTPUT
49
46
echo "command=ci" >> $GITHUB_OUTPUT
50
47
echo "runner=npx --no-install" >> $GITHUB_OUTPUT
51
- echo "lockfile=package-lock.json" >> $GITHUB_OUTPUT
48
+ echo "lockfile=docs/ package-lock.json" >> $GITHUB_OUTPUT
52
49
exit 0
53
50
else
54
51
echo "Unable to determine package manager"
55
52
exit 1
56
53
fi
54
+
57
55
- name : Setup Node
58
56
uses : actions/setup-node@v4
59
57
with :
60
58
node-version : " 20"
61
59
cache : ${{ steps.detect-package-manager.outputs.manager }}
62
- cache-dependency-path : ${{ env.BUILD_PATH }}/${{ steps.detect-package-manager.outputs.lockfile }}
60
+ cache-dependency-path : ${{ steps.detect-package-manager.outputs.lockfile }}
61
+
63
62
- name : Setup Pages
64
63
id : pages
65
64
uses : actions/configure-pages@v5
65
+
66
66
- name : Install dependencies
67
67
run : ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }}
68
68
working-directory : ${{ env.BUILD_PATH }}
69
+
69
70
- name : Build with Astro
70
71
run : |
71
72
${{ steps.detect-package-manager.outputs.runner }} astro build \
72
73
--site "${{ steps.pages.outputs.origin }}" \
73
74
--base "${{ steps.pages.outputs.base_path }}"
74
75
working-directory : ${{ env.BUILD_PATH }}
76
+
75
77
- name : Upload artifact
76
78
uses : actions/upload-pages-artifact@v3
77
79
with :
87
89
steps :
88
90
- name : Deploy to GitHub Pages
89
91
id : deployment
90
- uses : actions/deploy-pages@v4
92
+ uses : actions/deploy-pages@v4
0 commit comments