name: Deploy Web App to Staging on: workflow_dispatch: push: branches: - main paths-ignore: - "**.md" - "ios/**" concurrency: group: deploy-${{ github.ref }} cancel-in-progress: true env: USE_MATERIAL_KOLOR_SUBMODULE: false jobs: build: name: "Build" runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: submodules: recursive - name: Setup-java uses: actions/setup-java@v4 with: java-version: 17 distribution: adopt - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 - name: Gradle Wrapper Validation uses: gradle/actions/wrapper-validation@v4 - name: Build web app run: ./gradlew wasmJsBrowserDistribution - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: web-app path: app/build/dist/wasmJs/productionExecutable deploy: name: "Deploy to Staging" runs-on: ubuntu-latest needs: - build steps: - name: Checkout uses: actions/checkout@v4 - name: Download build artifacts uses: actions/download-artifact@v4 with: name: web-app path: app/build/dist/wasmJs/productionExecutable - name: Deploy to production uses: FirebaseExtended/action-hosting-deploy@v0 with: repoToken: ${{ secrets.GITHUB_TOKEN }} firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_MATERIALKOLOR }} channelId: staging projectId: materialkolor