Skip to content

Commit 0f7233f

Browse files
committed
fix: update deploy workflow for Astro site and include old static site
1 parent 13a31f4 commit 0f7233f

1 file changed

Lines changed: 60 additions & 16 deletions

File tree

‎.github/workflows/deploy.yml‎

Lines changed: 60 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,94 @@
1-
name: Deploy Vue.js app to GitHub Pages
1+
# Workflow for building and deploying an Astro site to GitHub Pages
2+
# plus inclusion du site statique de la branche `old` dans /old
3+
4+
name: Deploy Astro + Old site to GitHub Pages
25

36
on:
47
push:
5-
branches:
6-
- vue # Déploie quand tu pousses sur la branche 'vue'
8+
branches: ["master"]
79
workflow_dispatch:
810

911
permissions:
1012
contents: read
1113
pages: write
1214
id-token: write
1315

16+
concurrency:
17+
group: "pages"
18+
cancel-in-progress: false
19+
20+
env:
21+
BUILD_PATH: "." # dossier du site Astro
22+
1423
jobs:
1524
build:
25+
name: Build Astro site + include old version
1626
runs-on: ubuntu-latest
17-
1827
steps:
19-
- name: Checkout repository
28+
- name: Checkout master (Astro site)
2029
uses: actions/checkout@v4
30+
with:
31+
ref: master
32+
33+
- name: Detect package manager
34+
id: detect-package-manager
35+
run: |
36+
if [ -f "${{ github.workspace }}/yarn.lock" ]; then
37+
echo "manager=yarn" >> $GITHUB_OUTPUT
38+
echo "command=install" >> $GITHUB_OUTPUT
39+
echo "runner=yarn" >> $GITHUB_OUTPUT
40+
echo "lockfile=yarn.lock" >> $GITHUB_OUTPUT
41+
elif [ -f "${{ github.workspace }}/package.json" ]; then
42+
echo "manager=npm" >> $GITHUB_OUTPUT
43+
echo "command=ci" >> $GITHUB_OUTPUT
44+
echo "runner=npx --no-install" >> $GITHUB_OUTPUT
45+
echo "lockfile=package-lock.json" >> $GITHUB_OUTPUT
46+
else
47+
echo "Unable to determine package manager"
48+
exit 1
49+
fi
2150
22-
- name: Setup Node.js
51+
- name: Setup Node
2352
uses: actions/setup-node@v4
2453
with:
25-
node-version: 18 # Compatible avec Vue 3/Vite
26-
54+
node-version: "20"
55+
cache: ${{ steps.detect-package-manager.outputs.manager }}
56+
cache-dependency-path: ${{ env.BUILD_PATH }}/${{ steps.detect-package-manager.outputs.lockfile }}
57+
2758
- name: Setup Pages
2859
id: pages
2960
uses: actions/configure-pages@v5
30-
61+
3162
- name: Install dependencies
32-
run: npm install
63+
run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }}
64+
working-directory: ${{ env.BUILD_PATH }}
65+
66+
- name: Build Astro site
67+
run: |
68+
${{ steps.detect-package-manager.outputs.runner }} astro build \
69+
--site "${{ steps.pages.outputs.origin }}" \
70+
--base "${{ steps.pages.outputs.base_path }}"
71+
working-directory: ${{ env.BUILD_PATH }}
72+
73+
- name: Clone old branch (static site)
74+
run: |
75+
git clone --depth 1 --branch old https://github.com/${{ github.repository }} tmp-old
76+
mkdir -p ${{ env.BUILD_PATH }}/dist/old
77+
cp -r tmp-old/* ${{ env.BUILD_PATH }}/dist/old/ || true
78+
rm -rf tmp-old
3379
34-
- name: Build project
35-
run: npm run build
36-
3780
- name: Upload artifact
3881
uses: actions/upload-pages-artifact@v3
3982
with:
40-
path: ./dist
83+
path: ${{ env.BUILD_PATH }}/dist
4184

4285
deploy:
43-
needs: build
44-
runs-on: ubuntu-latest
86+
name: Deploy to GitHub Pages
4587
environment:
4688
name: github-pages
4789
url: ${{ steps.deployment.outputs.page_url }}
90+
needs: build
91+
runs-on: ubuntu-latest
4892
steps:
4993
- name: Deploy to GitHub Pages
5094
id: deployment

0 commit comments

Comments
 (0)