Skip to content

Commit c671782

Browse files
committed
refactor(github-workflow): apply GitHub Actions from ghacts
1 parent b285b8b commit c671782

File tree

1 file changed

+25
-119
lines changed

1 file changed

+25
-119
lines changed

.github/workflows/deploy_to_netlify.yaml

+25-119
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ on:
1313
env:
1414
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
1515
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
16+
NETLIFY_SITE_NAME: ${{ vars.NETLIFY_SITE_NAME }}
1617
DEPLOY_DIR: dist
1718

1819
jobs:
@@ -83,137 +84,42 @@ jobs:
8384
url: ${{ steps.post_deploy.outputs.netlify_deploy_url }}
8485
runs-on: ubuntu-latest
8586
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
12588
env:
12689
NETLIFY_DEPLOY_PREFIX: ${{ needs.set_deploy_environment.outputs.netlify_deploy_prefix }}
12790
NETLIFY_DEPLOY_ALIAS: ${{ needs.set_deploy_environment.outputs.netlify_deploy_alias }}
12891
SITE_GA_ID: ${{ vars.SITE_GA_ID }}
12992
SITE_SWETRIX_ID: ${{ vars.SITE_SWETRIX_ID }}
13093
SITE_COUNTER_ANALYTICS_ID: ${{ vars.SITE_COUNTER_ANALYTICS_ID }}
13194
SITE_DISQUS_ID: ${{ vars.SITE_DISQUS_ID }}
132-
shell: bash
13395
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"
165104
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
168110

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
172114
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 }}
179122

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)"
217123
outputs:
218124
success: ${{ steps.deploy.outputs.success }}
219125

0 commit comments

Comments
 (0)