All checks were successful
Build & Depoly / Depoly blog (push) Successful in 1m14s
64 lines
1.8 KiB
YAML
64 lines
1.8 KiB
YAML
name: Build & Depoly
|
|
|
|
on: [push]
|
|
|
|
jobs:
|
|
depoly:
|
|
runs-on: docker
|
|
container:
|
|
image: node:20-bullseye
|
|
name: Depoly blog
|
|
steps:
|
|
- name: Install git-lfs
|
|
run: apt update -y && apt install -y git-lfs
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: true # Checkout private submodules(themes or something else).
|
|
- name: Checkout LFS
|
|
run: |
|
|
UrlBase=$GITHUB_SERVER_URL; \
|
|
UrlLfsBase=$UrlBase/${{ github.repository }}.git/info/lfs/objects; \
|
|
Auth=`/usr/bin/git config --get --local http.$UrlBase/.extraheader`; \
|
|
/usr/bin/git config --local http.${UrlLfsBase}/batch.extraheader "$Auth"; \
|
|
/usr/bin/git config --local http.${UrlLfsBase}/.extraheader ''
|
|
|
|
git config --local lfs.transfer.maxretries 1
|
|
|
|
git lfs fetch origin refs/remotes/origin/${{ github.ref_name }}
|
|
git lfs checkout
|
|
|
|
- name: Setup pnpm
|
|
run: |
|
|
corepack enable
|
|
corepack prepare pnpm@latest-9 --activate
|
|
pnpm config set store-dir /tmp/pnpm-store
|
|
|
|
- name: Cache Dependencies
|
|
id: dependencies-cache
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: /tmp/pnpm-store
|
|
key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
|
|
- name: Install Dependencies
|
|
run: pnpm install
|
|
|
|
- name: Cache Generated Files
|
|
id: files-cache
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
public/**
|
|
db.json
|
|
key: generated-files-1
|
|
|
|
- name: Build Website
|
|
run: pnpm build
|
|
|
|
- name: Depoly Website
|
|
uses: https://github.com/cloudflare/wrangler-action@v3
|
|
with:
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
command: pages deploy --project-name=rubicons-blog public
|