mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 16:05:18 +00:00
Merge pull request #1 from IANewCool/ci/vercel-deploy
ci(web): Vercel deploy (Flutter Web) + SPA rewrites
This commit is contained in:
commit
4b1aee80c7
36
.github/workflows/web-vercel.yml
vendored
Normal file
36
.github/workflows/web-vercel.yml
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
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
|
23
vercel.json
Normal file
23
vercel.json
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"cleanUrls": true,
|
||||
"trailingSlash": false,
|
||||
"rewrites": [{ "source": "/(.*)", "destination": "/index.html" }],
|
||||
"headers": [
|
||||
{
|
||||
"source": "/(.*)",
|
||||
"headers": [
|
||||
{ "key": "X-Frame-Options", "value": "DENY" },
|
||||
{ "key": "X-Content-Type-Options", "value": "nosniff" },
|
||||
{ "key": "Referrer-Policy", "value": "strict-origin-when-cross-origin" },
|
||||
{ "key": "Permissions-Policy", "value": "camera=(), microphone=(), geolocation=()" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"source": "/(.*\\.(js|css|ico|png|jpg|jpeg|gif|svg|woff|woff2|ttf|eot))",
|
||||
"headers": [
|
||||
{ "key": "Cache-Control", "value": "public, max-age=31536000, immutable" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
JSON < /dev/null
|
Loading…
Reference in New Issue
Block a user