Skip to content
This repository was archived by the owner on May 6, 2026. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions .github/workflows/filebase-deploy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Deploy site via Filebase
on:
push:
branches: ["release"]
paths:
- "pnpm-lock.yaml"
- "packages/uikit/**"
- "apps/fallback/**"
- ".github/workflows/filebase-deploy.yaml"

permissions:
contents: read
pull-requests: write
statuses: write

jobs:
deploy-to-filebase:
environment:
name: IPFS
url: https://morpho-fallback-app.myfilebase.site

runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [22]
steps:
- name: Checkout
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- name: Install pnpm
uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
with:
version: 10
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: ${{ matrix.node-version }}
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build fallback app
env:
VITE_IS_IPFS_BUILD: "true"
run: pnpm run fallback-app:build
- name: Upload CAR to Filebase
id: deploy
uses: ipshipyard/ipfs-deploy-action@266952049b3bf1bdc2afadcf568759e11ac1ef66 # v1.9.2
with:
path-to-deploy: apps/fallback/dist
filebase-access-key: ${{ secrets.FILEBASE_ACCESS_KEY }}
filebase-secret-key: ${{ secrets.FILEBASE_SECRET_KEY }}
filebase-bucket: ${{ secrets.FILEBASE_BUCKET }}
github-token: ${{ github.token }}
- name: Publish new CID to Filebase Site (IPNS)
env:
FILEBASE_ACCESS_KEY: ${{ secrets.FILEBASE_ACCESS_KEY }}
FILEBASE_SECRET_KEY: ${{ secrets.FILEBASE_SECRET_KEY }}
SITE_LABEL: morpho-fallback-app.myfilebase.site
CID: ${{ steps.deploy.outputs.cid }}
run: |
TOKEN=$(printf '%s' "${FILEBASE_ACCESS_KEY}:${FILEBASE_SECRET_KEY}" | base64 -w 0)
curl -fsS -X PUT \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d "{\"cid\":\"${CID}\"}" \
"https://api.filebase.io/v1/names/${SITE_LABEL}"
3 changes: 2 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,8 @@ Same as Fallback, plus:
### Deployment

- Lite app deploys to Vercel via `pnpm run deploy` in `apps/lite`
- Both apps support Fleek deployment (via `@fleek-platform/cli`)
- Fallback app deploys to IPFS via Filebase (see `.github/workflows/filebase-deploy.yaml`) — the action uploads a CAR to the bucket, then publishes the new CID to the Site's IPNS via the Filebase Platform API
- Both apps still support Fleek deployment (via `@fleek-platform/cli`); the Fleek workflow will be removed once the Filebase pipeline is validated
- Ensure SPA routing is configured (all routes → `index.html`)

### Development Workflow
Expand Down
2 changes: 2 additions & 0 deletions apps/fallback/src/components/footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ export function Footer() {
return false;
}, [ipfsDeployments]);

if (import.meta.env.VITE_IS_IPFS_BUILD === "true") return null;

return (
<div className="bg-primary fixed bottom-0 z-[51] h-[12px] w-full overflow-visible">
<div
Expand Down
1 change: 1 addition & 0 deletions apps/fallback/src/vite-env.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

interface ImportMetaEnv {
readonly VITE_WALLET_KIT_PROJECT_ID: string;
readonly VITE_IS_IPFS_BUILD?: string;
}

interface ImportMeta {
Expand Down
1 change: 1 addition & 0 deletions apps/fallback/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import svgr from "vite-plugin-svgr";

// https://vite.dev/config/
export default defineConfig({
base: "./",
plugins: [svgr(), tailwindcss(), react()],
resolve: {
alias: {
Expand Down
Loading