mirror of
https://github.com/fastapi/full-stack-fastapi-template.git
synced 2026-09-21 05:12:48 +00:00
55 lines
1.7 KiB
YAML
55 lines
1.7 KiB
YAML
name: Deploy
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths-ignore:
|
|
- release-notes.md
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
deploy:
|
|
# Do not deploy the template repository, only projects created from it
|
|
if: github.repository != 'fastapi/full-stack-fastapi-template'
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 15
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
with:
|
|
fetch-depth: 0
|
|
persist-credentials: false
|
|
- name: Set up Bun
|
|
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
|
|
with:
|
|
bun-version: 1.3.12
|
|
- name: Install frontend dependencies
|
|
run: bun ci
|
|
- name: Build frontend
|
|
run: bun run --filter frontend build
|
|
env:
|
|
# Override frontend/.env so the deployed frontend uses the same origin as the API
|
|
VITE_API_URL: ""
|
|
- name: Set up uv
|
|
uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
|
|
with:
|
|
version: "0.11.18"
|
|
- name: Prepare database
|
|
run: uv run bash scripts/prestart.sh
|
|
working-directory: backend
|
|
env:
|
|
DATABASE_URL: ${{ secrets.DATABASE_URL }}
|
|
PROJECT_NAME: ${{ vars.PROJECT_NAME }}
|
|
SECRET_KEY: ${{ secrets.SECRET_KEY }}
|
|
FIRST_SUPERUSER: ${{ vars.FIRST_SUPERUSER }}
|
|
FIRST_SUPERUSER_PASSWORD: ${{ secrets.FIRST_SUPERUSER_PASSWORD }}
|
|
- name: Deploy to FastAPI Cloud
|
|
run: uv run fastapi deploy
|
|
env:
|
|
FASTAPI_CLOUD_TOKEN: ${{ secrets.FASTAPI_CLOUD_TOKEN }}
|
|
FASTAPI_CLOUD_APP_ID: ${{ secrets.FASTAPI_CLOUD_APP_ID }}
|