spotube/.github/workflows/web-vercel.yml
Workflow config file is invalid. Please check your config file: yaml: line 36: could not find expected ':'
IANewCool 2c0cbcdf82 improve(ci): optimize Vercel deploy workflow
- Update Flutter version to 3.29.2 (matches project FVM config)
- Add pub-cache for faster builds
- Auto-create .env file with required variables
- Add security headers (X-Frame-Options, CSRF protection)
- Optimize static asset caching (1 year immutable)
2025-08-11 19:49:47 -04:00

36 lines
1.2 KiB
YAML

name: Deploy Web to Vercel
on:
push:
branches: [develop, main]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Cache pub dependencies
- uses: actions/cache@v3
with:
path: ~/.pub-cache
key: ${{ runner.os }}-pub-${{ hashFiles('pubspec.yaml') }}
restore-keys: ${{ runner.os }}-pub-
- uses: subosito/flutter-action@v2
with: { flutter-version: '3.29.2' }
# Create .env file for build
- run: |
echo "SPOTIFY_SECRETS=dummy_client_id:dummy_client_secret" > .env
echo "LASTFM_API_KEY=dummy_lastfm_key" >> .env
echo "LASTFM_API_SECRET=dummy_lastfm_secret" >> .env
echo "HIDE_DONATIONS=0" >> .env
echo "ENABLE_UPDATE_CHECK=1" >> .env
echo "RELEASE_CHANNEL=nightly" >> .env
echo "DISABLE_SPOTIFY_IMAGES=0" >> .env
- run: flutter pub get
- run: flutter build web --release --dart-define=API_BASE=https://api.tunestream.io
- run: npm i -g vercel
# deploy del directorio estático generado por Flutter
- run: vercel deploy --prod build/web --yes --token ${{ secrets.VERCEL_TOKEN }} --name tunestream-app
YAML < /dev/null