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
- name : Deploy Astro site to Pages
1
+ name : Deploy to GitHub Pages
6
2
7
3
on :
8
- # Runs on pushes targeting the default branch
4
+ # `main` ブランチにプッシュするたびにワークフローを実行します
5
+ # 異なるブランチ名を使用する場合は、`main` をブランチ名に置き換えてください
9
6
push :
10
- branches : ["main"]
11
-
12
- # Allows you to run this workflow manually from the Actions tab
7
+ branches : [ main ]
8
+ # このワークフローを GitHub の Actions タブから手動で実行できるようにします。
13
9
workflow_dispatch :
14
10
15
- # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
11
+ # このジョブがリポジトリをクローンし、ページデプロイメントを作成することを許可します。
16
12
permissions :
17
13
contents : read
18
14
pages : write
19
15
id-token : write
20
16
21
- # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
22
- # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
23
- concurrency :
24
- group : " pages"
25
- cancel-in-progress : false
26
-
27
- env :
28
- BUILD_PATH : " ." # default value when not using subfolders
29
- # BUILD_PATH: subfolder
30
-
31
17
jobs :
32
18
build :
33
- name : Build
34
19
runs-on : ubuntu-latest
35
20
steps :
36
- - name : Checkout
21
+ - name : Checkout your repository using git
37
22
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
59
- 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
23
+ - name : Install, build, and upload your site
24
+ uses : withastro/action@v1
25
+ # with:
26
+ # path: . # リポジトリ内のAstroプロジェクトのルートロケーション。(オプション)
27
+ # node-version: 18 # サイト構築に使用するNodeのバージョン。デフォルトは18です。(オプション)
28
+ # package-manager: pnpm@latest # 依存関係のインストールとサイトのビルドに使用する Node パッケージマネージャ。ロックファイルに基づいて自動的に検出されます。(オプション)
79
29
80
30
deploy :
31
+ needs : build
32
+ runs-on : ubuntu-latest
81
33
environment :
82
34
name : github-pages
83
35
url : ${{ steps.deployment.outputs.page_url }}
84
- needs : build
85
- runs-on : ubuntu-latest
86
- name : Deploy
87
36
steps :
88
37
- name : Deploy to GitHub Pages
89
38
id : deployment
90
- uses : actions/deploy-pages@v4
39
+ uses : actions/deploy-pages@v1
0 commit comments