1313 workflow_dispatch :
1414
1515# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
16+ # TODO: do we need all this, could make it slimmer?
1617permissions :
1718 contents : read
1819 pages : write
@@ -24,6 +25,7 @@ concurrency:
2425 group : " pages"
2526 cancel-in-progress : false
2627
28+ # TODO: do we need env?
2729env :
2830 BUILD_PATH : " ." # default value when not using subfolders
2931 # BUILD_PATH: subfolder
@@ -35,47 +37,12 @@ jobs:
3537 steps :
3638 - name : Checkout
3739 uses : actions/checkout@v4
38- - name : Detect package manager
39- id : detect-package-manager
40- run : |
41- if [ -f "${{ github.workspace }}/yarn.lock" ]; then
42- echo "manager=yarn" >> $GITHUB_OUTPUT
43- echo "command=install" >> $GITHUB_OUTPUT
44- echo "runner=yarn" >> $GITHUB_OUTPUT
45- echo "lockfile=yarn.lock" >> $GITHUB_OUTPUT
46- exit 0
47- elif [ -f "${{ github.workspace }}/package.json" ]; then
48- echo "manager=npm" >> $GITHUB_OUTPUT
49- echo "command=ci" >> $GITHUB_OUTPUT
50- echo "runner=npx --no-install" >> $GITHUB_OUTPUT
51- echo "lockfile=package-lock.json" >> $GITHUB_OUTPUT
52- exit 0
53- else
54- echo "Unable to determine package manager"
55- exit 1
56- fi
57- - name : Setup Node
58- uses : actions/setup-node@v4
40+ - name : Install, build, and upload your site
41+ uses : withastro/action@v4
5942 with :
60- node-version : " 20"
61- cache : ${{ steps.detect-package-manager.outputs.manager }}
62- cache-dependency-path : ${{ env.BUILD_PATH }}/${{ steps.detect-package-manager.outputs.lockfile }}
63- - name : Setup Pages
64- id : pages
65- uses : actions/configure-pages@v5
66- - name : Install dependencies
67- run : ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }}
68- working-directory : ${{ env.BUILD_PATH }}
69- - name : Build with Astro
70- run : |
71- ${{ steps.detect-package-manager.outputs.runner }} astro build \
72- --site "${{ steps.pages.outputs.origin }}" \
73- --base "${{ steps.pages.outputs.base_path }}"
74- working-directory : ${{ env.BUILD_PATH }}
75- - name : Upload artifact
76- uses : actions/upload-pages-artifact@v3
77- with :
78- path : ${{ env.BUILD_PATH }}/dist
43+ node-version : 20
44+ # can also do without the package-manager, will detect it
45+ package-manager : bun@latest
7946
8047 deploy :
8148 environment :
0 commit comments