mirror of
https://github.com/tiennm99/loto.git
synced 2026-08-31 02:25:35 +00:00
GitHub only runs workflows from .github/workflows at the root, so the six workflows inherited from the two projects have to live there rather than under web/ and android/. Each one gets a path filter so web-only changes do not trigger Android builds, a working directory for its subproject, and a prefixed filename to keep the two sets apart. Gradle now sits at android/android, the Firebase action reads its config from web/ via entryPoint, and the Android checkout no longer needs submodules.
52 lines
1.1 KiB
YAML
52 lines
1.1 KiB
YAML
name: web / deploy to GitHub Pages
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- 'web/**'
|
|
- '.github/workflows/web-deploy-github-pages.yml'
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
pages: write
|
|
id-token: write
|
|
|
|
concurrency:
|
|
group: github-pages
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
defaults:
|
|
run:
|
|
working-directory: web
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
- uses: pnpm/action-setup@v6
|
|
with:
|
|
package_json_file: web/package.json
|
|
- uses: actions/setup-node@v7
|
|
with:
|
|
node-version: '24'
|
|
cache: pnpm
|
|
cache-dependency-path: web/pnpm-lock.yaml
|
|
- run: pnpm install --frozen-lockfile
|
|
- run: pnpm build:gh
|
|
- uses: actions/configure-pages@v6
|
|
- uses: actions/upload-pages-artifact@v5
|
|
with:
|
|
path: web/build
|
|
|
|
deploy:
|
|
needs: build
|
|
runs-on: ubuntu-latest
|
|
environment:
|
|
name: github-pages
|
|
url: ${{ steps.deployment.outputs.page_url }}
|
|
steps:
|
|
- id: deployment
|
|
uses: actions/deploy-pages@v5
|