|
13 | 13 | env:
|
14 | 14 | NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
|
15 | 15 | NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
|
| 16 | + NETLIFY_SITE_NAME: ${{ vars.NETLIFY_SITE_NAME }} |
16 | 17 | DEPLOY_DIR: dist
|
17 | 18 |
|
18 | 19 | jobs:
|
@@ -83,137 +84,42 @@ jobs:
|
83 | 84 | url: ${{ steps.post_deploy.outputs.netlify_deploy_url }}
|
84 | 85 | runs-on: ubuntu-latest
|
85 | 86 | steps:
|
86 |
| - - name: Checkout repository |
87 |
| - uses: actions/checkout@v3 |
88 |
| - |
89 |
| - - name: Setup Node |
90 |
| - uses: actions/setup-node@v3 |
91 |
| - with: |
92 |
| - node-version: 18 |
93 |
| - |
94 |
| - - name: Setup PNPM |
95 |
| - uses: pnpm/action-setup@v2 |
96 |
| - with: |
97 |
| - version: 8 |
98 |
| - run_install: false |
99 |
| - |
100 |
| - - name: Get PNPM store directory |
101 |
| - id: pnpm-cache |
102 |
| - run: echo "pnpm_store_path=$(pnpm store path)" >> "$GITHUB_OUTPUT" |
103 |
| - |
104 |
| - - name: Setup pnpm cache |
105 |
| - uses: actions/cache@v3 |
106 |
| - with: |
107 |
| - path: ${{ steps.pnpm-cache.outputs.pnpm_store_path }} |
108 |
| - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} |
109 |
| - restore-keys: | |
110 |
| - ${{ runner.os }}-pnpm-store- |
111 |
| -
|
112 |
| - - name: Install dependencies |
113 |
| - run: pnpm install |
114 |
| - |
115 |
| - - name: Install Netlify CLI |
116 |
| - run: pnpm add --save-dev netlify-cli |
117 |
| - |
118 |
| - - name: Set as production environment |
119 |
| - if: needs.set_deploy_environment.outputs.github_environment == 'production' |
120 |
| - run: echo "PROD=true" >> "$GITHUB_ENV" |
121 |
| - |
122 |
| - - name: Deploy ${{ needs.set_deploy_environment.outputs.github_environment }} |
123 |
| - id: deploy |
124 |
| - if: success() |
| 87 | + - name: Set app environment variables |
125 | 88 | env:
|
126 | 89 | NETLIFY_DEPLOY_PREFIX: ${{ needs.set_deploy_environment.outputs.netlify_deploy_prefix }}
|
127 | 90 | NETLIFY_DEPLOY_ALIAS: ${{ needs.set_deploy_environment.outputs.netlify_deploy_alias }}
|
128 | 91 | SITE_GA_ID: ${{ vars.SITE_GA_ID }}
|
129 | 92 | SITE_SWETRIX_ID: ${{ vars.SITE_SWETRIX_ID }}
|
130 | 93 | SITE_COUNTER_ANALYTICS_ID: ${{ vars.SITE_COUNTER_ANALYTICS_ID }}
|
131 | 94 | SITE_DISQUS_ID: ${{ vars.SITE_DISQUS_ID }}
|
132 |
| - shell: bash |
133 | 95 | run: |
|
134 |
| - set -e |
135 |
| - ([[ ${PROD:-false} == "true" ]] && \ |
136 |
| - OUTPUT=$(GA_ID=$SITE_GA_ID \ |
137 |
| - SWETRIX_ID="${SITE_SWETRIX_ID}" \ |
138 |
| - COUNTER_ANALYTICS_ID="${SITE_COUNTER_ANALYTICS_ID}" \ |
139 |
| - DISQUS_ID="${SITE_DISQUS_ID}" \ |
140 |
| - pnpm netlify deploy \ |
141 |
| - --auth ${{ env.NETLIFY_AUTH_TOKEN }} \ |
142 |
| - --site ${{ env.NETLIFY_SITE_ID }} \ |
143 |
| - --json \ |
144 |
| - --build \ |
145 |
| - --context production \ |
146 |
| - --message "$(git log -1 --pretty=%s)" \ |
147 |
| - --prod \ |
148 |
| - | tr '\n' ' ')) || \ |
149 |
| - OUTPUT=$( |
150 |
| - SWETRIX_ID="${SITE_SWETRIX_ID}" \ |
151 |
| - COUNTER_ANALYTICS_ID="${SITE_COUNTER_ANALYTICS_ID}" \ |
152 |
| - DISQUS_ID="${SITE_DISQUS_ID}" \ |
153 |
| - pnpm netlify deploy \ |
154 |
| - --auth ${{ env.NETLIFY_AUTH_TOKEN }} \ |
155 |
| - --site ${{ env.NETLIFY_SITE_ID }} \ |
156 |
| - --json \ |
157 |
| - --build \ |
158 |
| - --context deploy-preview \ |
159 |
| - --alias "${NETLIFY_DEPLOY_ALIAS}" \ |
160 |
| - --message "$(git log -1 --pretty=%s)" \ |
161 |
| - | tr '\n' ' ') |
162 |
| - set +e |
163 |
| -
|
164 |
| - NETLIFY_OUTPUT="$OUTPUT" |
| 96 | + { |
| 97 | + echo "ASTRO_BASE_URL=https://${NETLIFY_DEPLOY_PREFIX}${NETLIFY_SITE_NAME}.netlify.app" |
| 98 | + echo "NETLIFY_DEPLOY_ALIAS=${NETLIFY_DEPLOY_ALIAS}" |
| 99 | + echo "GA_ID=${SITE_GA_ID}" |
| 100 | + echo "SWETRIX_ID=${SITE_SWETRIX_ID}" |
| 101 | + echo "COUNTER_ANALYTICS_ID=${SITE_COUNTER_ANALYTICS_ID}" |
| 102 | + echo "DISQUS_ID=${SITE_DISQUS_ID}" |
| 103 | + } >> "$GITHUB_ENV" |
165 | 104 |
|
166 |
| - echo "netlify_output=$NETLIFY_OUTPUT" >> "$GITHUB_OUTPUT" |
167 |
| - echo "success=true" >> "$GITHUB_OUTPUT" |
| 105 | + - name: Build |
| 106 | + uses: ghacts/static-site@main |
| 107 | + with: |
| 108 | + node-version: 18 |
| 109 | + skip-test: true |
168 | 110 |
|
169 |
| - - name: Post deploy ${{ needs.set_deploy_environment.outputs.github_environment }} |
170 |
| - id: post_deploy |
171 |
| - if: success() |
| 111 | + - name: Deploy |
| 112 | + id: deploy |
| 113 | + uses: ghacts/manual-deploy-to-netlify@main |
172 | 114 | env:
|
173 |
| - NETLIFY_DRAFT_URL: ${{ fromJson(steps.deploy.outputs.netlify_output).deploy_url }} |
174 |
| - NETLIFY_PROD_URL: ${{ fromJson(steps.deploy.outputs.netlify_output).url }} |
175 |
| - run: | |
176 |
| - [[ ${PROD:-false} == "true" ]] && \ |
177 |
| - echo "netlify_deploy_url=$NETLIFY_PROD_URL" >> "$GITHUB_OUTPUT" || \ |
178 |
| - echo "netlify_deploy_url=$NETLIFY_DRAFT_URL" >> "$GITHUB_OUTPUT" |
| 115 | + PROD: ${{ needs.set_deploy_environment.outputs.github_environment == 'production' }} |
| 116 | + with: |
| 117 | + auth-token: ${{ env.NETLIFY_AUTH_TOKEN }} |
| 118 | + site-id: ${{ env.NETLIFY_SITE_ID }} |
| 119 | + dir: ${{ env.DEPLOY_DIR }} |
| 120 | + alias: ${{ env.NETLIFY_DEPLOY_ALIAS }} |
| 121 | + prod: ${{ env.PROD }} |
179 | 122 |
|
180 |
| - - name: Debug deploy ${{ needs.set_deploy_environment.outputs.github_environment }} |
181 |
| - id: debug-deploy |
182 |
| - if: always() && (steps.deploy.outcome == 'failure' || steps.post_deploy.outcome == 'failure' ) |
183 |
| - env: |
184 |
| - NETLIFY_DEPLOY_PREFIX: ${{ needs.set_deploy_environment.outputs.netlify_deploy_prefix }} |
185 |
| - NETLIFY_DEPLOY_ALIAS: ${{ needs.set_deploy_environment.outputs.netlify_deploy_alias }} |
186 |
| - SITE_GA_ID: ${{ vars.SITE_GA_ID }} |
187 |
| - SITE_SWETRIX_ID: ${{ vars.SITE_SWETRIX_ID }} |
188 |
| - SITE_COUNTER_ANALYTICS_ID: ${{ vars.SITE_COUNTER_ANALYTICS_ID }} |
189 |
| - SITE_DISQUS_ID: ${{ vars.SITE_DISQUS_ID }} |
190 |
| - shell: bash |
191 |
| - run: | |
192 |
| - echo "node version $(node -v)" |
193 |
| - echo "pnpm version $(pnpm -v)" |
194 |
| - ([[ ${PROD:-false} == "true" ]] && \ |
195 |
| - GA_ID=$SITE_GA_ID \ |
196 |
| - SWETRIX_ID="${SITE_SWETRIX_ID}" \ |
197 |
| - COUNTER_ANALYTICS_ID="${SITE_COUNTER_ANALYTICS_ID}" \ |
198 |
| - DISQUS_ID="${SITE_DISQUS_ID}" \ |
199 |
| - pnpm netlify deploy \ |
200 |
| - --auth ${{ env.NETLIFY_AUTH_TOKEN }} \ |
201 |
| - --site ${{ env.NETLIFY_SITE_ID }} \ |
202 |
| - --build \ |
203 |
| - --context production \ |
204 |
| - --message "$(git log -1 --pretty=%s)" \ |
205 |
| - --prod) || \ |
206 |
| - GA_ID=$SITE_GA_ID \ |
207 |
| - SWETRIX_ID="${SITE_SWETRIX_ID}" \ |
208 |
| - COUNTER_ANALYTICS_ID="${SITE_COUNTER_ANALYTICS_ID}" \ |
209 |
| - DISQUS_ID="${SITE_DISQUS_ID}" \ |
210 |
| - pnpm netlify deploy \ |
211 |
| - --auth ${{ env.NETLIFY_AUTH_TOKEN }} \ |
212 |
| - --site ${{ env.NETLIFY_SITE_ID }} \ |
213 |
| - --build \ |
214 |
| - --context deploy-preview \ |
215 |
| - --alias "${NETLIFY_DEPLOY_ALIAS}" \ |
216 |
| - --message "$(git log -1 --pretty=%s)" |
217 | 123 | outputs:
|
218 | 124 | success: ${{ steps.deploy.outputs.success }}
|
219 | 125 |
|
|
0 commit comments